
Я хотел бы запустить HTML-страницу, поэтому я настроил Execute / F5
команду следующим образом:
chrome.exe http://localhost:8080/$(FILE_NAME)
Это работает, когда файл HTML находится в корне моего Workspace (потому что мой HTTP веб-сервер настроен так). Но это не работает, когда файл находится в подпапке.
Существует ли предопределенная переменная (например, $(RELATIVE_PATH)
), которую можно использовать для получения пути к файлу относительно каталога Workspace?
Заранее благодарю за помощь.
решение1
Начиная с текущей версии Notepad++ 6.9.1 проблема с файлами в путях подпапок на веб-сервере пока не исправлена. Единственная переменная для пути к файлам — $(FULL_CURRENT_PATH)
.
Проверять:Настройка Notepad++ для запуска php на локальном хосте.
Возможно, эта проблема будет исправлена в будущих версиях Notepad++.
решение2
Вместо использования 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. Если это все еще слишком раздражает, см.этот ответ.
решение3
Решение на Python
С плагинами Np++ можно достичь даже чудес. Я написал простой скрипт Np++ Python, который достигает именно этой функциональности. Для этого решения требуются только Notepad++ и плагин PythonScript.
- Установить скрипт Python из Плагины > Менеджер плагинов
- Плагины > Скрипт Python > Новый скрипт
- Назовите его «OpenInBrowser.py» (например) и вставьте скрипт:http://pastebin.com/wS4jThcp
- В скрипте не забудьте настроить свойбраузерExeFullPath,браузерUrlи ваша веб-страницаrootDir(под которым будет располагаться 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
необходимо, так как мои веб-страницы расположены в подпапке/public/
.