【问题标题】:Disable TSLint in VSCode在 VSCode 中禁用 TSLint
【发布时间】:2018-11-22 05:44:57
【问题描述】:

所以感觉这应该是一件容易的事,但它开始让我发疯。我似乎无法关闭 TSLint 或 TS 或任何给我这些错误的东西。我只想要 ESLint 和我自己配置​​的规则,没有别的。

它是内置在 TS 中的吗?我已禁用 TSLint 扩展(甚至将其卸载)。我制定了以下规则:

"typescript.format.enable": false,
"typescript.validate.enable": false,

仍然给我错误。如何关闭此功能?

【问题讨论】:

  • 您可以尝试在该行之后执行/*tslint:disabled*/。如果这不起作用,那么可能是您的 IDE 抛出错误/警告说您做错了什么。它说您从不使用 CircleSpinner,所以您是否在 html 中使用它并绕过打字稿?您也许可以将它添加到构造函数或其他东西中,它会消失。
  • 您在更改设置后是否重新启动了编辑器?设置"typescript.validate.enable": false, 让我的[ts] 支票消失了。
  • @HenrikAndersson 实际上它似乎不起作用。它不断地回来。我已经将该规则设置为 false,我尝试重新加载并重新启动。同样的问题仍然存在:(
  • @rhavelka 它可以工作,但就我而言,它确实不能解决任何问题。我不想要一个修复,而是一个合适的解决方案。
  • 它不工作。它让我发疯。

标签: typescript visual-studio-code tslint


【解决方案1】:

Ctrl-Shift-P(命令面板)

输入Preferences: Open Workspace Settings JSON

添加

“tslint.enable”:假

或者

“typescript.validate.enable”:假

但请注意,正如@rawpower 所说“我们不想禁用错误,只是'警告'”

无论如何, 保存并重启 VSCode

【讨论】:

  • 即使在 VSCode 中禁用 typescript validate 和 tslint 后,我​​仍然会看到 ts 错误消息:"typescript.validate.enable": false,"tslint.enable": false,"tslint.jsEnable": false
  • 这很奇怪。一定是发生了其他事情 - 可能是错误的 settings.json 文件或位置错误?
  • 对于我来说,我有 [ts] ? 出现。所以,我只需要添加:"typescript.validate.enable": false,。很快,它就消失了。
【解决方案2】:

似乎错误来自 TypeScript 扩展,它在处理 JavaScript IntelliSense。由于对 UX 的一些无知,VSCode 在错误前加上 [ts] 而不是 [js]

要禁用这些验证,请设置

"javascript.validate.enable": false

更多详情请见this issue

【讨论】:

  • 这是正确的解决方案。这些文件是 JS,所以它是“Javascript 验证”。但是这个验证是通过底层的 Typescript 引擎完成的。可能有点混乱。 IMO ESLint 特别适用于 TS 引擎在没有明显配置方式的情况下会抛出大量错误的旧项目。
【解决方案3】:

一个月的大部分时间里,我一直在寻找这个答案。我找到了一个适用于 VS Code 的解决方案,它不是全面禁用所有 javascript 验证,也不需要我将文件/声明添加到不属于我的存储库中。

将此行添加到您的用户设置中:

"javascript.suggestionActions.enabled": false

"javascript.validate.enable": false(您不应该使用)不同,上述设置将消除那些烦人的[ts] Could not find a declaration file for module javascript 文件中无类型模块导入的错误,它仍然可以很好地处理 linter 并为您提供适当和相关的错误。

【讨论】:

  • 没错!我们不想禁用错误,只是“警告” - 就我而言,它一直在困扰我,它可以为 JavaScript 代码推断出更好的类型?!?如果我想要类型(我确实想要,但不能在这个项目中使用它们)我会使用 TypeScript ......谢谢!
  • @rawpower,@Morrel,我认为你们错了,OP 已经激活了 esLint,并希望删除 TSLint 错误和警告。
  • @HugoCantacuzene 这个解决方案实际上是唯一不影响 eslint 的解决方案!其他解决方案将禁用 linter。这将阻止 TS lint 尝试验证 JS。 :)
  • 我不知道为什么,但这对我不起作用。 "javascript.validate.enable": false 有效,但正如你提到的,我不想禁用所有 nalidations。
【解决方案4】:

只需打开设置(文件 -> 首选项 -> 设置)或快捷方式(Ctl + ,)并搜索“Javascript Validate”。

【讨论】:

    【解决方案5】:

    大多数答案都关闭了 JavaScript 的重复错误,而不是 TypeScript,就像 OP 询问的那样。对我有用的是:

    1. 卸载 TSLint vscode 扩展
    2. 安装 ESLint vscode 扩展
    3. 完成为 TypeScript 配置 ESLint(此时将像 OP 一样同时出现“ts 错误”和“eslint 错误”)。
    4. 打开 settings.json 并将其添加到底部:"typescript.validate.enable": false

    起初,我担心这个选项会关闭所有打字稿验证,包括 eslint,但幸运的是事实并非如此。它只禁用了内置的 vscode typescript 验证,并且不理会 eslint。

    最重要的部分是将"typescript.validate.enable": false添加到settings.json

    或者,除了手动编辑settings.json,另一种方法是取消选中设置菜单中的复选框(ctrl+')

    仅供参考,您可以将其添加到您的 User settings.json (适用于您的所有项目) 或您的 Workspace settings.json (仅适用于当前项目).

    【讨论】:

      【解决方案6】:

      对我来说,解决方案是在根级别创建一个jsconfig.json 文件。 在里面你可以配置compilerOptions,在重启VSCode后对我有用。

      【讨论】:

        【解决方案7】:

        据我了解,VSCode 正在检查自己的 javascript,并相信 TypeScript 错误是您所期望的。

        为了阻止 VSCode 检查我的代码,只让 eslint 扩展检查它,我这样做了:

        • 使用 eslint 检查我的 javascript(安装扩展)
        • 告诉 vscode 不要检查我的 javascript 文件:in jsconfig.json:
        {
           "compilerOptions": {
              "checkJs": false
           }
        }
        

        我仍然看到“eslint”报告的错误,并且这些错误与 eslint 的命令行运行一致。

        PS:这里的jsconfig参考:https://code.visualstudio.com/docs/languages/jsconfig

        【讨论】:

          猜你喜欢
          • 2018-12-01
          • 2020-06-15
          • 2018-09-15
          • 2017-06-16
          • 2019-01-20
          • 2021-02-20
          • 2019-05-08
          • 2019-05-07
          • 2019-05-07
          相关资源
          最近更新 更多