防止在保存时自动格式化期间删除无效代码?
Prevent deleting dead code during Auto Format on Save?
允许文件在保存操作时自动格式化,但停止/禁用/防止VSCode删除死代码的神奇配置是什么?
有时我想故意在函数中间抛出一个异常,用于调试目的,但为了不被删除,我不得不注释掉所有后续代码。
更糟糕的是,有时我保存时,编辑器还没有从代码中的某个错误中恢复过来,认为代码仍然存在错误,导致删除代码,而这本来不应该发生的。我发现自己有太多次拉起 git 来恢复被错误删除的好代码。
是否有明确的“不删除死代码”选项可以打开?
更新:
- 运行 来自命令行的 Prettier(文件格式化程序)没有删除死代码。
- 尝试禁用所有扩展也无济于事。保存时死代码仍然被删除。
破案。
我无法确定导致它的确切包,但它似乎与 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
文件才能使其正常工作。
我将在这里分享我在 Github 上找到的内容,
因此,如果您替换 codeActionsOnSave
并使用 eslint
,它应该会阻止 vscode 从 运行 修复规则 eslint(no-unreachable)
并删除您的代码保存(可能是因为像 Prettier 这样的另一个格式化程序对其进行了修复)。
settings.json
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
"editor.formatOnSave": [bool]
没有必要。
同时检查您的工作区 settings.json 和您的用户 settings.json。
由于计算所有可能修复的复杂算法,您可能需要使用 "editor.codeActionsOnSaveTimeout": [number] (ms)
设置调整时间预算
{
"editor.codeActionsOnSaveTimeout": 1200,
"editor.defaultFormatter": "esbenp.prettier-vscode",
}
允许文件在保存操作时自动格式化,但停止/禁用/防止VSCode删除死代码的神奇配置是什么?
有时我想故意在函数中间抛出一个异常,用于调试目的,但为了不被删除,我不得不注释掉所有后续代码。
更糟糕的是,有时我保存时,编辑器还没有从代码中的某个错误中恢复过来,认为代码仍然存在错误,导致删除代码,而这本来不应该发生的。我发现自己有太多次拉起 git 来恢复被错误删除的好代码。
是否有明确的“不删除死代码”选项可以打开?
更新:
- 运行 来自命令行的 Prettier(文件格式化程序)没有删除死代码。
- 尝试禁用所有扩展也无济于事。保存时死代码仍然被删除。
破案。
我无法确定导致它的确切包,但它似乎与 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
文件才能使其正常工作。
我将在这里分享我在 Github 上找到的内容,
因此,如果您替换 codeActionsOnSave
并使用 eslint
,它应该会阻止 vscode 从 运行 修复规则 eslint(no-unreachable)
并删除您的代码保存(可能是因为像 Prettier 这样的另一个格式化程序对其进行了修复)。
settings.json
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
"editor.formatOnSave": [bool]
没有必要。
同时检查您的工作区 settings.json 和您的用户 settings.json。
由于计算所有可能修复的复杂算法,您可能需要使用 "editor.codeActionsOnSaveTimeout": [number] (ms)
设置调整时间预算
{
"editor.codeActionsOnSaveTimeout": 1200,
"editor.defaultFormatter": "esbenp.prettier-vscode",
}