HTMLページを実行したいので、_Execute / F5
_コマンドを次のように構成しました。
chrome.exe http://localhost:8080/$(FILE_NAME)
HTMLファイルがワークスペースのルートにある場合に機能します(HTTP Webサーバーがそのように設定されているため)。ただし、ファイルがサブフォルダーにある場合は機能しません。
ワークスペースディレクトリからの相対的なファイルパスを取得するために使用できる定義済みの変数(つまり、$(RELATIVE_PATH)
)はありますか?
よろしくお願いします。
Notepad ++ 6.9.1の現在のバージョンの時点では、Webサーバーのサブフォルダーパスにあるファイルの問題はまだ修正されていません。ファイルパスの唯一の変数は$(FULL_CURRENT_PATH)
です。
チェック: ローカルホストでphpを実行するようにNotepad ++を構成する 。
たぶん、この問題はNotepad ++の将来のリリースで修正されるでしょう。
Chromeを直接使用する代わりに、.batファイルを使用できます。
以下は、次のようにNotepadd ++で実行する必要があるそのような.batファイルの1つのバージョンです。
"path\to\file.bat" "$(FULL_CURRENT_PATH)"
ドキュメントルートがC:\inetpub\wwwroot
にあるWindowsの場合、.batファイルは次のとおりです。
@echo off
set "param=%~1"
set "url=http://localhost/%param:C:\inetpub\wwwroot\=%"
start "" chrome.exe "%url%"
変数の文字列を置き換えるために上記で使用されている一般的なDOS構文は次のとおりです。
"%variable-name:search-string=replacement-string%"
この場合、replacement-string
は空です。
この単純な.batファイルは、文字列C:\inetpub\wwwroot\
を2番目のパラメーターとして受け入れるように簡単に改善できます。
バッチファイルを使用すると、黒いDOSウィンドウが一時的に表示され、すぐに消えてしまう場合がありますChromeが起動されます。それでも問題が解決しない場合は、 この回答 を参照してください。
Pythonソリューション
Np ++プラグインを使用すると、奇跡さえ実現できます。この機能を正確に実現する単純なNp ++ Pythonスクリプトを作成しました。このソリューションには、Notepad ++とPythonScriptプラグインのみが必要です。
Node.jsソリューション
@harrymcの最初のコメントに基づいて、PHP回避策を Node サーバーに移植しました。
1°Notepad ++:
ファイル_<Command>
_の_shortcuts.xml
_コンテンツを変更します(フォルダー_%appdata%/Notepad++
_の下にあります)。次に例を示します。
_chrome http://localhost:8080/npp?path=$(FULL_CURRENT_PATH)
_
2°Node.js:
サーバースクリプト(_server.js
_)にルートを追加して、HTTPGETリクエストを処理します。
_//redirection for Notepad++
app.get( '/npp', function ( req, res )
{
res.redirect( req.query.path.substr( __dirname.length + 8 ) )
} )
_
どこ:
app
は私の Express コンポーネント(app = express()
)、+8
_にあるため、_/public/
_が必要です。