Knowledge (XXG)

Code folding

Source πŸ“

215:
of code, easily navigating and rearranging it, and to drill down into more detail as needed, without being distracted by other code. Viewing-wise, this allows one to quickly see a list of all functions (without their bodies), while navigation-wise this replaces extensive paging past long functions – or searching for the target – with going directly to the next function.
38: 718:
There are various mechanisms, coarsely divided as automatic and manual – do they require any specification by the programmer? Folding points are usually determined with one or more of the following mechanisms. Each of these has its own distinct advantages and difficulties, and it is essentially up to
551:
If there are many such fields, the result can easily be hundreds of lines of code with very little "interesting" content – code folding can reduce this to a single line per field, or even to a single line for all fields. Further, if all routine fields are folded, but non-routine fields (where getter
214:
Most basically, applications use code folding to outline source code, collapsing each block to a single line. This can be only top-level blocks like functions and classes, nested blocks like nested functions and methods, or all blocks, notably control-flow blocks. This allows one to get an overview
834:
User-specified folding allows the user to fold sections of text using a generic selection method, but without changing the source code (out-of-band), instead being specified only in the editor. For example, a programmer may select some lines of text and specify that they should be folded. Folded
679:
in structured programming, one generally acquires a resource, followed by a block of code using the resource, and finishing with releasing the resource. The acquisition/release pairing is hard to see if there is a long block of code in between, but easy to see if the intervening block is folded.
674:
consists of nested blocks of code, and long blocks of code – such as long switch statements – can obscure the overall structure. Code folding allows one to see the overall structure and expand to a specific level. Further, in some uses, particularly strict structured programming (single function
825:
Token-based folding requires in-band signalling, with folding tokens essentially being structured comments, and unlike other methods, are present in the source code and visible to other programmers. This allows them to be shared, but also requires their use (or preservation) by all programmers
744:
Indentation-based folding points are generally specified by the position and sequence of non-printing whitespace, such as tabs and spaces, within the text. This is most often used as a simple form of syntax-based folding, as indentation almost always reflects nesting level in
663:. Code folding allows one to have long comments, but to display them only when required. In cases where a long comment has a single summary line, such as Python docstrings, the summary can still be displayed when the section is collapsed, allowing a summary/detailed view. 67:
that allows the user to selectively hide ("fold") or display ("unfold") parts of a document. This allows the user to manage large amounts of text while viewing only those subsections that are currently of interest. It is typically used with documents which have a natural
714:
In order to support code folding, the text editor must provide a mechanism for identifying "folding points" within a text file. Some text editors provide this mechanism automatically, while others provide defaults that can either be overridden or augmented by the user.
727:
Syntax-dependent folding points are those that rely on the content of the file being edited in order to specify where specific folding regions should begin and end. Syntax-based folding points are typically defined around any or all of the standard sub-features of the
776:
that serve no other purpose in the text than to identify the boundaries of folding points. This convention can be compared to indentation-based folding points, where printable characters are used instead of whitespace. The most common delimiter tokens are
692:
Fold groups can be used to group code, either by explicit grouping – similar to comment blocks separating a module into sections, or class members into associated groups – or implicitly, such as by automatically grouping class members by access level.
835:
text might be anonymous or named, and this may be preserved across editing sessions or discarded. Unlike token-based folding, this does not change the source text – it thus is not shared with other editors of the file, and is not visible in the code.
883:. STET is a text editor (for documentation, programs, etc.) which folds files on the basis of blocks of lines; any block of lines can be folded and replaced by a name line (which in turn can be part of a block which itself can then be folded). 719:
the developers who create the text editor software to decide which to implement. Text editors that provide support for multiple folding mechanisms typically allow the user to choose which is most appropriate for the file being edited.
650:
Comments are a form of human-readable metadata, and lengthy comments can disrupt the flow of code. This can be the case either for a long comment for a short section of code, such as a paragraph to explain one line, or comments for
822:
As a manual method, token-based folding allows discretion in grouping code based on arbitrary criteria, such as "functions related to a given task", which cannot be inferred from syntactic analysis.
560:
Metadata can be lengthy, and is generally less important than the data it is describing. Collapsing metadata allows one to primarily focus on the data, not the metadata. For example, a long list of
701:
Legacy code – or any code that a developer does not wish to view or change at a given point in time – can be folded away so that programmers can concentrate on the code under consideration.
2158:"Now, this is interesting, because I tend to use #region more to HIDE THE CRAP (XML documentation etc, long list of attributes etc.) making it easier to see the important code…" 736:
in use. These are desirable due to being automatic and agreeing with code structure, but may require significant work to implement, and time to compute when editing a file.
2181:
Transputer research and applications, 2 : NATUG-2, proceedings of the Second Conference of the North American Transputer Users Group, October 18-19, 1989, Durham, NC
2212: 2057:
Simon Gauvin, Omid Banyasad, "Transparency, holophrasting, and automatic layout applied to control structures for visual dataflow programming languages", in
186:
mainframes, which could hide lines based on their indentation. It displayed on character-mapped 3270 terminals. It was very useful for prolix languages like
760:
and text files that require indentation as a rule by themselves. However, even in these cases, structure does not exactly agree with indent, such as in
2165: 1978:
library in the corresponding language-specific modes, and possibly in other modes for particular syntaxes. Sometimes, the standard simple
927: 890: 206:, primarily organizing code or hiding less useful information so one can focus on more important information. Common patterns follow. 116: 95:
for code folding in a sidebar, indicated for example by a triangle that points sideways (if collapsed) or down (if expanded), or by a
1934: 227:. This results in extremely long code, which can obscure the main point. Further, substantive code can be lost in the boilerplate. 897: 676: 230:
For example, in Java a single private field with a getter and setter requires at least 3 lines, if each is on a separate line:
1974: 2314: 2188: 565: 552:
or setter is not just returning or assigning a private field) are not folded, it becomes easier to see the substantive code.
327:
This expands to 10 lines with conventional function line breaks and spacing between functions (including trailing newline):
2366: 1731: 757: 2345: 1983: 1822: 1818: 1698: 887: 182:. Probably the first widely available folding editor was the 1974 Structured Programming Facility (SPF) editor for 64: 2296: 1906: 1868: 1420: 816: 812: 809: 652: 2157: 1046: 912: 671: 137:
is a similar feature used on ordinary text, where the nested elements consist of paragraphs, sections, or
1962: 561: 179: 131:, or be specified explicitly using an in-band marker (saved as part of the source code) or out-of-band. 2254: 2361: 733: 120: 1784: 675:
exit), there are code patterns that are hard to see when looking at expanded code. For example, in
2206: 1751: 1629: 1534: 1382: 1196: 1008: 908: 872: 203: 112: 2179:
North American Transputer Users Group. Conference (2nd : 1989 : Durham, N.C.) (1990).
1968: 2308: 2194: 2184: 1746: 1591: 1344: 1177: 916: 761: 128: 124: 92: 46: 1766: 1848: 1771: 224: 31: 1477: 1828: 904: 729: 167: 1928: 805: 800: 795: 790: 660: 1917: 880: 183: 150: 142: 138: 85: 69: 2355: 1789: 1721: 1610: 753: 1891:
function in Emacs to hide lines based on the indentation level, as suggested in the
900:. The "f" editor (in list below) probably is the most intact legacy from this work. 1997: 1158: 1103: 1065: 746: 1458: 2292: 1761: 1736: 1667: 850:
Heading 1 {{{ Body }}} Heading 2 {{{ Body }}} Heading 3 {{{ Body }}}
108: 2329: 1922: 1892: 2120: 2096: 1939: 1496: 160: 17: 1860: 826:
working on a particular file, and can cause friction and maintenance burden.
2198: 2011: 1725: 1713: 1572: 1122: 773: 163:
and is used to structure a binary file or hide inaccessible data sections.
2341: 2227: 1990:
for properly indented HTML. Several folding mechanisms are unified by the
1992: 1987: 1948: 1794: 1779: 1553: 1439: 1251: 146: 1912: 1874: 1704:
Author-it enterprise authoring and component content management software
853:
When loaded into a folding editor, the outline structure will be shown:
37: 1957: 1953: 1831:, a similar UI technique applied to hierarchical lists rather than text 1084: 656: 2028:
function may be used to hide lines indented beyond a specified amount.
919:
product Frontier is a scripting environment that has this capability.
72:
consisting of nested elements. Other names for these features include
2183:. Board, John A., Duke University. Amsterdam: IOS Press. p. 85. 1741: 1401: 1027: 989: 876: 756:, so the structure largely agrees with the indent. Examples include 2334: 1800: 1648: 1515: 1363: 1306: 1287: 1232: 752:
This convention is particularly suitable to syntaxes that have an
187: 36: 2097:"The Mother of All Demos, presented by Douglas Engelbart (1968)" 2009:
Folding of user-selected regions in Emacs is implemented by the
1325: 953: 191: 190:. It evolved into the Interactive System Productivity Facility ( 2059:
Proceedings of the 2006 ACM symposium on Software visualization
2037:
STET may have been the first text editor that supported folding
1755: 178:
The earliest known example of code folding in an editor is in
42: 1982:
minor mode is used to simulate syntax-based folding, cf. the
170:, to select one version or another, or only the differences. 2258: 684:, secondary blocks may be far from the condition statement. 667:
Showing structure or sandwich code in structured programming
432:* Property <code>name</code> readable/writable. 856:
Heading 1 {{{ ... Heading 2 {{{ ... Heading 3 {{{ ...
2071: 2282:, Vol 31, No. 1, 1987, IBM Reprint order number G322-0151 1849:
http://flight-manual.atom.io/using-atom/sections/folding/
2228:"INMOS Technical Note 03 - Getting started with the TDS" 1926:
minor mode for some programming languages; also, by the
1986:
of it in properly indented Emacs Lisp source code, the
772:
Token-based folding points are specified using special
2303:– criticism of code folding, detailed comments on use. 926:
or semantics-based folding is now a component of many
922:
Folding is provided by many modern text editors, and
424:
Documentation with Javadoc expands this to 20 lines:
27:
Tool of editors for programming, scripting and markup
495:* Setter for property <code>name</code>. 459:* Getter for property <code>name</code> 764:, and thus syntax-dependent folding is preferred. 88:, the feature is called "collapsible outlining". 843:The following document contains folding tokens ( 2278:LEXX – A programmable structured editor 863:marks makes the appropriate body text appear. 223:Some languages or libraries require extensive 119:. The folding structure typically follows the 1904:Syntax-dependent folding is supported by the 1825:article for more editors that support folding 8: 1803:(however its folding is effected by scripts) 2211:: CS1 maint: numeric names: authors list ( 2072:"HxD - Freeware Hex Editor and Disk Editor" 1878:minor modes for sectioning program sources. 98:box for collapsible (expanded) text, and a 1859:Token-based folding is implemented by the 932: 898:Inmos Transputer Development System (TDS) 819:, though they do not affect compilation. 1988:use of it (see near the end of the page) 871:One of the earliest folding editors was 2280:IBM Journal of Research and Development 2050: 1841: 2306: 2204: 2143: 907:computer historically had a number of 749:for structured programming languages. 568:may be manually collapsed as follows: 127:. It may also be defined by levels of 867:Software with code folding capability 815:. These are treated syntactically as 101:box for expandable (collapsed) text. 7: 2119:Saint-flour, Gilbert (25 Jun 1998). 911:that "folded" portions of code via " 680:Similarly, in conditional code like 166:Folding is also frequently used in 25: 2342:Description of the folding editor 2168:from the original on Aug 6, 2020. 928:software development environments 886:A folding editor appeared in the 781:to begin the folded section, and 141:. Programs offering this include 923: 608:The resulting code displays as: 2297:"The Problem With Code Folding" 123:of the program defined by the 1: 2162:The Problem With Code Folding 91:Many user interfaces provide 2164:. Coding Horror Discussion. 1916:modes for special dedicated 879:operating system in 1977 by 875:, an editor written for the 705:Hiding in-source data tables 896:1983, which was called the 2383: 2313:: CS1 maint: postscript ( 1823:Comparison of text editors 1707:f (alias xf, Winf, Winf32) 29: 2330:What is a folding editor? 788:Another notable token is 202:Code folding has various 65:graphical user interfaces 859:Usually clicking on the 653:documentation generators 610: 570: 426: 329: 232: 41:Code folding example on 30:Not to be confused with 810:Microsoft Visual Studio 806:Visual Basic directives 219:Hiding boilerplate code 63:, is a feature of some 2226:Cormie, David (1986). 2156:Rob (March 19, 2014). 2095:Marcel (Jul 9, 2012), 1944:(a component of CEDET) 1940:syntaxes supported by 1893:Universal code folding 672:Structured programming 49: 2332:by the author of the 2026:set_selective_display 1996:interface. See also 1889:set-selective-display 1252:EmEditor Professional 40: 2367:Text editor features 1929:semantic-tag-folding 1819:Programming features 1797:(since version 3.30) 734:programming language 1932:minor mode and the 1866:. One can also use 1785:The Hessling Editor 1710:Folding Text Editor 930:. Editors include: 909:source code editors 817:compiler directives 677:resource management 646:Collapsing comments 556:Collapsing metadata 113:source code editors 74:expand and collapse 59:, or less commonly 1920:-syntaxes; by the 1718:GridinSoft Notepad 1630:Visual Studio Code 697:Hiding legacy code 573:#region Attributes 93:disclosure widgets 50: 1998:CategoryHideStuff 1969:sgml-fold-element 1701:-optimized editor 1685: 1684: 1270:FlashDevelop IDE 917:UserLand Software 915:triangles". The 762:line continuation 740:Indentation-based 661:XML Documentation 159:is found in some 125:computer language 16:(Redirected from 2374: 2337: 2318: 2312: 2304: 2283: 2276: 2270: 2269: 2267: 2266: 2257:. Archived from 2251: 2245: 2244: 2242: 2241: 2232: 2223: 2217: 2216: 2210: 2202: 2176: 2170: 2169: 2153: 2147: 2141: 2135: 2134: 2132: 2131: 2116: 2110: 2109: 2108: 2107: 2092: 2086: 2085: 2083: 2082: 2068: 2062: 2055: 2038: 2035: 2029: 2027: 2022: 2016: 2014: 2012:hide-region-hide 2007: 2001: 1971: 1946:, as well as by 1937: 1935:senator-fold-tag 1902: 1896: 1890: 1887:One can use the 1885: 1879: 1857: 1851: 1846: 1754:(editor for the 1421:MS Visual Studio 1104:Code::Blocks IDE 933: 862: 846: 803: 798:), respectively 793: 784: 780: 723:Syntax-dependent 683: 682:if...then...else 641: 638: 635: 632: 629: 626: 623: 620: 617: 614: 604: 601: 598: 595: 592: 589: 586: 583: 580: 577: 574: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 508: 505: 502: 499: 496: 493: 490: 487: 484: 481: 478: 475: 472: 469: 466: 463: 460: 457: 454: 451: 448: 445: 442: 439: 436: 433: 430: 420: 417: 414: 411: 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 369: 366: 363: 360: 357: 354: 351: 348: 345: 342: 339: 336: 333: 323: 320: 317: 314: 311: 308: 305: 302: 299: 296: 293: 290: 287: 284: 281: 278: 275: 272: 269: 266: 263: 260: 257: 254: 251: 248: 245: 242: 239: 236: 225:boilerplate code 100: 97: 32:Constant folding 21: 2382: 2381: 2377: 2376: 2375: 2373: 2372: 2371: 2352: 2351: 2333: 2326: 2321: 2305: 2291: 2287: 2286: 2277: 2273: 2264: 2262: 2255:"Outliners.com" 2253: 2252: 2248: 2239: 2237: 2230: 2225: 2224: 2220: 2203: 2191: 2178: 2177: 2173: 2155: 2154: 2150: 2142: 2138: 2129: 2127: 2118: 2117: 2113: 2105: 2103: 2094: 2093: 2089: 2080: 2078: 2070: 2069: 2065: 2056: 2052: 2047: 2042: 2041: 2036: 2032: 2025: 2023: 2019: 2010: 2008: 2004: 1967: 1933: 1903: 1899: 1888: 1886: 1882: 1858: 1854: 1847: 1843: 1838: 1829:Accordion (GUI) 1821:section of the 1814: 1809: 1693: 1687: 869: 860: 857: 851: 844: 841: 832: 799: 789: 782: 778: 770: 742: 730:markup language 725: 712: 707: 699: 690: 681: 669: 648: 643: 642: 639: 636: 633: 630: 627: 624: 622:ContentTemplate 621: 618: 615: 612: 606: 605: 602: 599: 596: 593: 590: 587: 585:ContentTemplate 584: 581: 578: 575: 572: 558: 549: 548: 545: 542: 539: 536: 533: 530: 527: 524: 521: 518: 515: 512: 509: 506: 503: 500: 497: 494: 491: 488: 485: 482: 479: 476: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 443: 440: 437: 434: 431: 428: 422: 421: 418: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 382: 379: 376: 373: 370: 367: 364: 361: 358: 355: 352: 349: 346: 343: 340: 337: 334: 331: 325: 324: 321: 318: 315: 312: 309: 306: 303: 300: 297: 294: 291: 288: 285: 282: 279: 276: 273: 270: 267: 264: 261: 258: 255: 252: 249: 246: 243: 240: 237: 234: 221: 212: 200: 176: 168:data comparison 151:word processors 143:folding editors 99: 96: 35: 28: 23: 22: 15: 12: 11: 5: 2380: 2378: 2370: 2369: 2364: 2354: 2353: 2350: 2349: 2339: 2325: 2324:External links 2322: 2320: 2319: 2295:(6 Jul 2008). 2288: 2285: 2284: 2271: 2246: 2235:transputer.net 2218: 2189: 2171: 2148: 2136: 2121:"ISPF history" 2111: 2087: 2063: 2049: 2048: 2046: 2043: 2040: 2039: 2030: 2017: 2002: 1897: 1880: 1852: 1840: 1839: 1837: 1834: 1833: 1832: 1826: 1813: 1810: 1808: 1807: 1804: 1798: 1792: 1787: 1782: 1777: 1776:RJ Text Editor 1774: 1769: 1764: 1759: 1749: 1744: 1739: 1734: 1729: 1719: 1716: 1711: 1708: 1705: 1702: 1694: 1692: 1689: 1683: 1682: 1679: 1676: 1673: 1670: 1664: 1663: 1660: 1657: 1654: 1651: 1645: 1644: 1641: 1638: 1635: 1632: 1626: 1625: 1622: 1619: 1616: 1613: 1607: 1606: 1603: 1600: 1597: 1594: 1588: 1587: 1584: 1581: 1578: 1575: 1569: 1568: 1565: 1562: 1559: 1556: 1550: 1549: 1546: 1543: 1540: 1537: 1531: 1530: 1527: 1524: 1521: 1518: 1512: 1511: 1508: 1505: 1502: 1499: 1493: 1492: 1489: 1486: 1483: 1480: 1478:NuSphere PHPEd 1474: 1473: 1470: 1467: 1464: 1461: 1455: 1454: 1451: 1448: 1445: 1442: 1436: 1435: 1432: 1429: 1426: 1423: 1417: 1416: 1413: 1410: 1407: 1404: 1398: 1397: 1394: 1391: 1388: 1385: 1379: 1378: 1375: 1372: 1369: 1366: 1360: 1359: 1356: 1353: 1350: 1347: 1341: 1340: 1337: 1334: 1331: 1328: 1322: 1321: 1318: 1315: 1312: 1309: 1303: 1302: 1299: 1296: 1293: 1290: 1284: 1283: 1280: 1277: 1274: 1271: 1267: 1266: 1263: 1260: 1257: 1254: 1248: 1247: 1244: 1241: 1238: 1235: 1229: 1228: 1225: 1222: 1219: 1216: 1212: 1211: 1208: 1205: 1202: 1199: 1193: 1192: 1189: 1186: 1183: 1180: 1174: 1173: 1170: 1167: 1164: 1161: 1155: 1154: 1151: 1148: 1145: 1142: 1138: 1137: 1134: 1131: 1128: 1125: 1119: 1118: 1115: 1112: 1109: 1106: 1100: 1099: 1096: 1093: 1090: 1087: 1081: 1080: 1077: 1074: 1071: 1068: 1062: 1061: 1058: 1055: 1052: 1049: 1043: 1042: 1039: 1036: 1033: 1030: 1024: 1023: 1020: 1017: 1014: 1011: 1005: 1004: 1001: 998: 995: 992: 986: 985: 982: 979: 976: 973: 969: 968: 965: 962: 959: 956: 950: 949: 946: 943: 940: 937: 881:Mike Cowlishaw 868: 865: 855: 849: 840: 837: 831: 830:User-specified 828: 769: 766: 741: 738: 724: 721: 711: 708: 706: 703: 698: 695: 689: 686: 668: 665: 647: 644: 611: 571: 557: 554: 427: 330: 233: 220: 217: 211: 208: 199: 196: 175: 172: 139:outline levels 86:Microsoft Word 70:tree structure 26: 24: 18:Folding editor 14: 13: 10: 9: 6: 4: 3: 2: 2379: 2368: 2365: 2363: 2360: 2359: 2357: 2347: 2343: 2340: 2336: 2331: 2328: 2327: 2323: 2316: 2310: 2302: 2301:Coding Horror 2298: 2294: 2290: 2289: 2281: 2275: 2272: 2261:on 2006-12-23 2260: 2256: 2250: 2247: 2236: 2229: 2222: 2219: 2214: 2208: 2200: 2196: 2192: 2186: 2182: 2175: 2172: 2167: 2163: 2159: 2152: 2149: 2145: 2140: 2137: 2126: 2122: 2115: 2112: 2102: 2098: 2091: 2088: 2077: 2073: 2067: 2064: 2060: 2054: 2051: 2044: 2034: 2031: 2021: 2018: 2013: 2006: 2003: 1999: 1995: 1994: 1989: 1985: 1981: 1977: 1976: 1970: 1965: 1964: 1963:TeX-fold-mode 1960:comments, by 1959: 1955: 1951: 1950: 1945: 1943: 1936: 1931: 1930: 1925: 1924: 1919: 1915: 1914: 1909: 1908: 1901: 1898: 1894: 1884: 1881: 1877: 1876: 1871: 1870: 1865: 1863: 1856: 1853: 1850: 1845: 1842: 1835: 1830: 1827: 1824: 1820: 1816: 1815: 1811: 1805: 1802: 1799: 1796: 1793: 1791: 1790:Visual Studio 1788: 1786: 1783: 1781: 1778: 1775: 1773: 1770: 1768: 1765: 1763: 1760: 1757: 1753: 1750: 1748: 1745: 1743: 1740: 1738: 1735: 1733: 1730: 1727: 1723: 1722:IntelliJ IDEA 1720: 1717: 1715: 1712: 1709: 1706: 1703: 1700: 1696: 1695: 1691:Other editors 1690: 1688: 1680: 1677: 1674: 1671: 1669: 1666: 1665: 1661: 1658: 1655: 1652: 1650: 1647: 1646: 1642: 1639: 1636: 1633: 1631: 1628: 1627: 1623: 1620: 1617: 1614: 1612: 1611:Visual Expert 1609: 1608: 1604: 1601: 1598: 1595: 1593: 1590: 1589: 1585: 1582: 1579: 1576: 1574: 1571: 1570: 1566: 1563: 1560: 1557: 1555: 1552: 1551: 1547: 1544: 1541: 1538: 1536: 1533: 1532: 1528: 1525: 1522: 1519: 1517: 1514: 1513: 1509: 1506: 1503: 1500: 1498: 1495: 1494: 1490: 1487: 1484: 1481: 1479: 1476: 1475: 1471: 1468: 1465: 1462: 1460: 1457: 1456: 1452: 1449: 1446: 1443: 1441: 1438: 1437: 1433: 1430: 1427: 1424: 1422: 1419: 1418: 1414: 1411: 1408: 1405: 1403: 1400: 1399: 1395: 1392: 1389: 1386: 1384: 1381: 1380: 1376: 1373: 1370: 1367: 1365: 1362: 1361: 1357: 1354: 1351: 1348: 1346: 1343: 1342: 1338: 1335: 1332: 1329: 1327: 1324: 1323: 1319: 1316: 1313: 1310: 1308: 1305: 1304: 1300: 1297: 1294: 1291: 1289: 1286: 1285: 1281: 1278: 1275: 1272: 1269: 1268: 1264: 1261: 1258: 1255: 1253: 1250: 1249: 1245: 1242: 1239: 1236: 1234: 1231: 1230: 1226: 1223: 1220: 1217: 1214: 1213: 1209: 1206: 1203: 1200: 1198: 1195: 1194: 1190: 1187: 1184: 1181: 1179: 1176: 1175: 1171: 1168: 1165: 1162: 1160: 1157: 1156: 1152: 1149: 1146: 1143: 1140: 1139: 1135: 1132: 1129: 1126: 1124: 1121: 1120: 1116: 1113: 1110: 1107: 1105: 1102: 1101: 1097: 1094: 1091: 1088: 1086: 1083: 1082: 1078: 1075: 1072: 1069: 1067: 1064: 1063: 1059: 1056: 1053: 1050: 1048: 1045: 1044: 1040: 1037: 1034: 1031: 1029: 1026: 1025: 1021: 1018: 1015: 1012: 1010: 1007: 1006: 1002: 999: 996: 993: 991: 988: 987: 983: 980: 977: 974: 971: 970: 966: 963: 960: 957: 955: 952: 951: 947: 944: 941: 938: 935: 934: 931: 929: 925: 920: 918: 914: 910: 906: 901: 899: 895: 892: 889: 884: 882: 878: 874: 866: 864: 854: 848: 838: 836: 829: 827: 823: 820: 818: 814: 811: 807: 802: 797: 796:C# directives 792: 786: 775: 767: 765: 763: 759: 755: 754:off-side rule 750: 748: 747:indent styles 739: 737: 735: 731: 722: 720: 716: 709: 704: 702: 696: 694: 688:Grouping code 687: 685: 678: 673: 666: 664: 662: 658: 654: 645: 609: 569: 567: 563: 555: 553: 498:* @param name 425: 328: 231: 228: 226: 218: 216: 209: 207: 205: 197: 195: 193: 189: 185: 181: 173: 171: 169: 164: 162: 158: 154: 152: 148: 144: 140: 136: 132: 130: 126: 122: 118: 114: 110: 106: 102: 94: 89: 87: 83: 79: 75: 71: 66: 62: 61:holophrasting 58: 54: 48: 44: 39: 33: 19: 2300: 2293:Atwood, Jeff 2279: 2274: 2263:. Retrieved 2259:the original 2249: 2238:. Retrieved 2234: 2221: 2180: 2174: 2161: 2151: 2139: 2128:. Retrieved 2124: 2114: 2104:, retrieved 2100: 2090: 2079:. Retrieved 2075: 2066: 2058: 2053: 2033: 2020: 2005: 1991: 1979: 1973: 1961: 1947: 1941: 1938:command for 1927: 1921: 1911: 1905: 1900: 1883: 1873: 1867: 1861: 1855: 1844: 1686: 1440:NetBeans IDE 1066:Codeanywhere 942:Indentation 924:syntax-based 921: 902: 893: 885: 870: 858: 852: 842: 833: 824: 821: 787: 771: 751: 743: 726: 717: 713: 700: 691: 670: 649: 607: 559: 550: 423: 326: 229: 222: 213: 204:use patterns 201: 177: 165: 157:Data folding 156: 155: 135:Text folding 134: 133: 109:text editors 107:is found in 105:Code folding 104: 103: 90: 81: 77: 73: 60: 57:text folding 56: 52: 51: 2362:Source code 2144:Atwood 2008 1767:NoteTab Pro 1762:MonoDevelop 1737:Komodo Edit 1724:(and other 1697:aoeui, the 1668:Zend Studio 1178:Dreamweaver 954:ABAP Editor 845:{{{ ... }}} 813:Code Editor 808:), used in 785:to end it. 768:Token-based 710:Conventions 161:hex editors 149:, and some 129:indentation 121:syntax tree 78:code hiding 2356:Categories 2265:2006-12-27 2240:2019-07-19 2190:9051990278 2130:2015-10-27 2125:Planet MVS 2106:2019-12-29 2081:2007-04-30 2061:, p. 67–75 2045:References 1975:nxml-outln 1972:command, 1864:minor mode 1497:Qt Creator 1159:Delphi IDE 990:Anjuta IDE 913:disclosure 774:delimiters 655:, such as 613:Attributes 576:#endregion 562:attributes 45:code with 2207:cite book 1993:fold-dwim 1752:LEXX/LPEX 1726:JetBrains 1714:GFA BASIC 1573:UltraEdit 1459:Notepad++ 1215:EditPlus 1141:CudaText 1123:Cubic IDE 905:Macintosh 619:ITemplate 582:ITemplate 210:Outlining 147:outliners 82:outlining 2344:used in 2309:cite web 2199:35478471 2166:Archived 2076:mh-nexus 2015:command. 1949:doc-mode 1942:semantic 1923:hideshow 1812:See also 1795:WinShell 1780:Smultron 1554:TextMate 1051:Plug-in 1047:Brackets 972:AkelPad 839:Examples 2338:editor. 2101:YouTube 1980:outline 1958:Doxygen 1954:JavaDoc 1918:outline 1907:outline 1869:outline 1862:folding 1732:Keynote 1197:Eclipse 1085:Codenvy 945:Syntax 801:#Region 791:#region 657:Javadoc 510:setName 471:getName 438:private 383:setName 356:getName 332:private 286:setName 259:getName 235:private 184:IBM 370 174:History 2197:  2187:  1913:allout 1875:allout 1742:Kwrite 1699:Dvorak 1402:MATLAB 1028:BBEdit 939:Token 877:VM/CMS 758:Python 616:public 579:public 516:String 504:public 480:return 468:String 465:public 441:String 389:String 377:public 365:return 353:String 350:public 335:String 292:String 280:public 268:return 256:String 253:public 238:String 115:, and 80:, and 2346:occam 2231:(PDF) 1895:note. 1836:Notes 1801:XEDIT 1772:Padre 1728:IDEs) 1649:Xcode 1516:SciTE 1364:jEdit 1307:gedit 1288:geany 1233:Emacs 948:User 936:Name 894:circa 888:occam 188:COBOL 84:. In 2315:link 2213:link 2195:OCLC 2185:ISBN 2024:The 1952:for 1910:and 1872:and 1817:The 1806:Zeus 1662:Yes 1659:Yes 1656:Yes 1653:Yes 1640:Yes 1637:Yes 1634:Yes 1621:Yes 1605:Yes 1602:Yes 1599:Yes 1596:Yes 1586:Yes 1583:Yes 1567:Yes 1564:Yes 1561:Yes 1558:Yes 1535:STET 1526:Yes 1523:Yes 1520:Yes 1507:Yes 1491:Yes 1488:Yes 1472:Yes 1469:Yes 1466:Yes 1453:Yes 1450:Yes 1447:Yes 1444:Yes 1434:Yes 1431:Yes 1428:Yes 1425:Yes 1412:Yes 1396:Yes 1393:Yes 1390:Yes 1387:Yes 1383:Kate 1377:Yes 1374:Yes 1371:Yes 1368:Yes 1352:Yes 1349:Yes 1339:Yes 1333:Yes 1326:ISPF 1317:Yes 1314:Yes 1311:Yes 1298:Yes 1295:Yes 1279:Yes 1262:Yes 1259:Yes 1246:Yes 1243:Yes 1237:Yes 1221:Yes 1207:Yes 1191:Yes 1169:Yes 1163:Yes 1136:Yes 1133:Yes 1130:Yes 1127:Yes 1117:Yes 1114:Yes 1111:Yes 1108:Yes 1095:Yes 1092:Yes 1089:Yes 1076:Yes 1073:Yes 1070:Yes 1057:Yes 1054:Yes 1038:Yes 1022:Yes 1016:Yes 1009:Atom 1000:Yes 997:Yes 981:Yes 964:Yes 958:Yes 903:The 873:STET 540:name 534:name 528:this 519:name 507:void 483:name 450:null 444:name 413:name 407:name 401:this 392:name 380:void 368:name 344:null 338:name 316:name 310:name 304:this 295:name 283:void 271:name 247:null 241:name 192:ISPF 117:IDEs 53:Code 1984:use 1956:or 1756:OED 1747:Leo 1643:No 1592:Vim 1580:No 1577:No 1415:No 1409:No 1406:No 1358:No 1345:JED 1227:No 1224:No 1218:No 1060:No 891:IDE 861:{{{ 847:): 783:}}} 779:{{{ 732:or 659:or 634:set 628:get 597:set 591:get 564:in 492:/** 456:/** 429:/** 198:Use 194:). 180:NLS 55:or 47:Vim 43:PHP 2358:: 2335:fe 2311:}} 2307:{{ 2299:. 2233:. 2209:}} 2205:{{ 2193:. 2160:. 2123:. 2099:, 2074:. 1966:, 1681:? 1678:? 1675:? 1672:? 1624:? 1618:? 1615:? 1548:? 1545:? 1542:? 1539:? 1529:? 1510:? 1504:? 1501:? 1485:? 1482:? 1463:? 1355:? 1336:? 1330:? 1320:? 1301:? 1292:? 1282:? 1276:? 1273:? 1265:? 1256:? 1240:? 1210:? 1204:? 1201:? 1188:? 1185:? 1182:? 1172:? 1166:? 1153:? 1150:? 1147:? 1144:? 1098:? 1079:? 1041:? 1035:? 1032:? 1019:? 1013:? 1003:? 994:? 984:? 978:? 975:? 967:? 961:? 566:C# 501:*/ 474:() 462:*/ 435:*/ 359:() 262:() 153:. 145:, 111:, 76:, 2348:. 2317:) 2268:. 2243:. 2215:) 2201:. 2146:. 2133:. 2084:. 2000:. 1758:) 804:( 794:( 640:} 637:; 631:; 625:{ 603:} 600:; 594:; 588:{ 546:} 543:; 537:= 531:. 525:{ 522:) 513:( 489:} 486:; 477:{ 453:; 447:= 419:} 416:; 410:= 404:. 398:{ 395:) 386:( 374:} 371:; 362:{ 347:; 341:= 322:} 319:; 313:= 307:. 301:{ 298:) 289:( 277:} 274:; 265:{ 250:; 244:= 34:. 20:)

Index

Folding editor
Constant folding

PHP
Vim
graphical user interfaces
tree structure
Microsoft Word
disclosure widgets
text editors
source code editors
IDEs
syntax tree
computer language
indentation
outline levels
folding editors
outliners
word processors
hex editors
data comparison
NLS
IBM 370
COBOL
ISPF
use patterns
boilerplate code
attributes
C#
documentation generators

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑