notepad ++用户定义的带折叠区域


70

我不知道如何配置notepad ++以显示用户定义的关键字的区域。

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

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

我想像这样折叠这些区域:

[+] Beginn abc.def;

要么

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

如何配置我的记事本++显示此内容。可能吗?你有什么其他的建议?


Answers:


55

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

//{

//}

2
从NPP v6.4.3开始,快速简便的用户定义对话框似乎已消失(或变成了用户定义的语言语法)。因此,将可折叠区域语法简单地添加到内置语言变得很简单。但是,来自Marcelo的此解决方案非常快速简便,并且可以在NPP 6.4.3中使用。
2013年

7
谢谢!现在我做的事://{ #region LOADING//} #endregion LOADING在Javascript中
Szymon户

1
如何执行“添加'注释命令'”?我有与所示相同的代码,但没有折叠选项。我想必须使用Alt + h选择并隐藏该块?
Goufalite 2014年

2
我正在使用Notepad++ 6.7.9.2。在此版本中,您需要删除注释开头和括号之间的空格。因此//{有效,但// {无效。
jeremysawesome

54

对于6.5.5及更高版本:

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

在此处输入图片说明

在“文件夹和默认”标签中,有一个名为“代码折叠”的组,您可以在其中输入“打开”-和“关闭”-关键字。

折叠代码

对于6.5.5之前的版本

在菜单“视图”下有一个名为“用户定义对话框... ”的菜单项

查看定义您的语言

在“文件夹和默认”标签中,您可以输入“文件夹打开关键字”和“文件夹关闭关键字”

文件夹打开关闭关键字


2
有什么办法可以将这些添加到现有的语言定义中?具体来说,我可以添加注释以创建折叠部分吗,例如:/ * <privateMethods> * / ... [很多代码] ... / * </ privateMethods> * /
RSG

如您在图片中所看到的,有一种方法可以显示和导出语言文件。Notepad ++存储现有的语言配置。也许您可以将它们导入用户定义的目录并进行编辑。祝好运。
Stephan Schielke,2011年

5
在6.5.5版中,此对话框位于“语言”菜单下。我刚刚添加了#region end #endregion,折叠效果很好!
adg 2014年

1
@adg:我也想// #region在Javascript中添加折叠功能。您是如何做到的,以及将它添加到哪种语言?
罗伯特·科里特尼克

@StephanSchielke,现在在“语言>>定义您的语言”下
Pacerier 2015年

14

我有一个类似的问题。我想添加一个自定义标签,例如#region / #endregion,以使用不支持它的语言创建任意折叠点。具体来说,我正在尝试针对php。

经过一两个小时的研究之后,由于底层的闪烁式词法分析器似乎很难修改现有语言,而编写插件可能是实现此目的的唯一方法。

我确实发现了一个不错的解决方法:

将要折叠的代码包装在注释中,例如:

#{ 
...
#}

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

这是与折叠不同的操作,但是在紧要关头工作。


这些捷径究竟是做什么的?他们对我不起作用,maube是您安装的插件吗?
Hikari

2
Alt + H起作用了,但这似乎只是暂时的。我只需要扩大它使其消失即可
Hikari

嗨!至少,您可能已经提到您复制了我的答案,就像“ user1881282”一样,但是我对此并不担心。祝你今天愉快 !
Marcelo Teixeira Ruggeri 2014年

1
CTRL + ALT + b突出显示块。(我不同意这只是从Marcelo的答案复制而来的-没有提及使用块选择和隐藏而不是折叠,这是此答案的关键点)
Nick Rice

感谢您对@Nick Rice按键所做的更正,我已将答案更正为CTRL + ALT + B以突出显示该块,该块似乎确实起作用(光标必须在#和{字符之间)
Kevin Jhangiani

4

我使用Marcelo的答案为自己解决了这个问题(在Perl中),但做了一次更改...
如果在注释符号和方括号之间包含一个空格,那么它将不起作用。必须将其放置在以下位置之后:

#START example
################{

print "Hi there! ";
print "How are you?\n";

#}END example

请注意,如果我这样做:

#END example }

加上文字后的方括号也不起作用


0

!! 免责声明:PHP的新手!

假设您用一些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,所以我的代码可能并不出色。这仍然是一个持续的过程。


谢谢!正是我所需要的PHP :)
Prid,

-2

如果是SQL,则用BEGIN和END封装代码效果很好。将显示BEGIN语句,以及您在同一行中添加的所有注释。

例如:

BEGIN --creating temp table with eligible users

   ...code

END

-2

步骤1:添加具有打开和关闭键的唯一键(即,

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

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

第2步{CTRL}-H完成后。替换所有的'{{{'和'}}}'。

步骤3:注释条(应用程序)。


这些方法都很慢。
Wolfpack'08 2016年

?因此,您每次添加新的Ctrl H时都需要查找并替换?
Pacerier '17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.