Як запустити HTML-файл із Notepad ++?


7

Я хотів би запустити сторінку HTML, щоб я налаштував Execute / F5команду наступним чином:

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

Він працює, коли файл HTML знаходиться в корені моєї робочої області (оскільки мій веб-сервер HTTP налаштований для цього). Але він не працює, коли файл знаходиться в підпапці.

Чи є заздалегідь визначена змінна (тобто $(RELATIVE_PATH)), яка може бути використана для отримання шляху до файлу відносно каталогу робочої області?

Заздалегідь дякую за вашу допомогу.


3
Чи Run-> вам Launch in Chromeне допомагає?
Бургі

4
Якщо ви використовуєте PHP, ви можете використовувати http://localhost:8080/redirect.php?file=/$(FULL_CURRENT_PATH)там, де redirect.phpзнімає зайву частину. Див. Статтю Налаштування Notepad ++ для запуску php у localhost .
harrymc

1
Аналогічною відповіддю було б використання файлу .bat, щоб зробити обробку рядків та викликати Chrome. Це легко зробити, якщо вам цікаво.
harrymc

@Supersharp Ctrl + Shift + Alt + R
скасувати

Відповіді:


1

Як і в поточній версії Notepad ++ 6.9.1, проблема з файлами в шляху до підпапок на веб-сервері ще не виправлена. Єдина змінна для файлів шлях $(FULL_CURRENT_PATH).

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

Можливо, це питання буде виправлено у майбутніх випусках Notepad ++.


@Supersharp не прочитав розділ коментарів. Перевірте змінні середовища тут: docs.notepad-plus-plus.org/index.php/Defining_User_Commands
iSR5

1
@Supersharp також це корисно: docs.notepad-plus-plus.org/index.php/External_Programs
iSR5

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

За допомогою плагінів Np ++ можна досягти навіть чудес. Я написав простий сценарій Python Np ++, який досягає саме цієї функціональності. Для цього рішення потрібні лише Notepad ++ та плагін PythonScript.

  1. Встановіть сценарій Python із плагінів> Менеджер плагінів
  2. Плагіни> Сценарій Python> Новий сценарій
  3. Назвіть це "OpenInBrowser.py" (наприклад) та вставте сценарій: http://pastebin.com/wS4jThcp
  4. У сценарії, НЕ забудьте налаштувати browserExeFullPath , browserUrl і вашого веб-сторінки ROOTDIR ( в відповідності з яким верхнього рівня index.html буде розташовуватися).
  5. Плагіни> Сценарій Python> Конфігурація та додайте свій скрипт користувача до меню (лівий список)
  6. Перезапустіть Блокнот ++, Налаштування> Матчик ярликів> Команди підключення та переведіть скрипт на ключ, наприклад F9. Тепер, натиснувши цю клавішу, ви відкриєте ваш активний документ у браузері. Не потрібно зовнішніх рішень.

Мені не вдалося встановити плагін "Python Script" на NPP 6.9.1.
Супершерп

У чому саме була проблема? У мене не було проблеми з його встановленням 6.9.1 з Менеджером плагінів - просто перевірено. Крім того, ви можете спробувати встановити його вручну з npppythonscript.sourceforge.net/download.shtml
pKami

1
Я не вдався 4 рази під час завантаження. Я не буду дотримуватися цього рішення, тому що я не хочу встановлювати ще одного інтерпретатора (вже тримаю JVM, CLR, Node, оболонку Windows ...), але я схвалив, тому що це може бути кращим рішенням для користувачів Pyhton.
Супершерп

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/.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.