web-dev-qa-db-ja.com

notepad ++ユーザー定義領域と折りたたみ

ユーザー定義のキーワードの領域を表示するように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;

これを表示するようにメモ帳++を構成するにはどうすればよいですか。出来ますか?他に提案はありますか?

65

バージョン6.5.5以上の場合:

メニュー「Language」の下に「Define your language ...」というメニュー項目があります

enter image description here

[フォルダとデフォルト]タブには、[コードを折りたたむ]というグループがあり、[開く]および[閉じる]キーワードを入力できます。

Folding in code

6.5.5より古いバージョンの場合:

メニュー「View」の下に「User-Defined Dialog ...」というメニュー項目があります。

View Define your language

[フォルダとデフォルト]タブで、[フォルダを開くキーワード]と[フォルダを閉じるキーワード]を入力できます。

Folder Open Close Keyword

49

別の簡単な方法は、コメントマーカーの後にブロックを開始するopen-blockを追加し、コメントマーカーの後にブロックを終了するend-blockを追加するだけです。 C、C++、Java、Javascriptなどでは、次のようになります。

//{

//}

同様の問題があります。 #region/#endregionのようなカスタムタグを追加して、それをサポートしていない言語で任意の折りたたみポイントを作成したいです。具体的には、PHPでこれを実行しようとしています。

1、2時間調査した後、既存の言語を変更することは、シンチラレクサーの基礎のために非常に困難であり、プラグインを書くことがこれを達成する唯一の方法であると思われます。

しかし、私はまともな回避策を発見しました:

折りたいコードを次のようなコメントでラップします。

#{ 
...
#}

次に、開き中括弧の前にカーソルを移動して、 CTRL+ALT+b ブロック全体を強調表示し、続いて ALT+h それを非表示にします。

折り畳みとは異なる操作ですが、ピンチで動作します。

12
Kevin Jhangiani

私はMarceloの答えを使ってこれを自分で(Perlで)解決しましたが、1つの変更を加えました...
コメント記号とブラケットの間にスペースを入れた場合、機能しません。次の直後に配置する必要がありました。

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

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

#}END example

私がそうする場合:

#END example }

テキストの後の括弧では、どちらも機能しません

4
user1881282

!!免責事項: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を学ぶだけなので、私のコードは素晴らしいものではないかもしれません。まだ進行中のプロセスです。

0
ITGuyOU