TH3-Code Collapse » History » Version 5
Wil van Antwerpen, 06/01/2019 10:59 PM
1 | 1 | Wil van Antwerpen | # Code Collapse |
---|---|---|---|
2 | 1 | Wil van Antwerpen | |
3 | 1 | Wil van Antwerpen | The Hammer 3.0 is based on the scintilla control and as such it wasn't too hard to add code collapse specifically for the DataFlex language. |
4 | 1 | Wil van Antwerpen | This is one of those features that you don't miss until you actually have it. |
5 | 1 | Wil van Antwerpen | |
6 | 4 | Wil van Antwerpen | ## How does it work? |
7 | 4 | Wil van Antwerpen | |
8 | 2 | Wil van Antwerpen | You get to see a (-) symbol in front of the line of code that can be collapsed. |
9 | 2 | Wil van Antwerpen | If you click that (-) symbol it will collapse a block of code into one line and the symbol will change into a (+) symbol. |
10 | 1 | Wil van Antwerpen | |
11 | 4 | Wil van Antwerpen | ## Supported collapse features |
12 | 2 | Wil van Antwerpen | Currently the following scope keywords automatically support the code collapse feature: |
13 | 2 | Wil van Antwerpen | |
14 | 1 | Wil van Antwerpen | * begin / end code blocks |
15 | 1 | Wil van Antwerpen | * object / end_object |
16 | 1 | Wil van Antwerpen | * class / end_class |
17 | 1 | Wil van Antwerpen | * procedure / end_procedure |
18 | 1 | Wil van Antwerpen | * function / end_function |
19 | 1 | Wil van Antwerpen | * while / loop |
20 | 1 | Wil van Antwerpen | * case begin / case end |
21 | 1 | Wil van Antwerpen | * type / end_type |
22 | 1 | Wil van Antwerpen | * struct / end_struct |
23 | 2 | Wil van Antwerpen | * #COMMAND / #ENDCOMMAND |
24 | 4 | Wil van Antwerpen | * comments (see below) |
25 | 1 | Wil van Antwerpen | * section metatags (see below) |
26 | 2 | Wil van Antwerpen | |
27 | 2 | Wil van Antwerpen | ## comments |
28 | 2 | Wil van Antwerpen | |
29 | 2 | Wil van Antwerpen | If you have multiple lines of comments then you can collapse those lines to one line by clicking on the (+) symbol in front of the line. |
30 | 1 | Wil van Antwerpen | |
31 | 1 | Wil van Antwerpen | ## section metatags |
32 | 1 | Wil van Antwerpen | |
33 | 1 | Wil van Antwerpen | If you want to be able to collapse a whole bunch of code so that you can quickly hide specific parts of code then use the section metatag collapse feature. |
34 | 1 | Wil van Antwerpen | |
35 | 1 | Wil van Antwerpen | It works as follows: |
36 | 1 | Wil van Antwerpen | |
37 | 1 | Wil van Antwerpen | ~~~ |
38 | 1 | Wil van Antwerpen | { #CodeSection YourSection } |
39 | 1 | Wil van Antwerpen | .... your code |
40 | 1 | Wil van Antwerpen | { #CodeSection YourSection } |
41 | 1 | Wil van Antwerpen | ~~~ |
42 | 1 | Wil van Antwerpen | |
43 | 1 | Wil van Antwerpen | This then looks as follows: |
44 | 1 | Wil van Antwerpen | |
45 | 1 | Wil van Antwerpen | <insert screenshot here> |
46 | 1 | Wil van Antwerpen | |
47 | 1 | Wil van Antwerpen | ## compiler listfiles |
48 | 1 | Wil van Antwerpen | |
49 | 1 | Wil van Antwerpen | This one is pretty useful and not one you would think of immediately. |
50 | 1 | Wil van Antwerpen | |
51 | 1 | Wil van Antwerpen | If you have a .prn/.prp file then you actually have code collapse in there as well (was broken, just fixed 2019-05-17) |
52 | 1 | Wil van Antwerpen | |
53 | 1 | Wil van Antwerpen | It can really be a drag having to plough through all that code. Being able to use code collapse in here does help quite a bit. |
54 | 4 | Wil van Antwerpen | |
55 | 4 | Wil van Antwerpen | ## Collapse options via context menu |
56 | 4 | Wil van Antwerpen | |
57 | 5 | Wil van Antwerpen | If you right click then under menu item "scope blocks" there is a way to quickly collapse or expand a code collapse feature for the current text. |
58 | 4 | Wil van Antwerpen | For example you can collapse ALL comments in your file. |
59 | 4 | Wil van Antwerpen | |
60 | 4 | Wil van Antwerpen | The following options can be collapsed/expanded for the full source in one go are: |
61 | 4 | Wil van Antwerpen | |
62 | 4 | Wil van Antwerpen | * All scopes |
63 | 4 | Wil van Antwerpen | * Procedures |
64 | 4 | Wil van Antwerpen | * Functions |
65 | 4 | Wil van Antwerpen | * Objects |
66 | 4 | Wil van Antwerpen | * Classes |
67 | 4 | Wil van Antwerpen | * Line Comments |