You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio Code中如何检测TypeScript死代码?含未使用公共方法排查

检测TypeScript项目中未被调用的公共方法死代码

针对你在VS Code里开发TypeScript项目时,困惑于如何排查未被任何地方调用的公共方法死代码的问题,我分享几个实战中好用的方案:

1. 切换到ESLint + TypeScript ESLint(替代TSLint)

TSLint已经停止维护了,现在社区主流都是用ESLint搭配TypeScript ESLint插件,它提供了更强大的死代码检测能力,包括公共方法:

  • 首先确保你的项目已经安装了必要依赖:
    npm install eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser --save-dev
    
  • 在项目根目录创建.eslintrc.js配置文件,启用相关规则:
    module.exports = {
      parser: '@typescript-eslint/parser',
      plugins: ['@typescript-eslint'],
      rules: {
        // 检测未被使用的变量、函数(包括导出的公共方法)
        '@typescript-eslint/no-unused-vars': [
          'error',
          {
            argsIgnorePattern: '^_',
            varsIgnorePattern: '^_',
            // 关键:检测导出的未使用成员
            vars: 'all',
            args: 'after-used',
            ignoreRestSiblings: true
          }
        ],
        // 检测未被使用的类成员(包括公共方法)
        '@typescript-eslint/no-unused-member': 'error'
      }
    };
    
  • 配置好后,VS Code的ESLint插件会实时在编辑器里标记出未被调用的公共方法,非常直观。

2. 使用专门的死代码扫描工具:ts-prune

这是我平时清理项目死代码时最常用的工具,专门针对TypeScript项目扫描未被引用的导出内容:

  • 安装工具:
    npm install ts-prune --save-dev
    
  • 在package.json的scripts里添加命令:
    {
      "scripts": {
        "find-dead-code": "ts-prune"
      }
    }
    
  • 运行命令:
    npm run find-dead-code
    
  • 工具会输出所有未被引用的导出项,包括公共方法、类、变量等,每条结果都会显示文件路径和行号,直接定位到代码位置。

3. 利用VS Code的CodeLens功能

VS Code自带的CodeLens可以显示代码的引用次数,帮你快速识别未被调用的公共方法:

  • 打开VS Code设置,搜索typescript.referencesCodeLens.enabled,确保这个选项是开启的。
  • 回到你的TypeScript代码文件,每个方法上方会显示0 references的标记,这就说明这个公共方法没有被任何地方调用。
  • 注意:这个功能依赖TypeScript的语言服务,确保你的项目已经正确配置了tsconfig.json,让VS Code能正确解析项目的依赖关系。

小提示:如果你的项目是一个库,有些公共方法是对外暴露的API,可能不会在项目内部被调用,这时候要注意区分真正的死代码和有意暴露的API,可以通过注释或者配置工具忽略这些情况。

内容的提问来源于stack exchange,提问作者Pramod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:18:15