web-dev-qa-db-ja.com

Notepad ++ファイルを保存するときに、そのファイルに対してプログラムを自動的に実行できますか?

ファイルを保存するときにソースコードでリンターを実行したい(CTRL-S)。保存時にファイルに対して外部コマンドを実行することはできますか?

1
pbarney

私の知る限り、厳密な意味では、保存した直後にプログラムを実行する直接的なオプションはありません。とは言うものの、押すと(機能的に)同様の動作が得られる可能性があります Ctrl+S 以下の手順で...

Ctrl + Sで保存して実行

NppExecをインストールします

通常、Runメニューの項目と組み合わせた通常のNotepad ++マクロは、目的の動作への最も簡単なルートである可能性があります。ただし、Runメニューからのコマンドは、現在、デフォルトではマクロアクションとして許可されていないようです。

この問題を回避するには、NppExecというプラグインが必要です。このプラグインを使用すると、Notepad ++からプログラムを実行するための適度に改善されたマクロ(コマンドスクリプト)を作成できます。特に、ドキュメントの保存とプログラムの実行を組み合わせることができます(前述のように、通常は不可能です)。

NppExecをインストールするには:

  • プラグインマネージャーを開きます(プラグインプラグインマネージャープラグインマネージャーを表示) 。

  • プラグインリストでNppExecを見つけて、マークを付けます。

  • Installをクリックします。

インストール後、示されているようにNotepad ++を再起動する必要があります。

コマンドスクリプトを作成する

Notepad ++を再起動したら、プラグインNppExec実行... 窓 ( F6 )。テキストフィールドで、実行するコマンドを(順番に)別々の行に配置します。

_NPP_SAVE
# ... Another command here ...
# ... Another command here ...
_

ちなみに、ファイルで何をしたいのか(リンティングプロセスに関して)は正確にはわかりません。そのため、上記の例が完全ではないことをお詫びします。


各_# ... Another command here ..._は、この例の単なるプレースホルダーであることに注意してください。重要なことに、_#_記号は、実際にはNppExecのコメントを表していません...これは私の省略形です。 =)


使用可能なコマンド

最初に保存したいことがわかっているので、_NPP_SAVE_を使用してコマンドスクリプトを開始できます。 _NPP_SAVE_は、現在のドキュメントを保存するようにNotepad ++に指示するNppExec固有のコマンドです。

一般に、残りのコマンドについては、それらのコマンドを直接呼び出すか(NppExecコマンドまたはコマンドラインに登録された項目であり、出力はほとんど重要ではないと仮定します)、たとえば、 _NPP_RUN cmd /k somecommand.exe_(または_NPP_RUN cmd_の他のバリエーション)を使用して、新しいcmdウィンドウを生成します(多くの場合、これが望ましい場合があります)。

コマンドラインから実行できるもの(バッチファイルやスクリプトを含む)はすべて、コマンドの実行可能なオプションである可能性があります。 Notepad ++環境変数も利用できます。使用する可能性が最も高いのは$(FULL_CURRENT_PATH)(二重引用符で参照するのが最適、つまり"$(FULL_CURRENT_PATH)")です。これは、現在のドキュメントの保存バージョンへの完全なWindowsパスを提供します。

通常の実行...ダイアログのRunと同様に、実行...ウィンドウのOKはコマンドをすぐに実行します。これにより、保存する前に機能をテストできます。同様に、Command(s)フィールドは実行間で永続的です。

コマンドスクリプトに満足したら、_Save..._を選択し、スクリプトに適切な名前を付け、後で使用できるようにもう一度Saveを選択します。終了したら、実行...ウィンドウを閉じます。

メニューへのコマンドスクリプトの追加

これで、NppExecコマンドスクリプトをNotepad ++メニューに追加して、ショートカットを割り当てることができます。

  • プラグインNppExec詳細オプション...に移動します。

  • 左下の_Associated script:_ドロップダウンメニューでコマンドスクリプトを選択します。

  • _Add/Modify_をクリックして、すぐ上の_Menu items_フィールドに追加します。

  • 必要に応じて、_Place to the Macros submenu_の横のチェックボックスをオンにして、コマンドスクリプトをメインマクロメニューに追加します。それ以外の場合は、プラグインNppExecの下にオプションとして表示されます。

  • OKをクリックして終了します。

示されているようにNotepad ++を再起動し、コマンドスクリプトがマクロメニューまたはプラグインのいずれかの下部にメニューエントリとして表示されることを確認します。 →NppExec

コマンドスクリプトへのホットキーの追加

最後に、再割り当てします Ctrl+S

  • 設定ショートカットマッパー...を開きます。

  • メインメニュータブで、[保存]のエントリを強調表示します。ウィンドウの下部にあるClearをクリックして、そのアイテムのホットキー設定をクリアします( Ctrl+S )。

  • プラグインコマンドタブを選択します。下にスクロールして、NppExecコマンドスクリプト(名前で識別)のエントリを強調表示します。 _NppExec.dll_エントリのブロックの最後の項目になる可能性があります。

  • Modifyをクリックして、適切なホットキーオプションを設定します(Ctrlをマークし、ドロップダウンからSを選択します)。

  • OKをクリックして新しいショートカット設定を保存し、CloseShortcut Mapper ...をクリックします。

これで、コマンドスクリプトはによってトリガーされます。 Ctrl+S (再起動は必要ありません)。


割り当てたホットキーの組み合わせに関係なく、通常のバージョンのSaveは、[ファイル]→[保存]メニュー項目とツールバーアイコン(単一の青いディスケット)に関連付けられていることに注意してください。


2
Anaksunaman