VSCode - 灰色未使用的导入

VSCode - gray out unused imports

是否可以配置 VSCode 以将未使用的导入显示为灰色? 我有 VSCode 1.21.0,使用 Typescript 2.7.2

我发现并尝试了几种设置,但 none 对我有用。基于此 从版本 1.19.0

开始应该是可能的

我尝试按照描述设置 tsconfig here,但唯一的影响是编译期间出现很多错误。

这似乎是我什至将其视为默认设置的基本要求。在其他编辑器(例如 WebStorm)中绝对有可能。我喜欢 VSCode 但我真的很想念这个功能。

我想你需要等待一段时间,因为他们有计划很快发布。

检查这个 link Suggestion: Show unused imports in VS Code Editor as grayed #8165

使用正确的规则更新项目文件夹中的 tslint.json 文件:

{
  "rules": {
    "no-unused-variable": true,
    .........
    .........
  }
}

也在 vscode 中验证:

"typescript.autoImportSuggestions.enabled": true

未使用的导入将被报告为警告。 tslint documentation.

中的更多信息

此功能是为 JavaScript 和 TypeScript with VS Code 1.24

添加的

VS Code 内置支持在 JavaScript 和 TypeScript 中淡出未使用的 locals/parameters/imports。您可以通过 setting:

enable/disable 此功能
// For all languages (it is enabled the default)
"editor.showUnused": true

// Or just for a specific language
"[typescript]": {
   "editor.showUnused": true
}

扩展还可以添加对其他语言的支持。

您还可以通过在 jsconfigtsconfig:

中设置 noUnusedLocals and/or noUnusedParameters 将未使用的变量标记为警告
{
  "compilerOptions": {
    "noUnusedLocals": true,
    "noUnusedParameters": true
  },
  "exclude": [
    "node_modules",
    "**/node_modules"
  ]
}

这除了将它们变灰之外,还为未使用的变量添加了波浪线和错误:

别忘了select语言模式。

对我来说,问题是我关闭了 javascript.validate.enable,所以即使 editor.showUnused 设置为 true,它也不起作用。所以我的解决办法是同时拥有:

{
  "javascript.validate.enable": true,
  "editor.showUnused": true
}