我有以下测试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错了? 谢谢
答案 0 :(得分:1)
此命令:
$(NPP_DIRECTORY)\notepad++.exe -n $(FULL_CURRENT_PATH)
我不知道你在想什么正在做什么,但这就是 做的事情:
这将打开Notepad ++。不是PHP或任何东西,只是Notepad ++。但是,由于Notepad ++实例已经运行,它只是退出
我不知道在参数生效之前是否会发生这种情况,但如果没有,那么$(FULL_CURRENT_PATH)
将作为文件打开,而Notepad ++将跳转到第0行,因为-n
选项,表示“滚动到第X行”。例如,由于您未提供-n15
而只是-n
,因此行号为零。
我认为您的目标是验证PHP文件的语法
为此,您需要在系统上安装PHP并在%PATH%
中使用PHP bin文件夹(或使用下面的php.exe的完整路径)。
然后你要找的NppExec命令应该是:
php.exe -l $(FULL_CURRENT_PATH)
将-l
(小写 L )选项传递给PHP可执行文件将使其验证输入文件的语法。