webdevqa.jp.net

Notepad ++スタイルの削除は可能ですか? (私はスタイルコンフィギュレーターの言語の色のスタイルを意味します)

Notepadd ++のUnix。shファイルで次の問題が発生します。

heredoc コマンドで内容をラップすると、ドキュメント全体が1つの単色で色付けされます。例えば:

**<< 'EOF0'**

Content of the document --- All of which will be dyed in a single color.

**EOF0**

画像の例:

1-ヒアドキュメントなし:

enter image description here


2-ヒアドキュメントを使用する場合:

enter image description here


今説明した状況が問題になる理由:

非常に長いスクリプトで作業する場合、1つの(ヒアドキュメント)コマンドが原因ですべてが1つの単一の色で色付けされるのは非常に煩わしい場合があります。結局のところ、マルチを使用する方がはるかに快適であることがわかっている場合です。 -このコマンドがなかった場合と同じようにドキュメントに色を付けます。

私がそれを解決しようとしたこと:

Settings > Style configurator > Language --- Bashに移動して、どういうわけかHERE DELEM && HERE Qを完全に削除しようとしましたが、GUIでそのような方法が見つかりませんでした。

私の質問:

これらの2つのスタイル(または他のスタイル)をNotepad ++から削除して、.shドキュメントのテキストの色に影響を与えないようにするにはどうすればよいですか? (私の場合は.shドキュメント)?

私はそのようなラッパー(ヒアドキュメントはテキストラッパーです)をどんな色でも着色しないだけです...私は彼らの「ネイティブ」なメモ帳++スタイルを完全に削除したいだけです...

4
user529857

あなたが達成しようとしていた目標のフォーマットスタイルは簡単には不可能ですが(しかし、そうです、それはより難しい方法で可能です)、簡単なトリックで問題を解決することもできます。ここで両方について話し合っています。

直接不可能な理由:

WindowsでNotepad++ディレクトリに移動すると、SciLexer.dllという名前のファイルが見つかります。このファイルは、Notepad ++の元のソースコードから作成されています。 Bashコードがheredocコマンドを検出する方法は、このファイル内にハードコードされています。また、このファイルはユーザーが直接編集することはできません。

次に、SciLexer.dllの編集方法

Notepad++はオープンソースソフトウェアであることがわかっているので、与えられたソースコードから独自にSciLexer.dllを構築できます。しかし、それを行うには、プログラミング言語に関する非常に優れた知識が必要です。そうしないと、それらすべてを台無しにする可能性があります。 ここNotepad++SciLexer.dllの完全なソースコードと、それらを構築する方法の詳細な手順があります。したがって、プログラミングの知識が豊富な場合は、そこでチュートリアルを実行すると、編集可能なscintilla> lexersディレクトリにLexBash.cxxという名前のファイルが見つかります。 heredoc検出部分を削除し、そのチュートリアルに従ってファイルを再構築します。最後に、新しいSciLexer.dllを取得します。これをSciLexer.dllディレクトリ内の現在のNotepad++に置き換えると、魅力のように機能します。

今問題は、プログラミングの知識の不足や時間の不足のためにこれらすべてのことを行うことができない場合、他の方法はありますか!!!!そうではないかもしれませんが、問題を部分的に解決するために使用できるトリックを見つけました。

それはあなたが思ったように機能しますか:

あなたが述べたように:

Settings > Style configurator > Language --- Bashに移動して、どういうわけかHERE DELEM && HERE Qを完全に削除しようとしましたが、GUIでそのような方法が見つかりませんでした。

明らかに、GUIにはこれらの属性を削除するオプションはありませんが、これらの属性を削除することはできます。これを行うには、Windowsで次のディレクトリに移動する必要があります。

%AppData%\Notepad++(コピー-ディレクトリをWindowsエクスプローラのアドレスバーに貼り付けます)

そのディレクトリには、いくつかのxmlファイルがあります。必要なのはstylers.xmlです。したがって、デフォルトのWindowsメモ帳がフォーマットを台無しにするので、Notepad++または他の優れたテキストフォーマットおよび編集ツールでそれを見つけて開きます。そのファイルでbashを検索します。あなたはこのようなものを見つけるでしょう:

これらは、Bashファイル内のスタイリングのすべてのプロパティです。最後の2行では、HERE DOCについて説明しています。したがって、これらの行を削除してファイルを保存することを考えるかもしれません。このようにして、Notepad ++のGUIで言及した上記の2つのオプションは表示されなくなります。しかし、そうしないでください。

実際には、HERE DELIMおよびHERE QフォーマットスタイルをNotepad++ Bashスクリプトから削除しますが、問題は解決しません。なぜなら、前に言ったように、heredocフォーマットスタイルはSciLexer.dllにハードコーディングされているからです。したがって、これらの属性を削除しても、Notepad++heredocコマンドを検出でき、適切なフォーマットスタイルが見つからないため、デフォルトのスタイルが上書きされ、すべての行が黒色になります。 。したがって、あなたの問題はあなたが考える方法で解決することはできません。

問題を部分的に解決する可能性のある簡単なトリック:

Notepad ++を使用すると、約52のプログラミング言語のフォーマットスタイルにアクセスできますが、すべての言語が必要なわけではありません。したがって、私のトリックは、Bashファイルで動作するように同様のフォーマットスタイルの別の言語を編集することです。 NSISBashとほぼ同じフォーマットスタイルを使用していることがわかりました。したがって、ファイルを.shで開いた後、Notepad++またはその他のBashファイルを編集または作成するときは、言語をNSISとして選択するだけです。

これでうまくいきますが、キーワードはまだ黒であるため、青に着色する必要があります。したがって、NSISのキーワードをBashのキーワードに置き換える必要があります。これを再度行うには、次のディレクトリに移動します。

%AppData%\Notepad++(コピー-ディレクトリをWindowsエクスプローラのアドレスバーに貼り付けます)

今回は、langs.xmlという名前のファイルが必要です。したがって、Notepad++を使用して開きます。 bashを検索します。あなたはこのようなものを見つけるでしょう:

その部分を別の場所にコピーします。ここで、そのファイルlangs.xmlnsisを再度検索します。あなたはこのようなものを見つけるでしょう:

最後に、nsisパーツを、以下のように以前にコピーしたパーツに置き換えます。

そして、ファイルを保存します。ここで、Notepad ++を再起動して、変更を確認します。それがあなたにいくらか役立つことを願っています。この方法で見つかる問題は、$記号の付いた変数が他の色と区別されないことです。しかし、それは大きな問題ではないかもしれません。それが役に立てば幸い。乾杯。

3
Rakibul Islam