it-swarm-ja.com

Notepad ++からHTMLファイルを実行する方法は?

HTMLページを実行したいので、_Execute / F5_コマンドを次のように構成しました。

chrome.exe http://localhost:8080/$(FILE_NAME)

HTMLファイルがワークスペースのルートにある場合に機能します(HTTP Webサーバーがそのように設定されているため)。ただし、ファイルがサブフォルダーにある場合は機能しません。

ワークスペースディレクトリからの相対的なファイルパスを取得するために使用できる定義済みの変数(つまり、$(RELATIVE_PATH))はありますか?

よろしくお願いします。

7
Supersharp

Notepad ++ 6.9.1の現在のバージョンの時点では、Webサーバーのサブフォルダーパスにあるファイルの問題はまだ修正されていません。ファイルパスの唯一の変数は$(FULL_CURRENT_PATH)です。

チェック: ローカルホストでphpを実行するようにNotepad ++を構成する

たぶん、この問題はNotepad ++の将来のリリースで修正されるでしょう。

1
iSR5

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が起動されます。それでも問題が解決しない場合は、 この回答 を参照してください。

5
harrymc

Pythonソリューション

Np ++プラグインを使用すると、奇跡さえ実現できます。この機能を正確に実現する単純なNp ++ Pythonスクリプトを作成しました。このソリューションには、Notepad ++とPythonScriptプラグインのみが必要です。

  1. インストールPythonプラグインからのスクリプト>プラグインマネージャー
  2. プラグイン> Pythonスクリプト>新しいスクリプト
  3. 「OpenInBrowser.py」という名前を付けて(たとえば)、スクリプトを貼り付けます: http://Pastebin.com/wS4jThcp
  4. スクリプトでは、browserExeFullPathbrowserUrlおよびWebページを構成することを忘れないでくださいrootDir(その下にトップレベルのindex.htmlが配置されます)。
  5. プラグイン> Pythonスクリプト>構成およびユーザースクリプトをメニューに追加(左側のリスト)
  6. Notepad ++、[設定]> [ショートカットマッパー]> [プラグイン]コマンドを再起動し、スクリプトをキー(F9など)にマップします。そのキーを押すと、ブラウザでアクティブなドキュメントが開きます。外部ソリューションは必要ありません。
1
pKami

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())、
  • 私のWebページはサブフォルダー_+8_にあるため、_/public/_が必要です。
0
Supersharp