December 2004

CodeEditor

  

        MainIndex

   

Introduction

This chapter describes only the general aspects of the code-editor. For some code-editors, like Batch and the High-Level-languages JAL,PICbsc and XCSB the code-editor has a lot more features, see the inidividual chapters.

  

   

Todo

 

 

Special Keys

Some keys has changed, compared to versions prior to V1.0. The most important changes are

 

F3

Shift+F3

Find Next (from search buffer)

shift-F3 = Find Previous

F4

Shift+F4

Find Next from word under cursor

shift+F4 = Find Previous

This is very handy, when tracing code in the High-Level-language <--> assembler listing.

F7

Toggle template window visibility

F8

Jump to next field (mainly from template insertion)

 

 

Searching

You can either search in the active document or within documents in a specified directory. For JAL files you can also search all files in the active project.


          


When searching multiple files, you can (de-)select files afterwards. Double-clicking on a found result, will jump to the selected position in the selected file.

              



Block Selection

By holding the Alt-key, you can select a non-zero based block with the left-mouse button. This block can be paste, cut and copied.

  

       

 

 

Bookmarks

  

Bookmarks are used to jump fast from one position in the current file to another position in the current file (The special code-editors can jump through bookmarks to other files and also saves the bookmarks positions).

 

The default keys for Bookmarks are

Ctrl + Shift + <0..9>    set/clear Bookmark <0..9>

Ctrl + <0..9>               jump to Bookmark <0..9>

  

 

 

Autocompletion & Macros

(Syncompletionproposal heeft 2-SM-wijzigingen !!

cthint+ctparams not ok !!)

There a number of ways to automate the typing of code. In JALcc, all except one (JALcc-macros), will change the text immediatly. JALcc-macros don't change the text directly, but are used in a preprocessor, between visible screen and file. In fact JALcc-macros cann be seen as inline dynamically changeable procedures or functions.

The following (direct) completion/substitution mechanisms are available:

1. Autocompletion while you're type

2. Shortcut-strings, can evaluate to complete textblocks

3. Ctrl+Alt+<char> substitution

4. Template Insertion

  

AutoCompletion by Proposal

This functionality can be turned on/off.

As soon as the first letter of a new word is entered, autocompletion generates and shows a popup, with all words(sentences) of which the first part matches the typed word. Selection of the right word is done either by selected a word from the list or by typing more letters, until there's just one word left in the list. After selection, the word (or sentence) is inserted in the text.

With the ESC key you can explicitly hide the list of matches. If the list contains no matches it hides itself.

The list of words / sentences can be fully edited by the user.

   

 

after pressing enter:  

   

It's important that the most common used words are also the topmost words.

 

   

If no matches occure, no popup list is shown:

 

  

  

Complete sentences can be inserted

Editing the Autocompletion strings ..

  

 

String Macros

Shortcut strings can replace a few letters, with a complete text

Typing a few (user specified) letters, in this example

 

followed by a Shift+Enter,

"pi" will be replaced by the text on the right.

The template can also specify where the cursor should be placed after insertion, in this case at the position where the interrupt completion code should be inserted.

The list can be fully controlled by the user.

This feature can be turned on /off.

Editing the shortcut strings ...

  

 

Ctrl + Alt + <char>

With the Ctrl+Alt+<char> macro you can insert complete blocks of formatted code, which can contains "fields" that can easily stepped through by the F10-key.

On the right you can see the result just after the substitution is done, the cursor starts at the first field "number", you can start right away typing the correct letters, which will replace "number" (including the double-quotes).

There's an equal substitution list for Shift+Ctrl+Alt+<char>.

Editing the Ctrl-Alt-lists ...

  

 

Template Insertion

The visibility of templist is controlled by F7-key.

After clicking on an item in the template list, the following text (with fields) could be generated:

   

The template list is completely defined by the user.

For instance you could also add the often used procedures to this list.


Editing of the template list is done with the same highlighter as used in the normal code editor. There are a few special markups used:

Defining a new item which will show up in the list as "<some text>

  • |description <some text>

Inserting a new column (only that 1 character may be on the line)

  • |

Inserting a horizontal line (only that 1 character may be on the line)

  • -

Fields are identified by enclosing word(s) in single quotes

  • 'this is a field'

   

  

 

 

 

 

Printing

You can either print the whole file or the selected part. When printing, the general background color is removed.

If the printed file is the main-language file, there are some extra possibilities to include some project information.

  

   

 

Page Setup gives the possibilities to define marges, headers and footers.

These page settings are stored in the inifile and only yields for the code-editor.

  

   

 

Insertion of the special items (title, date etc) can be done by the speedbuttons at the top.

  

   

 

The printer dialog doesn't support page selection (there's no real need for, because most code files are relative small and there also exists the possibility to print the selected text only).

  

   

 

 

Print Preview

The rendering of the preview is printer dependant, therefor the selected printer and papersize is displayed at the top.

Only 2 zoomfactors are available: full-page and full-pagewidth.

The following keys/mouse actions are implemented:

Not implemented (yet ?) are

 

   

 

 

   

Editor Templates

The templates overview serves two purposes

  • Showing all the language statements, with their correct syntax and textpositioning
  • Insertion of the statements by simply double-clicking

After double-clicking the third if-statement, the editor will look like this. The first field is automatic selected and you can right start to fill in the condition (or even put in another language statement)

With F8 you can jump to the next insertion field.

The visibility of the templates window can be toggled by F7.

If you don't like (or don't need) the templates, you can simply change all of it and use it for some other purposes.

See template_editing ...