8

Я хотел бы запустить страницу HTML, поэтому я настроил команду Execute / F5 следующим образом:

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

Это работает, когда файл HTML находится в корне моей рабочей области (потому что мой HTTP-сервер HTTP настроен для этого). Но это не работает, когда файл находится в подпапке.

Существует ли предопределенная переменная (т. $(RELATIVE_PATH)), которую можно использовать для получения пути к файлу относительно каталога Workspace?

Заранее спасибо за вашу помощь.

4 ответа4

5

Вместо того, чтобы использовать Chrome напрямую, вы можете использовать файл .bat.

Ниже приведена одна версия такого файла .bat, который должен выполняться в Notepadd++, например:

"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 пуста.

Этот простой .bat файл может быть легко улучшен, чтобы принять строку C:\inetpub\wwwroot\ качестве второго параметра, и многое другое.

Пакетный файл может на мгновение вызвать появление черного окна DOS, которое сразу же исчезнет после запуска Chrome. Если это все еще слишком раздражает, см. Этот ответ.

1

Python Solution

С помощью плагинов Np++ можно совершить даже чудеса. Я написал простой Np++ Python Script, который обеспечивает именно эту функциональность. Это решение требует только Notepad++ и плагина PythonScript.

  1. Установите Python Script из плагинов> Менеджер плагинов
  2. Плагины> Python Script> Новый скрипт
  3. Назовите его «OpenInBrowser.py» (например) и вставьте скрипт: http://pastebin.com/wS4jThcp
  4. В этом сценарии не забудьте настроить свой browserExeFullPath, browserUrl и rootDir вашей веб- страницы (в котором будет находиться верхний уровень index.html).
  5. Плагины> Python Script> Configuration и добавьте свой пользовательский скрипт в меню (список слева)
  6. Перезапустите Notepad++, «Настройки»> «Ярлык ярлыков»> «Команды плагина» и сопоставьте ваш скрипт с ключом, например, F9. Теперь нажатие этой клавиши откроет ваш активный документ в браузере. Никаких внешних решений не требуется.
1

Начиная с текущей версии Notepad++ 6.9.1, проблема с файлами в пути к подпапкам на веб-сервере еще не устранена. Единственная переменная для пути к файлу - $(FULL_CURRENT_PATH) .

Проверьте: Настройка Notepad++ для запуска php на localhost.

Возможно, эта проблема будет исправлена в следующих версиях Notepad++.

0

Решение Node.js

Основываясь на первом комментарии @ harrymc, я перенес решение PHP на мой Node- сервер.

1 ° в блокноте ++:

Измените содержимое <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 - это мой компонент Express (app = express()),
  • +8 необходим, потому что мои веб-страницы находятся в подпапке /public/ .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .