
HTML ページを実行したいので、Execute / F5
コマンドを次のように設定しました。
chrome.exe http://localhost:8080/$(FILE_NAME)
HTML ファイルがワークスペースのルートにある場合は機能します (HTTP Web サーバーがそのように設定されているため)。ただし、ファイルがサブフォルダーにある場合は機能しません。
$(RELATIVE_PATH)
ワークスペース ディレクトリを基準としたファイル パスを取得するために使用できる定義済み変数 (つまり ) はありますか?
ご協力をよろしくお願いいたします。
答え1
Notepad++ 6.9.1 の現在のバージョンでは、Web サーバーのサブフォルダー パス内のファイルに関する問題はまだ修正されていません。ファイル パスの唯一の変数は です$(FULL_CURRENT_PATH)
。
チェック:ローカルホストで PHP を実行するように Notepad++ を構成する。
この問題は、Notepad++ の将来のリリースで修正される可能性があります。
答え2
Chrome を直接使用する代わりに、.bat ファイルを使用することもできます。
以下は、Notepadd++ で次のように実行される .bat ファイルの 1 つのバージョンです。
"path\to\file.bat" "$(FULL_CURRENT_PATH)"
Windows の場合、ドキュメント ルートは にありC:\inetpub\wwwroot
、.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
空です。
C:\inetpub\wwwroot\
この単純な .bat ファイルは、文字列を2 番目のパラメータとして受け入れるなど、簡単に改善できます。
バッチファイルにより、黒いDOSウィンドウが一瞬表示され、Chromeを起動するとすぐに消えることがあります。それでも煩わしい場合は、この答え。
答え3
Pythonソリューション
Np++ プラグインを使用すると、奇跡さえも達成できます。私はまさにこの機能を実現するシンプルな Np++ Python スクリプトを作成しました。このソリューションに必要なのは、Notepad++ と PythonScript プラグインだけです。
- プラグイン > プラグインマネージャからPythonスクリプトをインストールします
- プラグイン > Python スクリプト > 新しいスクリプト
- たとえば、「OpenInBrowser.py」という名前を付けて、スクリプトを貼り付けます。http://pastebin.com/wS4jThcp
- スクリプトでは、ブラウザExeフルパス、ブラウザURLそしてあなたのウェブページのルートディレクトリ(その下にトップレベルの index.html が配置されます)。
- プラグイン > Python スクリプト > 構成を選択し、ユーザー スクリプトをメニュー (左側のリスト) に追加します。
- Notepad++ を再起動し、設定 > ショートカット マッパー > プラグイン コマンドを選択して、スクリプトをキー (たとえば F9) にマップします。これで、そのキーを押すと、ブラウザーでアクティブなドキュメントが開きます。外部ソリューションは必要ありません。
答え4
Node.js ソリューション
@harrymcの最初のコメントに基づいて、PHPの回避策を私のノードサーバ。
1° Notepad++で:
<Command>
ファイルの内容を変更しますshortcuts.xml
(フォルダーの下にあります%appdata%/Notepad++
)。例:
chrome http://localhost:8080/npp?path=$(FULL_CURRENT_PATH)
2° Node.jsの場合:
server.js
HTTP GET リクエストを処理するために、サーバー スクリプト ( ) にルートを追加します。
//redirection for Notepad++
app.get( '/npp', function ( req, res )
{
res.redirect( req.query.path.substr( __dirname.length + 8 ) )
} )
どこ:
app
私の急行成分 (app = express()
)、+8
私の Web ページはサブフォルダーにあるため、 が必要です/public/
。