VS Code中TypeScript下划线前缀未用参数的配置问题
TypeScript未使用参数的IDE显示配置问题
关闭ESLint后,IDE中出现如下现象(仅row被使用):
鼠标悬停各参数时的提示:
- 'cell'已声明但未被读取。ts(6133)
- 'ev'已声明但未被读取。ts(6133)
- _column无提示
- _ev无提示
在tsconfig.json中启用noUnusedParameters配置后:
仍出现上述ts(6133)警告,但以下划线开头的参数(如_x)无任何提示。
期望实现的效果
- 未使用的变量显示波浪线和警告
- 以下划线
_开头的变量(如_ev)除外,不显示波浪线和警告 - 所有未使用的变量均变暗,包括下划线前缀的变量
需求3的原因
未使用的变量本质上就是未被使用,我希望能在IDE中快速识别它们——即使通过命名为_x来忽略警告,变暗显示也比仅靠下划线前缀更容易分辨。另外,有时需要用下划线前缀的变量避免变量遮蔽,例如:
const table = //... 某个全局变量 { someCallback: (_ev, _value, _table) => { const value = clamp(0, _value, 100) return _table.rows.map(row => row + value) // _ev 未被使用 // _value 故意加下划线命名 // _table 用于避免遮蔽上层作用域的table变量 } }
但当前存在问题:
- 未启用
noUnusedParameters时,下划线前缀的未使用变量不会变暗:
- 启用
noUnusedParameters后,下划线前缀的未使用变量同样不会变暗,且非下划线的未使用变量会出现波浪线:
可以确定这是TypeScript的问题:关闭TS Server后,所有参数均显示为正常亮度:
内容的提问来源于stack exchange,提问作者Qwerty
相关产品推荐
相关产品推荐

