Notepad++ から HTML ファイルを実行するにはどうすればいいですか?

Notepad++ から HTML ファイルを実行するにはどうすればいいですか?

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 プラグインだけです。

  1. プラグイン > プラグインマネージャからPythonスクリプトをインストールします
  2. プラグイン > Python スクリプト > 新しいスクリプト
  3. たとえば、「OpenInBrowser.py」という名前を付けて、スクリプトを貼り付けます。http://pastebin.com/wS4jThcp
  4. スクリプトでは、ブラウザExeフルパスブラウザURLそしてあなたのウェブページのルートディレクトリ(その下にトップレベルの index.html が配置されます)。
  5. プラグイン > Python スクリプト > 構成を選択し、ユーザー スクリプトをメニュー (左側のリスト) に追加します。
  6. 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.jsHTTP 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/

関連情報