У меня есть следующие тесты:
<?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 неправильно?
Спасибо
Эта команда:
$(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 будет проверять синтаксис входных файлов.
Других решений пока нет …