notepad ++ определяемые пользователем области со свертыванием - PullRequest
63 голосов
/ 21 сентября 2010

Я не могу понять, как настроить 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;

Как настроитьnotepad ++, чтобы отобразить это.Является ли это возможным?Есть ли у вас другие предложения?

Ответы [ 7 ]

49 голосов
/ 22 сентября 2010

Для версии 6.5.5 и выше:

В меню " Язык " есть пункт меню под названием " Определите свой язык ..." "

enter image description here

На вкладке« Папка и значение по умолчанию »находится группа« Складывание в коде », в которую можно ввести« Открыть »- и ключевое слово «Close».

Folding in code

Для версий старше 6.5.5 :

Под меню " Вид " есть пункт меню под названием " Пользовательский диалог ... "

View Define your language

Во вкладке«Папка и значение по умолчанию» вы можете ввести «Ключевое слово открытия папки» и «Ключевое слово закрытия папки»

Folder Open Close Keyword

47 голосов
/ 10 мая 2013

Другой простой способ - просто добавить маркер комментария с последующим открытием блока, чтобы начать блок, и маркер комментария, за которым следует конец блока, чтобы завершить блок. В C, C ++, Java, Javascript и т. Д. Это будет выглядеть так:

//{

//}
12 голосов
/ 20 июня 2013

У меня похожая проблема. Я хочу добавить пользовательский тег, например #region / #endregion, для создания произвольных точек сгиба в языках, которые его не поддерживают. В частности, я пытаюсь сделать это для php.

После исследования в течение часа или двух кажется, что изменение существующего языка довольно сложно из-за лежащего в основе лексера сцинтиллы, и написание плагина может быть единственным способом сделать это.

Я обнаружил, однако, достойный обходной путь:

Оберните код, который вы хотите сложить в комментариях, например:

#{ 
...
#}

Затем наведите курсор на открытую скобку и нажмите CTRL + ALT + b , чтобы выделить весь блок, а затем ALT + ч чтобы скрыть это.

Это операция, отличная от складывания, но она работает в крайнем случае.

4 голосов
/ 01 июля 2014

Я использовал ответ Марсело, чтобы решить это для себя (в Perl), с одним изменением ...
Если бы я добавил пробел между символом комментария и скобкой, это бы не сработало. Он должен был быть размещен сразу после:

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

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

#}END example

Обратите внимание, что если я сделаю:

#END example }

со скобкой после текста тоже не будет работать

0 голосов
/ 15 февраля 2016

STEP ONE : Добавить уникальный ключ с открытым и закрытым (т. Е.

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

. Используйте отступы и / или комментарии, чтобы указать уровень гнезда.

Шаг 2 : {CTRL}-H, когда вы закончите. Замените все '{{{' и '}}}'.

ШАГ 3 : полоса комментариев (приложение).

0 голосов
/ 11 июня 2014

!! Отказ от ответственности: Всего нуб на PHP !!

Предполагая, что вы оборачиваете свой PHP в некоторый HTML, вы можете определить пользовательские разделы, используя <?php and?>.

Ex:

<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, так что мой код может быть не клевым; Это все еще продолжающийся процесс.

0 голосов
/ 01 февраля 2014

Если это SQL, то инкапсуляция вашего кода с помощью BEGIN и END работает хорошо. Отображается оператор BEGIN, а также все добавленные вами комментарии в той же строке.

например:

BEGIN --creating temp table with eligible users

   ...code

END
...