允许文件在保存操作时自动格式化,但停止/禁用/防止 VSCode 删除死代码的神奇配置是什么?
有时我想故意在函数中间抛出异常,出于调试目的,但被迫注释掉所有以下代码以免将其删除。
更糟糕的是,有时我在编辑器尚未从代码中的某些错误中恢复时进行保存,认为代码仍然包含错误,并导致代码删除,而这本来就不应该发生。我发现自己多次拉起 git 来恢复被错误删除的好代码。
是否有明确的“不删除死代码”选项可以打开?
更新:
source.fixAll
还激活 TS 修复,这些修复在某种程度上过于激进,无法在保存时使用。仅使用 source.fixAll.eslint
启用 eslint 修复是一个很好的妥协 - 它仍然会报告死代码(无无法访问)但不会删除它。
案件已破。
我无法确定导致该问题的确切包,但它似乎与 ESLint 或 Prettier 有关。
结果该项目的 Github 存储库包含一个
.vscode
目录,其中的 settings.json 包含以下配置:
{
"editor.codeActionsOnSave": {
"source.fixAll": true
}
}
我已经看到帖子说要添加
"source.fixAll": false
到 VSCode 的通用 settings.json
文件中,但是我这样做并没有效果。
将标志设置为
false
就成功了
{
"editor.codeActionsOnSave": {
"source.fixAll": false
}
}
注意:将上述块添加到常规
settings.json
中也没有效果。我必须修改本地 .vscode/settings.json
文件才能使其正常工作。
根据@NikoSams答案中引用的问题,您只需将
"allowUnreachableCode": true
添加到您的tsconfig.json
中,它不会自动删除死代码;您不需要完全禁用文件保存修复。
它没有被列为设置,因为有问题的扩展是内置的打字稿扩展,并且它从您的
tsconfig.json
(如果存在)获取其“设置”。
{
"compilerOptions": {
"allowUnreachableCode": true,
...
},
...
}