VScode 显示关闭文件中的问题

Zim*_*Gil 16 eslint visual-studio-code

我正在使用VScode 的ESLint 插件。

它似乎只在打开的文件中显示问题(在底部面板的问题选项卡上),一旦我关闭文件,问题就会消失。必须有一种方法可以显示工作区中的所有问题,包括已关闭的文件,我曾经这样做过。

我意识到,即使关闭“仅显示活动文件” ,我仍然没有在关闭的文件中看到任何问题。

ano*_*rmh 0

vscode-eslint不会以这种方式工作,并且不太可能按照dbaeumer 的评论实现它:

由于它对性能的影响,我不愿意实现它。

实现这个功能是一个坏主意。尽管它对于小型项目来说似乎很实用,但它不太可能适用于大型项目。首先,考虑该扩展目前的工作原理:

  1. 文件被打开
  2. 该文件被检查eslint
  3. 报告问题
  4. 对打开的任何其他文件重复此操作

然后当文件关闭时:

  1. 删除该文件中报告的任何问题

一切都运行良好,并且“问题”选项卡上的指示器可以快速更新。

接下来,考虑如果需要检查整个项目并eslint报告所有问题,它将如何工作。对于此示例,让我们考虑一个包含数十万或数百万个文件、总计千兆字节数据的项目:

  1. 项目已开通
  2. 必须迭代每个文件以确定是否适合检查eslint
  3. 每个响应文件都必须经过检查eslint
  4. 必须进行监控以监视对项目中任何文件的写入(创建、删除、更新),以便可以在写入时检查或重新检查它们

让我们假设这已经实现并且在 VSCode 中打开了一个项目:

  • 当处理发生时,问题计数器会不断增加。尽管没有与项目中的文件进行交互,但没有向用户表明为什么问题计数会增加,并且当存在数万或数十万个错误时尝试查看或理解问题选项卡将会很困难。
  • 处理项目时eslint将使用大量 CPU 时间和大量内存。如果没有并行处理,将需要很长时间才能完成,并且不会向用户指示扫描过程将花费多长时间或已完成多少。
  • 通过编辑或 VSCode 配置对 ESLint 配置进行的任何更改都.eslintrc.js需要重新处理整个项目。

这只是对这样的整个项目扫描中存在的陷阱的一瞥。由于这些影响以及为了减轻这些影响而必须完成的复杂工作,它不太可能被实施。