4

我在几个 javascript 项目上进行了合作。其中一些使用eslint,另一些使用标准。这是由不同且不相关的团队维护的项目,因此不能强制他们使用相同的 linter。

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

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

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

我试过了:

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

如何为同一种语言(javascript)为每个项目启用不同的 linter?我想这必须是一个非常常见的用例,特别是对于在可能遵守不同编码标准的不同开源项目中进行协作的人们。

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

谢谢!

4

2 回答 2

4

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

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

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

记住:

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

哦。一个额外的点:

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

出色地。我使用 phpcs 和 phpmd,当悬停错误点时,我可以检查 lint 的名称:

带有标识的 PHPCS 错误消息

检查show_hover_line_reportshow_hover_region_report设置。

于 2019-02-18T18:26:17.657 回答
1

你的第一个问题是在正确的轨道上。该设置是“禁用”,但没有@。您链接到的文档具有正确的信息,所以再试一次,它应该可以工作,

于 2018-06-04T06:01:19.170 回答