17

現在のファイル名が .rb で終わる場合は「ruby {filename_here}」コマンドを実行し、.pl で終わる場合は「perl {filename_here}」コマンドを実行する notepad++ を作成します。NppExec プラグインを使用しようとしましたが、条件付きのことができないので、バットを書きました

@echo off

if /i %~sx1 == .pl perl "%~f1"
if /i %~sx1 == .rb ruby "%~f1"
if /i %~sx1 == .php php "%~f1"

これで、C:\Program Files\Notepad++>runscript "D\pl.pl" のようにコマンド ラインから使用できるようになり、正常に動作します。Notepad ++のキーを「runscript $(FULL_CURRENT_PATH)」にバインドするにはどうすればよいですか? Run->Run メニュー (F5) を使用しようとしましたが、うまくいかないようです..

4

5 に答える 5

21

コマンドの最後にファイル名を付ける必要があります。実行(F5)ダイアログで、これを試してください:

runscript $(FULL_CURRENT_PATH)

テストしたい場合は& pause、最後に a を付けて、機能するかどうかを確認できます。

GOTOファイル拡張子ラベルを指定した恐ろしいコマンドを使用して、すべてのファイルが各拡張子をテストしないように、スクリプトを少し調整することもできます。

@echo off
GOTO %~sx1
:.pl
  perl "%~f1"
  GOTO end
:.rb
  ruby "%~f1"
  GOTO end
:.php
  php "%~f1"
  GOTO end
:end
于 2009-08-03T22:44:58.687 に答える
5

それが何をしたかを見ている間、それがシェルウィンドウを開いたままにするようにそれを動作させるのに問題がありました。最初に追加するまで、最後に「&pause」を付けることは役に立たなかったようです。cmd /c

cmd /c c:\php\php.exe -l "$(FULL_CURRENT_PATH)" & pause

コマンドの結果を画面に表示するには、Georgeが提案したように、/kスイッチを使用できます。 cmd /k c:\php\php.exe -l "$(FULL_CURRENT_PATH)"

これはうまく機能します。Notepad++で構文をすばやくチェックするために使用します。

于 2011-11-04T09:19:40.983 に答える
5

Windows で実行されている notepad++ バージョン 6.2 では、引用符を付けて"$(FULL_CURRENT_PATH)"を使用するだけで、ファイルに関連付けられたデフォルトのプログラムを使用してファイルが開かれます。したがって、「メモ帳++で編集」がデフォルトのダブルクリックアクションではないことを確認してください。

于 2012-11-27T15:15:56.407 に答える
1

次のスクリプトを使用して npp_exec を試すことができます。

NPP_SAVE
SET Executer = execute$(EXT_PART)
NPP_EXEC "$(Executer)"

そして、execute.rb という名前のスクリプトを使用します。

perl $(FULL_CURRENT_PATH) //or something like that

この方法はここで説明されています

于 2010-11-25T10:40:26.780 に答える
1

デフォルトのプログラムで現在のファイルを開くことができるRunMeというプラグインがあります。「$(FULL_CURRENT_PATH)」コマンドよりも優れたソリューションです。これは、現在のディレクトリをファイル パスに変更し、そのコマンドが N++ パスでファイルを実行するためです。

于 2013-03-10T20:15:31.140 に答える