NppExec Notepad ++不是预期的输出

时间:2015-04-20 11:07:01

标签: php notepad++ nppexec

我有以下测试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 个答案:

答案 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可执行文件将使其验证输入文件的语法。