在Gedit中,我可以在当前文档上添加一个"php -l"的外部工具,如果我安装了php命令行,它将对文档进行语法检查。崇高文本编辑器有办法做到这一点吗?(注意,我有一个Mac,它安装了PHP CLI。)
我想我必须粘贴一个代码片段到Sublime插件,对吗?
你所指的动作被称为"linting",有许多Sublime插件可以检测PHP文件。正如Len_D所提到的,PHP Syntax Checker
是其中之一,但我实际上推荐SublimeLinter
作为Sublime Text 2的替代。(有一个不同版本的SublimeLinter
适用于ST3,但它不向后兼容,并且与ST2版本具有完全不同的架构,不再被官方支持。)
要安装,首先安装Package Control(如果还没有安装的话),然后重启Sublime。使用CtrlShiftP打开命令调色板,键入 pci
以调出Package Control: Install Package
。按输入,然后输入 sublimelinter
,然后再按输入安装。安装完成后,请重新启动ST2以获得好运。要进行配置,首先打开 Sublime Text 2 -> Preferences -> Package Settings -> SublimeLinter -> Settings-Default
并复制其全部内容。然后,在同一子菜单中打开 Settings-User
,将内容粘贴到其中。现在可以关闭 Settings-Default
。为了正确的语法高亮显示(告诉注释在哪里),从Sublime窗口右下角的选项列表中选择 JavaScript -> JSON
。
向下滚动到"sublimelinter_executable_map"
字典中的第36行,在开始的{
和结束的}
花括号之间添加一个空白行。打开Terminal并输入which php
,找到系统上php
可执行文件的完整路径。复制路径并在刚才创建的空白行中添加"php"
条目。例如,如果路径是/opt/local/bin/php
,那么完整的部分应该是这样的:
"sublimelinter_executable_map":
{
"php": "/opt/local/bin/php"
},
向下滚动其余的"sublimelinter_*"
选项并修改它们以适应您的偏好。第108行之后的选项很可能与您无关,因为它们处理JavaScript, CSS, Python等的编译器。但是,如果您想在其他语言中使用SublimeLinter
,请随意通读它们。一旦你完成了,保存文件,你应该都设置好了。SublimeLinter
将根据"sublimelinter"
(第13行)和"sublimelinter_delay"
设置(第67行)显示其消息(增加该值以增加停止输入和linter消息出现之间的延迟)。如果您不想要这种"实时"检测,请根据您的偏好将"sublimelinter"
设置为load-save
、save-only
或false
。我个人觉得直播很烦人…
就是这样。完整的文档可在README中获得。请记住,如果/当你升级到Sublime Text 3(我强烈推荐,顺便说一下),你需要安装和配置SublimeLinter3
,这是一个完整的重写插件到一个更模块化的架构。因此,基本的SublimeLinter
包必须由SublimeLinter-php
等特定于语言的linter插件来补充。请确保你阅读了完整的文档(是的,有很多,但它是值得的),以使一切运行顺利。
祝你好运!