You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在IntelliJ IDEA 2025.2.3(旗舰版)中检测TypeScript项目中未使用或仅在测试文件中使用的代码的方法

在IntelliJ IDEA 2025.2.3(旗舰版)中检测TypeScript项目中未使用或仅在测试文件中使用的代码的方法

我之前也碰到过一模一样的问题——IntelliJ默认的未使用符号检测会把测试文件里的引用也算作有效引用,导致那些只在测试里调用的业务代码被“误判”为已使用。折腾了一阵后,终于摸出两个靠谱的解决方法,分享给你:

方法一:通过自定义作用范围一次性批量检测

这是最高效的方式,能一次性找出所有在业务代码里没被用到(仅在测试或完全未使用)的全局函数、类、类成员等:

  1. 打开「按名称运行Inspection」工具
    可以用快捷键Ctrl+Alt+Shift+I(Windows/Linux),或者通过顶部菜单Analyze -> Run Inspection by Name打开,然后搜索对应的检测项:

    • 找全局的函数、类等,搜「Unused global symbols」
    • 找类的成员函数、属性,搜「Unused member」
  2. 自定义排除测试文件的作用范围(核心步骤)
    在弹出的运行对话框里,点击「Scope」下拉框旁的三个点(...)进入Scope编辑界面:

    • 点击左上角的「+」,选择「Local Scope」,给这个Scope起个好记的名字,比如「业务TS代码」
    • 在右侧的「Pattern」区域设置规则:
      • 先添加包含规则:点击「Include」,输入file:*.ts(包含所有TS文件)
      • 再添加排除规则:点击「Exclude」,输入file:*.test.ts(如果你的测试文件是.spec.ts就改成这个,也可以直接排除整个测试目录,比如file:**/__tests__/*
    • 确认后保存这个Scope,回到运行对话框,选择你刚创建的这个Scope。
  3. 开始分析并查看结果
    点击「OK」启动分析,IntelliJ会只针对你定义的业务代码范围进行检测,并且不会把测试文件里的引用算作有效引用。分析完成后,底部会弹出Inspection结果窗口,你可以在这里筛选不同类型的未使用代码,还能批量处理(比如直接删除)。

方法二:设置实时编辑器高亮,随时看到未使用代码

如果你想在日常编码时,编辑器就实时高亮那些仅在测试里用或完全未使用的代码,可以这么配置:

  1. 打开Settings -> Editor -> Inspections(快捷键Ctrl+Alt+S
  2. 展开「TypeScript」分类,找到「Unused symbols」(对应全局符号)和「Unused member」(对应类成员)
  3. 对每个检测项,点击「Scope」下拉框,选择你之前自定义的「业务TS代码」Scope
  4. 点击「Apply」保存设置

之后,编辑器就会实时高亮那些在业务代码里没有被引用的符号——哪怕它们在测试文件里被用到,也会被标记为未使用,完全匹配你的需求。

小提醒

  • 如果你有多种测试文件命名规则(比如同时有.test.ts和.spec.ts),在自定义Scope的排除规则里可以用逗号分隔,比如file:*.test.ts,file:*.spec.ts
  • 分析完成后,不确定的话可以右键点击某个未使用的符号,选择「Find Usages」再确认一下,避免漏掉动态引用这类IntelliJ可能检测不到的情况

火山引擎 最新活动