NppExec Notepadd++ 不是预期的输出
NppExec Notepadd++ not expected output
我有以下测试脚本:
<?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
选项,表示 "scroll to line X"。例如,由于您不提供 -n15
,而只提供 -n
,因此行号为零。
解决方案
我认为您的目标是验证 PHP 文件的语法。
为此,您需要在系统上安装 PHP 并在 %PATH%
中有 PHP bin 文件夹(或使用下面 php.exe 的完整路径)。
那么你要找的 NppExec 命令应该是:
php.exe -l $(FULL_CURRENT_PATH)
将 -l
(小写 L)选项传递给 PHP 可执行文件将使它验证输入文件的语法。
我有以下测试脚本:
<?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
选项,表示 "scroll to line X"。例如,由于您不提供 -n15
,而只提供 -n
,因此行号为零。
解决方案
我认为您的目标是验证 PHP 文件的语法。
为此,您需要在系统上安装 PHP 并在 %PATH%
中有 PHP bin 文件夹(或使用下面 php.exe 的完整路径)。
那么你要找的 NppExec 命令应该是:
php.exe -l $(FULL_CURRENT_PATH)
将 -l
(小写 L)选项传递给 PHP 可执行文件将使它验证输入文件的语法。