Difference between revisions of "IDE Window: Divider Drawing"

From Free Pascal wiki
Jump to navigationJump to search
(Add linked menu navigation breadcrumbs)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
* This page is part of [[IDE_Window:_Editor_Options]]
+
<noinclude>{{IDE Window: Divider Drawing}}<!--- This page may be used as template in other pages ---></noinclude>
  
* You can get this dialog via:
+
== Navigation ==
:: Menu / Environment / Editor options / Divider drawing
 
:: Source editor / popup menu / Options ...
 
<br>
 
  
= Divider Drawing =
+
You can reach this dialog from the Lazarus IDE:
  
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.
+
* [[Main menu|Main Menu]] > [[Main menu#Tools|Tools]] > [[IDE Window: IDE Options Dialog|Options]] > [[IDE Window: Editor Options|Editor]] > Divider drawing
 +
* Source Editor popup context menu > Options... > Editor > Divider drawing.
 +
 
 +
== Divider Drawing ==
 +
 
 +
The source editor draws horizontal dividers between blocks off code 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]].

Latest revision as of 12:27, 15 February 2021

English (en)

Navigation

You can reach this dialog from the Lazarus IDE:

Divider Drawing

The source editor draws horizontal dividers between blocks off code 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