Sublime Text 编辑器中的 PHP 语法检查

标签 php sublimetext2 sublime-text-plugin syntax-checking

在 Gedit 中,我可以在当前文档上添加一个“php -l”的外部工具,如果我安装了 PHP 命令行,它会检查文档的语法。有没有办法用 Sublime Text Editor 做到这一点? (注意,我有一台 Mac,并且安装了 PHP CLI。)

我想我必须将代码片段粘贴到 Sublime 插件中,对吧?

最佳答案

您所指的操作称为“linting”,并且有许多 Sublime 插件可以对 PHP 文件进行 lint。作为mentioned通过 Len_D, PHP Syntax Checker 是一个,但我实际上会推荐 SublimeLinter for Sublime Text 2反而。 (ST3 有一个不同版本的 SublimeLinter,但它不向后兼容,并且与 ST2 版本具有完全不同的体系结构,后者不再受到官方支持。)

要安装,首先install Package Control如果还没有,请重新启动 Sublime。使用 CtrlShiftP 打开命令面板并键入 pci 调出 <b><i>P</i></b>ackage <b><i>C</i></b>ontrol: <b><i>I</i></b>nstall Package .点击 Enter,然后输入 sublimelinter ,然后再次按 Enter 进行安装。安装完成后再次重启ST2,祝好运。要配置,首先打开 Sublime Text 2 -> Preferences -> Package Settings -> SublimeLinter -> Settings-Default 并复制其全部内容。然后,打开 Settings-User 从相同的子菜单并将内容粘贴到其中。您现在可以关闭 Settings-Default 。对于正确的语法突出显示(告诉注释在哪里),选择 JavaScript -> JSON 从 Sublime 窗口右下方的选项列表中。

向下滚动到 "sublimelinter_executable_map" 中的第 36 行dict 并在开头 { 之间添加一个空行和关闭 }大括号。找到 php 的完整路径通过打开终端并输入 which php 在您的系统上执行.复制路径并为 "php" 添加条目在你刚刚制作的空白行上。例如,如果路径是 /opt/local/bin/php ,完整部分应如下所示:

"sublimelinter_executable_map":
{
    "php": "/opt/local/bin/php"
},

向下滚动 "sublimelinter_*" 的其余部分选项并修改它们以适合您的喜好。第 108 行之后的选项很可能与您无关,因为它们处理 JavaScript、CSS、Python 等的 linter。但是,如果您想使用 SublimeLinter,请随意阅读它们。对于其他语言。 完成后,保存文件,一切就绪。 SublimeLinter将根据 "sublimelinter" 显示其消息(第 13 行)和 "sublimelinter_delay"设置(第 67 行)(增加值以增加停止输入和出现 linter 消息之间的延迟)。如果您不想要这种“实时”检查,请设置 "sublimelinter"load-save , save-only , 或 false ,取决于您的喜好。我个人觉得 live linting 相当烦人......

仅此而已。 README 中提供了完整的文档.请记住,如果/当您升级到 Sublime Text 3 (顺便说一下,我强烈推荐),您需要安装和配置 SublimeLinter3 ,这是将插件完全重写为更加模块化的架构。因此,基地 SublimeLinter包必须由特定语言的 linter 插件补充,如 SublimeLinter-php .请确保您阅读了 full documentation (是的,有很多,但这是值得的)让一切顺利运行。

祝你好运!

关于Sublime Text 编辑器中的 PHP 语法检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24433423/

相关文章:

build - 在 Sublime Text 3 中编辑构建系统

javascript - 在完整网站上搜索并替换为 JQuery、php 或其他内容

php - Laravel 或 PHP 唯一具有多个条件

php - 如何使用 PHP dom 设置元素的 id?

api - 如何将文本折叠和折叠代码块数据保存到 .sublime-workspace?

ssh - 通过 SSH 在具有有限权限的计算机上使用 RSUB

php - 是否可以通过 functions.php 文件将文本框连接到 WordPress 主题中?

c++ - Sublime Text 2 中的 C++ 注释

python - Sublime 编辑器2 : Key-bindings to send command to terminal

python - 如何从 sublime 插件中的另一个目录导入类