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

问题描述 投票:2回答:2

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

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

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

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

我试过了:

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

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

我正在考虑切换到另一个更好地处理这个问题的编辑器。也许https://code.visualstudio.com/?如果有人对这个或其他编辑的评论有更好的处理,我也很感激。

谢谢!

sublimetext3 sublimetext eslint eslintrc standardjs
2个回答
1
投票

你的第一颗子弹在正确的轨道上。没有@,设置被“禁用”。您链接到的文档有正确的信息,所以再试一次,它应该工作,


1
投票

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

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

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

记得:

只能在项目中更改“linters”设置。

哦。一个额外的观点:

(...)它们最终都是活动的,因此不清楚何时在编辑器中突出显示错误,哪个linter生成它。

好。我使用phpcs和phpmd,我可以在悬停错误点时检查lint的名字:

检查show_hover_line_reportshow_hover_region_report设置。

© www.soinside.com 2019 - 2024. All rights reserved.