【问题标题】:Visual Code : How to detect dead typescript code视觉代码:如何检测死打字稿代码
【发布时间】:2018-10-15 12:08:57
【问题描述】:

私有方法有可用的 tslint 规则。但是我怎样才能知道公共方法是否没有在项目中的任何地方使用,因此是死代码的候选者。我正在为 Typescript 使用 Visual Studio 代码。

【问题讨论】:

  • 我怀疑您会找到可以执行此操作的 TSLint 规则,因为 TSLint 会单独处理文件。要编写处理多个文件的规则,需要以不同的方式分析编译后的程序。私有方法只能驻留在一个文件中,这就是为什么它们很容易检查的原因。

标签: typescript unused-variables


【解决方案1】:

看看https://www.npmjs.com/package/ts-unused-exports

它会产生这样的输出

$ ts-unused-exports tsconfig.json

4 modules with unused exports

src/lambda: handler
src/routes/crud: default

【讨论】:

  • 问题是关于未使用的代码,而不仅仅是未使用的导出。
  • 通过检测未使用的导出,您可以找到死代码。但是,如果您有解决方案,请分享
  • 他要求检测未使用的公共功能。如果你有一个角度分量怎么办?您可以有一个从 html 模板调用的未导出的公共函数。它没有出口,但仍在使用中。只有导出不会这样做。
  • 也可以试试ts-prune 包,它做同样的事情。
【解决方案2】:

好吧,我认为您不能对所有代码都这样做,但您可以打开方法/函数/属性的上下文菜单,然后选择“查找所有引用”。如果没有找到,您可以将其标记为删除候选。

当然,这种方法并不完美。例如,您可以从一个对象调用方法,该对象是一个类的实例,但之前已转换为 any,但这是一个起点。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,dpdm 是最好的解决方案。但我想要一个集成在 Visual Code 中,所以最后创建了一个名为 Find unused exports 的扩展。它允许轻松查看和转到 js/ts 项目中未使用的导出。

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2019-04-14
      • 2011-05-19
      • 2018-12-29
      • 1970-01-01
      • 2017-03-01
      • 2018-10-04
      • 1970-01-01
      • 2017-12-10
      相关资源
      最近更新 更多