【问题标题】:ESLint support Visual studio 2017ESLint 支持 Visual Studio 2017
【发布时间】:2017-10-30 03:41:14
【问题描述】:

Visual Studio 2017 似乎不支持 ESlint 静态智能感知,这使得 .js 文件中的编码变得非常痛苦,因为我必须运行 CMD eslint 命令来获取任何 linting 错误。在 VSCode 中,我可以只使用 ESLint 扩展。 Visual Studio 2017 怎么样?

他们有什么方法可以启用它吗?

【问题讨论】:

    标签: visual-studio visual-studio-2015 visual-studio-2017 eslint visual-studio-2019


    【解决方案1】:

    如何让 ESLint 在 Visual Studio 2019 和 2017 中工作:

    2019 v16 & 2017 >= v15.8

    我在最后包含了以前版本的说明,但如果你想要这个功能,请帮自己一个忙并升级。

    从菜单:工具 > 选项 > 文本编辑器 > Javascript/Typescript > Linting

    检查Enable Eslint

    global-in-visual-studio .eslintrc 文件与其他 Visual Studio 配置一起位于您的根用户目录 (Windows 10)。你仍然可以在你的机器上通过npm install eslint -g 安装 eslint。 VS不会使用它。它带有 react 插件,但您可以安装其他插件,它们将起作用。您可以在项目中正常扩展配置 (eslint ref)

    它使用 Eslint v4 但acc。到 MS 文档,

    如果您的项目有本地安装的 ESLint,它将使用该版本代替


    2017 v.15.7

    从菜单:工具 --> 选项 --> 文本编辑器 --> Javascript/Typescript 将 Enable Eslint 设置为 True(如果尚未启用)

    然后从主菜单:工具 --> 网页代码分析 --> 编辑 ESLint 设置

    您必须保存 .eslintrcyour.js 文件才能使规则生效。可能有一种方法可以在您键入时启用智能感知,但我还没有找到它。我发现如果在 Visual Studio 已经开始 linting 之后更新规则,我必须重新启动项目才能使新规则生效。仍然很笨拙,但这是快速实现编码标准的好方法,尤其是当您将其与文本编辑器格式匹配并使用自动格式保存插件时,如this one

    只记得编辑here找到的ESLint 2.0.0格式的.eslintrc文件

    【讨论】:

    • 我仍然无法让它工作。我使用 Resharper 和 eslint 的 AirBnB 配置。 VS 仍然不支持很多 linting 规则的事实意味着我认为我将坚持使用 VSCode 进行 JS 开发。
    • 知道如何将 eslint 版本从 2.0.0 升级到更高版本吗?
    • 有没有办法在 VS Professional 2017 中使用位于我的项目根目录中的 .eslintrc 文件?我想对这个文件进行源代码控制,所以将它放在我的用户配置文件文件夹中并不好。
    • 仅用于文档目的:0 = off1 = warn2 = error.
    • 15.8 版本的 .eslintignore 文件有一个小问题。您不应将其保存为带有 bom 的 utf8(Visual Studio 的默认设置)。将 # 作为第一行也可以使其更好地工作!请注意,在处理对 .eslintignore 的任何更改之前,应保存 *.js 文件。
    【解决方案2】:

    我不知道这是否是 15.8.2 更新的一部分(2018 年 8 月 23 日刚刚添加),但 Options 的布局略有变化:

    与 Web 代码分析下的菜单选项一样:

    我突然开始从中得到最多的 picayune 错误(例如“预期为 '===' 而看到的是 '=='。”),我怀疑这是因为它已被“改进”以更好地工作。

    【讨论】:

    • 是否有一些解决方案来避免这种情况? (例如“预期为 '===' 而看到的是 '=='。”)不禁用 EsLint
    • 我还没有看到。而且似乎几乎所有的“错误”都可能/应该是警告,因为最好使用三个 = 符号,但两个并不是完全“错误”
    • 是的,我同意你的看法。有时有必要使用 == 来制作/允许隐式强制转换。 Reference
    • 如果你想在 JS 文件中禁用错误​​:(如“预期 '!==' 而看到 '!='.”),打开 .eslintrc(通常在根文件夹用户中)并修改属性 eqeqeq - 即:"eqeqeq": 0(您可能需要关闭并打开 Visual Studio 才能进行有效更改)
    【解决方案3】:

    Visual Studio 的 eslint 版本不是最新版本,这就是为什么您无法让 eslint 像在 VSCode 中一样工作。

    有一个名为 VisualLinter 的扩展程序可以让你使用更新版本的 eslint。

    【讨论】:

      【解决方案4】:

      截至 2018 年 8 月 14 日,eslint 在 Visual Studio 2017 (15.8.0) 中得到了更好的支持

      https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes-v15.8#eslint-improvements

      【讨论】:

      • 15.8 版本的 .eslintignore 文件有一个小问题。您不应该将其保存为带有 bom 的 utf8(Visual Studio 的默认设置)。将 # 作为第一行也可以使其更好地工作!请注意,在处理对 .eslintignore 的任何更改之前,应保存 *.js 文件。
      • 您能否将上述评论添加到我的回答中?
      • 我使用的是VS 15.8.1版本,ESLint突然在JS库代码中抛出各种错误-升级到最新(15.8.5)修复它。
      猜你喜欢
      • 1970-01-01
      • 2022-11-08
      • 2018-07-14
      • 2017-07-28
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      相关资源
      最近更新 更多