记事本++用户定义的区域与折叠

我不知道如何configuration记事本++来显示用户定义的关键字区域。

我有一个大的跟踪文件,它显示了一个过程的开始和结束。 跟踪文件如下所示:

Beginn abc.def; ... Beginn ghi.jkl; ... Ende ghi.jkl; ... Ende abc.def; 

我想这样折叠这些区域:

 [+] Beginn abc.def; 

要么

 [-] Beginn abc.def; ... [+] Beginn ghi.jkl; ... Ende abc.def; 

如何configuration我的记事本++来显示这个。 可能吗? 你有什么其他的build议?

对于6.5.5及以上版本:

在“ 语言 ”菜单下,有一个名为“ 定义您的语言… ”的菜单项

在这里输入图像说明

在选项卡“文件夹和默认”是一个名为“在代码折叠”,您可以input“打开” – 和“closures”的关键字组。

折叠代码

对于6.5.5以前的版本:

在“ View ”菜单下,有一个名为“ User-Defined Dialog … ”的菜单项

查看定义您的语言

在“文件夹和默认”选项卡中,您可以input“文件夹打开关键字”和“文件夹closures关键字”

打开关闭关键字

另一个简单的方法是添加注释标记,然后是开放块开始块,注释标记跟着结束块结束块。 在C,C ++,Java,Javascript等,它看起来像这样:

 //{ //} 

我有一个类似的问题。 我想添加像#region / #endregion这样的自定义标签来创build不支持它的语言的任意折叠点。 具体来说,我正在尝试这样做的PHP。

经过一两个小时的研究,似乎修改一个现有的语言是相当困难的,因为潜在的闪烁lexer,写一个插件可能是唯一的方法来实现这一点。

但是我发现了一个体面的解决方法:

将您希望折叠的代码封装在如下注释中:

 #{ ... #} 

然后将光标移到大括号之前,然后按下CTRL + ALT + b高亮显示整个块,然后按ALT + h将其隐藏。

这是一个不同于折叠的操作,但它在一个捏。

我用Marcelo的答案来解决这个问题(在Perl中),只需要改变一下…
如果我在评论符号和括号之间加了一个空格,那么它将不起作用。 它必须立即放置在:

 #START example ################{ print "Hi there! "; print "How are you?\n"; #}END example 

请注意,如果我这样做:

 #END example } 

与括号后的文字,它也不会工作

第一步 :打开和closures添加一个唯一的键(即,

 #1 {{{ #2 {{{ #2 }}} ## }}} 

使用缩进 /或注释来指示嵌套级别。

第2步{CTRL}-H完成后。 replace全部'{{{'和'}}}'。

第3步 :评论条(应用程序)。

如果是SQL,那么用BEGIN和END封装你的代码就行得通。 显示BEGIN语句,以及在同一行添加的任何注释。

例如:

 BEGIN --creating temp table with eligible users ...code END 

! 免责声明:在PHP的总noob!

假设你用一些HTML包装你的PHP,你可以使用<?php and ?>来定义自定义的部分。

例如:

 <html> <head></head> <body> <?php $cities[1] = "Phoenix";$cities[2] = "Tucson";$cities[3] = "Flagstaff"; $capitals['CA'] = "Sacramento";$capitals['TX'] = "Austin";$capitals['OR'] = "Salem"; $cities[] = "Phoenix";$cities[] = "Tucson";$cities[] = "Flagstaff"; echo "Here are cities: $cities[1]";echo nl2br("\n"); ?> </br> <?php $cities = array( "Phoenix","Tucson","Flagstaff"); $capitals = array( "CA" => "Sacramento","TX" => "Austin","OR" => "Salem",); echo $capitals['TX'];echo nl2br("\n"); ?> <body> </html> 

Notepad ++将允许您任意折叠这些部分,并且可以用“#”标记这些部分。 只是学习PHP,所以我的代码可能不是很棒; 这仍然是一个持续的过程。