Sublime Text - 如何为每个项目启用linters

时间:2018-04-26 14:24:17

标签: sublimetext3 sublimetext eslint eslintrc standardjs

我在几个javascript项目上合作。其中一些使用eslint,另一些使用standard。这是项目由不同的和不相关的团队维护,因此强制他们使用相同的linter不是一种选择。

我使用Sublime Text 3,似乎当我安装SublimeLinter插件,加上SublimeLinter-contrib-standard和SublimeLinter-eslint时,它们最终都处于活动状态,所以当突出显示错误时它不清楚在编辑器中,linter生成它。

为了增加混乱,SublimeLinter-contrib-standard在save"上提供了一种"格式。保存文件时应用标准格式的选项,例如删除所有分号。但是,对于依赖于eslint并且有一组不同的linter规则要应用的项目,不应该这样做,例如,他们可能会使用分号。

那么,如何配置我的开发环境以便能够使用项目所依赖的任何linter?

我试过了:

  • 在项目的根目录上创建一个.sublime-project文件,指定@disable:对于我不想活动的短信,为true,但它没有任何效果(参见{{ 3}})
  • 使用相同的选项创建.sublimelinterrc,但仍无效果。
  • 禁用"格式化保存"标准linter只能避免文件被修改的问题,但是linter仍处于活动状态并突出显示错误
  • 我已经阅读了http://www.sublimelinter.com/en/latest/settings.html#project-settings的SublimeLinter项目,他们关闭了它,但后来有几个人报告说它没有为他们工作
  • 将文件添加到repo不是问题,我可以提交.eslintrc,.sublime.project或任何有助于实现此目的的文件。如前所述,我尝试过这些特殊文件无济于事。

如何针对同一种语言(javascript)为每个项目启用不同的linters?我想这必须是一个非常常见的用例,特别适合在不同开源项目中合作的人,这些项目可能遵循不同的编码标准。

我正在考虑切换到另一个更好地处理这个问题的编辑器。也许this GitHub issue?如果有人对这个或其他编辑有更好的处理意见,我也很感激。

谢谢!

2 个答案:

答案 0 :(得分:1)

你的第一个恐慌是在正确的轨道上。但是,设置为“禁用”,没有@。您链接到的文档包含正确的信息,因此请再试一次,它应该有效,

答案 1 :(得分:0)

Following the documentation,您应该在项目的.sublime-project文件中添加linter设置。如果您只是创建文件,请尝试以项目形式打开(或仅保存当前项目并再次更改文件)。

例如,要更改“禁用”选项,您的文件应如下所示:

{
    "folders":
    [
        ...
    ],
    "settings":
    {
        "SublimeLinter.linters.eslint.disable": true
    }
}

记住:

  

在项目中只能更改其中的“线性”设置。

哦。还有一点:

  

(...)它们最终都处于活动状态,因此尚不清楚何时发生错误   在编辑器中突出显示,由linter生成。

好吧。我使用phpcs和phpmd,将鼠标悬停在错误点时可以检查皮棉的名称:

PHPCS error message with identification

为此检查show_hover_line_reportshow_hover_region_report的设置。