NppExec Notepadd++ не ожидаемый вывод
У меня есть следующий тестовый scirpt:
<?php
echo 'Hello' // mistake - missing semicolon
echo 'Hi';
echo $hi; // mistake - undefined variable
?>
Я попытался проверить этот скрипт с помощью NppExec - я использовал команду:
$(NPP_DIRECTORY)\notepad++.exe -n $(FULL_CURRENT_PATH)
И я получил для меня неожиданный вывод:
Process started >>>
<<< Process finished. (Exit code 0)
================ READY ================
Я ожидал сообщения об ошибке. Значит ли это, что я неправильно использую NppExec? Спасибо
1 ответ
Эта проблема
Эта команда:
$(NPP_DIRECTORY)\notepad++.exe -n $(FULL_CURRENT_PATH)
Я не знаю, что вы думаете, что он делает, но вот что он делает:
Это открывает Notepad++. Не PHP или что-нибудь, просто Notepad++. Однако, поскольку экземпляр Notepad ++ уже запущен, он просто завершается.
Я не знаю, произойдет ли это до того, как аргументы вступят в силу, но если этого не произойдет, то $(FULL_CURRENT_PATH)
будет открыт как файл, и Notepad ++ перейдет на строку 0 в нем из-за -n
опция, которая означает "выделите строку X". Так как вы не даете, например, -n15
но просто -n
номер строки равен нулю.
Решение
Я предполагаю, что ваша цель - проверить синтаксис вашего PHP-файла.
Для этого вам нужно установить PHP в вашей системе и иметь папку PHP bin %PATH%
(или используйте полный путь к php.exe ниже).
Тогда команда NppExec, которую вы ищете, должна быть:
php.exe -l $(FULL_CURRENT_PATH)
Проходя -l
(строчная буква L) для исполняемого файла PHP позволит проверить синтаксис входных файлов.