Difference between revisions of "IDE Window: Divider Drawing"

From Free Pascal wiki
Jump to navigationJump to search
Line 1: Line 1:
== Divider Drawing ==
+
* This page is part of [[IDE_Window:_Editor_Options]]
  
This is a page on the options dialog for the source editor.
+
* You can get this dialog via:
 +
:: Menu / Environment / Editor options / Divider drawing
 +
:: Source editor / popup menu / Options ...  
 +
<br>
 +
 
 +
= Divider Drawing =
  
 
The source editor draws horizontal dividers between blocks helping the programmer to quickly see where a block starts and ends. What a block is can be defined in detail for each language and block type.
 
The source editor draws horizontal dividers between blocks helping the programmer to quickly see where a block starts and ends. What a block is can be defined in detail for each language and block type.
  
 
To see see how the editor look with divider drawing enabled, have a look [[New_IDE_features_since#divider_lines_in_editor|here]].
 
To see see how the editor look with divider drawing enabled, have a look [[New_IDE_features_since#divider_lines_in_editor|here]].
 +
 +
Divider lines can be configured on a detailed level.<br>
 +
For example you can choose to have a divider after every top-level procedure/function. (set the level to 1)
 +
Or you can include nested functions up to a desired level. (level >= 2)
 +
 +
You can have dividers after the following logical breaks
 +
*Unit Sections: implementation, interface, initialization, ...
 +
*Uses Clause: In case it gets multi line
 +
*Var/Type: any var/type/const block on top-level (not in a procedure)
 +
*Var/Type(local): any var/type/const inside a procedure
 +
*:::The nest level indicates how deeply the *procedure* is nested (as var blocks can not nest themselves)
 +
*Class/Struct: Class/Record or Object declarations. The nest level is for records defined inside a class.
 +
*Class/Struct(local): same if used inside a type declaration local to a procedure
 +
*Procedure/Function:
 +
*Begin/End: Includes Case/Repeat, but not try/except. The nesting is counted to the containing Procedure
 +
*Try/Except:
 +
 +
Note:
 +
* unfinished blocks (open begin with no end) can fool the highlighter.
 +
* blocks that finish on the same line, on which the opened are ignored

Revision as of 22:13, 19 August 2009

  • You can get this dialog via:
Menu / Environment / Editor options / Divider drawing
Source editor / popup menu / Options ...


Divider Drawing

The source editor draws horizontal dividers between blocks helping the programmer to quickly see where a block starts and ends. What a block is can be defined in detail for each language and block type.

To see see how the editor look with divider drawing enabled, have a look here.

Divider lines can be configured on a detailed level.
For example you can choose to have a divider after every top-level procedure/function. (set the level to 1) Or you can include nested functions up to a desired level. (level >= 2)

You can have dividers after the following logical breaks

  • Unit Sections: implementation, interface, initialization, ...
  • Uses Clause: In case it gets multi line
  • Var/Type: any var/type/const block on top-level (not in a procedure)
  • Var/Type(local): any var/type/const inside a procedure
    The nest level indicates how deeply the *procedure* is nested (as var blocks can not nest themselves)
  • Class/Struct: Class/Record or Object declarations. The nest level is for records defined inside a class.
  • Class/Struct(local): same if used inside a type declaration local to a procedure
  • Procedure/Function:
  • Begin/End: Includes Case/Repeat, but not try/except. The nesting is counted to the containing Procedure
  • Try/Except:

Note:

  • unfinished blocks (open begin with no end) can fool the highlighter.
  • blocks that finish on the same line, on which the opened are ignored