Difference between revisions of "IDE Window: Editor Options"
(→Markup) |
|||
Line 120: | Line 120: | ||
==== Complete blocks ==== | ==== Complete blocks ==== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Display == | == Display == |
Revision as of 01:19, 20 August 2009
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
You can get this dialog via:
- Menu / Environment / Editor options ...
- Source editor / popup menu / Editor properties ...
General
Undo / Redo
Undo after save
Keep the Undo list on save.
Group Undo
When undoing/redoing actions, handle all continuous changes of the same kind in one call instead of undoing/redoing each command separately.
Undo limit
Maximum number of Undo steps.
Scrolling
Scroll past end of file
Allows the cursor to go past the end of file marker.
Scroll by one less
Forces scrolling to be one less line.
Half page scroll
When scrolling with page-up and page-down commands, only scroll a half page at a time.
Indent and Tabs
Auto indent
When inserting new lines (e.g. through pressing Return or Enter key), the editor will indent the caret on the new line with the same amount of leading white space as the preceding line.
This includes "auto un-intend": If the caret is located after the last whitespace of a continuous block of whitespaces at the beginning of a line, then pressing backspace will un-intend. This is done by looking for a start of line (indent) in the line(s) above the current line. For an line containing Whitespaces only (see trim-trailing-space modes) this happens if the caret is at the end of the line.
Smart tabs
When tabbing, the cursor will go to the next non-white space character of the previous line. If the current line is longer than the previous, it will look for a longer line in front.
Tab indents blocks
When active <Tab> and <Shift><Tab> act as block indent, unindent when text is selected.
Tabs to spaces
When editing lines the editor adds spaces instead of tabs. The rest of the lines will not be altered and the tabs are kept. To convert all tabs of a file select the whole file (Ctrl-A) and use Main menu / Edit/ tabs to spaces.
Block indent
Amount of spaces a block is indented. For example with Ctrl+I. See "Tab indent blocks"
Tab widths
Maximum spaces for Tab characters.
Auto indent mode
"Auto indent" can use several ways to indent the new line.
- Spaces: Fill the beginning of the new line with spaces to match the desired position
- Space/Tab: Copy the same mix of spaces and tabs as used in the previous line
- Position only: Do not insert anything, position the caret past the end of line (even if this option is disabled). Spaces will be filled in, if something is typed
Mouse
All mouse settings have been moved to a new page in 0.9.28. Please see here Mouse settings
Cursor
Keep cursor X position
When moving through lines w/o Cursor Past EOL, keeps the X position of the cursor.
Cursor skips selection
When there is a selection and you press the left arrow, the cursor will go to the start of the selection.
Persistent cursor
Keep cursor blinking, even if losing focus. The is needed on some systems, where the focus messages do not work properly.
Right mouse moves caret
This entry no longer exists. Use the mouse configuration instead. IDE_Window:_Editor_Options_Mouse
Always visible cursor
Move cursor to be always visible when scrolling.
Home key jumps to nearest start
home key jumps to line start if nearer, similar to visual studio.
Caret past end of line
Allows the cursor to go past the last character into the white space at the end of a line.
End key jumps to nearest start
End key jumps to visual line end (last none whitespace) if caret is before this point, then to end of line
Misc
Alt-Key sets column mode
This entry no longer exists. Use the mouse configuration instead. IDE_Window:_Editor_Options_Mouse
Show close buttons in notebook
Show a close button on each source editor tab. Not all widgetsets support this. At the moment only the gtk interface.
Show gutter hints
Show hints when mouse is over the gutter (the bar on the left side of the source editor).
Find text at cursor
When invoking the 'Find' dialog, fetch the word at the cursor and put it into the Find field.
Show special characters
Spaces are shown as dots and invalid characters as question marks.
Copy word on copy none
If nothing is selected and user presses Copy (Ctrl-C), the editor selects the word and copy that. Same for cutting.
Trim trailing spaces
Spaces at the end of lines will be trimmed and not saved. This applies only to edited lines.
Trim spaces style
Defines how aggressive spaces are trimmed. SynEdit allows to enter "uncommitted" spaces at the end of line, so you can continue typing as usual. If SynEdit deems those spaces no longer needed it will trim them.
- Leave Line: This is the default, SynEdit will keep all spaces on the line where the caret is. If the caret moves to another lines, spaces are trimmed.
- Line Edited: In Addition to leaving the line Synedit will also remove any space on the right of the caret, if the line is edited. If you type spaces on the end of line, they will be left of the caret and not affected.
- Caret or Edit: This is the most aggressive mode, in addition to "Line Edited" it will also trim Spaces right to the caret, if you move horizontal (Caret-left at the end of line acts similar to backspace)
- Position Only: No spaces or tabs are inserted past the end of line. Only the caret is moved (and forced past EOL). If text is typed, the gap is always filled with spaces.
- This means tabs are lost (converted to space). Hence auto-indent "copy tabs" does not work in this mode
- Because you are "past the EOL", smart unindent does neither work in this mode
In any of those cases spaces you typed at the end of line will not be saved to a file. Read more about trailing spaces
You may want to look at "End key jumps to nearest start". This allows you to keep spaces while editing, yet jump to the visible end of line.
Automatic features
Identifier Completion
Open the identifier completion box after typing a point. Not in string constants and not int comments. You can open the identifier completion box manually at any time with Ctrl+Space.
Auto remove empty methods
Published methods without code are automatically removed on save. For example: When you double click on a form the IDE creates the published method FormCreate. When this is option is enabled and the method is still empty the IDE will remove it when you save the form.
Tooltip symbol Tools
When the mouse moves over an identifier in the source editor and waits a few seconds the IDE will present a hint with some informations.
Complete blocks
Display
Margin and gutter
- Visible right margin - show the right margin line
- Visible gutter - show the left bar
- Show line numbers - show line numbers in the gutter
- Every n-th line number - fine tune the above 'Show line numbers' option
- Right margin color - position in characters
- Gutter separator index - define where the vertical separator line is drawn. A value of 4 means right between gutter and text. -1 means do not draw it at all.
Default editor font
- Font name - Can be as simple as 'courier' or as complicated as '-adobe-courier-medium-r-normal-*-*-140-*-*-*-*-iso10646-1' under gtk/X.
- Editor font height
- Extra line spacing - extra space between lines in pixels.
- Disable anti-aliasing
Key Mappings
Filter
At the top there is an edit field to set a text filter. You can type some letters and the tree will be updated to show only those keys which description contains the word. Set empty to show all.
Tree of IDE shortcuts
Here you can see all commands and shortcuts of the IDE. Click on one of the keys to popup a dialog to edit the shortcut.
Find key combination
Click on the button to show a dialog. Grab a key and press ok. The tree will then only show those keys that start with the shortcut. Select VK_UNKNOWN to show all.
Choose scheme
Load one of the predefined key mappings. This will replace all your shortcuts.
Check consistency
Search for double defined keys.
Mouse
See Mouse settings.
Color
This page allows to edit the syntax highlighters of the IDE. The main syntax highlighter is the Object Pascal highlighter. All other highlighters use those colors as default.
Use syntax highlight
Use colors and styles for different tokens. You can setup the highlighting in the editor options / colors.
Bracket highlighting
If the cursor is behind or in front of a bracket, highlight matching bracket.
Language
Set here the highlighter you want to edit.
Scheme
The IDE has some predefined color schemes - sets of colors. Choose here one you like, then edit the single elements.
File Extensions
You can edit the file extensions for which the IDE uses this highlighter.
Element
This listbox contains all elements of the current highlighter. Choose which to edit. Or click on the preview below to select the element.
Set element to default
Load the default colors for this element from the current highlighter and scheme.
Set all elements to default
Load the default colors for the current highligher and scheme.
Text attributes
Check the 'Use default color' checkboxes to get the color button. Then click on the button to select a custom color.
Automatic Features
Auto remove empty methods
Published methods without code are automatically removed on save. For example: When you double click on a form the IDE creates the published method FormCreate. When this is option is enabled and the method is still empty the IDE will remove it when you save the form.
Tooltip symbol Tools
When the mouse moves over an identifier in the source editor and waits a few seconds the IDE will present a hint with some informations.
Complete blocks
Complete blocks. For example, when you type begin and press return the IDE will automatically add the end;. This feature exists since 0.9.27.
Tooltip expression evaluation
During debugging the tooltip hint will try to evaluate the expression at the cursor.
Delay
Set here the waiting period before the hint pops up.
Markup
There are a couple of options to control the current-word-markup feature. They are on the "Automatic feature" page of the editor option (plus color settings on the color page)
Note: If you have a block selected, the selected block will be used as term to highlight, rather than the word under caret. Some settings are only for block, others only for current-word
1) You can change the time after which highlighting kicks in. You can also disable the Timer completely, in which case you can still toggle Highlighting by Keyboard
2) Toggle by Keyboard (default Alt-M) You can toggle the highlight to any chosen word, or selection by pressing Alt-M while at the word, or while having selected the desired block. Pressing Alt-M again will set the "fixed" word to the word at your new location. To untoggle, press Alt-M twice at the same location (The exact behaviour is: If your current selected block, or (if no block selected) the current word under cursor is the same term as the word you toggled-fixed, this will clear the fixed word. Otherwise the fixed word will be set)
3) You can ignore Keywords. This is a hardcoded list of Keywords, and will ignore them even if they are used in a context where they would not be seen as Keyword. The list comes from the highlighter, so this only works together with the highlighter.
4) for current-word only: You can choose to only highlight exact matches(match word boundaries) instead of any occurrence including occurrences in other words. By Default this applies to words shorter than 3 chars.
For example: Set option to true and field to 3.
If the word at caret is the 3 letter word 'laz' then all 'laz' will be marked, but not 'lazarus' or 'blaz'.
If the word at caret is the 4 letter word 'laza' then all words including 'laza' will be marked, such as 'lazarus'.
5) blocks only:
by default leading/trailing spaces are ignored/stripped from the search term
To disable the feature completely: Set all colors (FG,. BG and Frame) to default (check the tickbox); make sure no Styles (bold, italic) are selected.
This will be recognized, and the Editor is clever enough and will not even trigger the search for other words.
Bracket Highlight
If the cursor is behind or in front of a bracket, highlight matching bracket
Code folding
Define which constructs in your source can be folded. See Code Folding
Divider Draw Level
- Lazarus 0.9.26
- This option will draw a horizontal line based on the code folding level you specified.
- Example:
- If you set this option to 1, the editor will draw a horizontal divider line in the editor after the 'end' keyword of each method. This is very handy if you want a visual cue where methods start and end.
- If you set this option to 2, it will draw another horizontal line after the 'end' keyword of any nested begin..end block inside methods.
- The higher you set the value the more nested begin..end blocks will be included.
- Lazarus 0.9.28
Allows to draw a vertical line at the end of selected structures. E.g draw a line after each procedure. See Divider drawing