如何在保存代码时防止VS Code完全破坏我的代码?

11
我已经查看了格式设置和堆栈溢出帖子,尝试了许多不同的设置,但似乎找不到答案。在settings.json中没有任何作用,也许被某种方式覆盖了?
我的制表符间距设置为2个空格,每次重新启动计算机时,VS Code似乎都会发生一些事情,导致保存文件会添加大量奇怪的间距规则和4个空格的制表符,如下面的gif所示,使我的代码变得糟糕。
我不想回到Atom或Sublime,但是现在VS Code对我来说无法在专业环境中使用。希望能得到一些帮助解决这个问题。
谢谢!
(下面的图像是一个gif,请单击它以查看保存时的样式更改)

enter image description here

编辑:在VS Code中安装的软件包:

enter image description here

enter image description here


1
VS Code 不应该自动执行此操作 - 你启用了任何美化扩展吗? - Constantin Groß
1
这个会帮到你。你需要移除 Format on Save - Vencovsky
如果你按下 Ctrl + , 或 Mac 上的 cmd + ,,然后向下滚动到文本编辑器,你有选择“自动缩进”吗? - Jabberwocky
你保存文件时会发生这种情况吗? - kemotoe
@kemotoe 是的,它可以。 - Zack Shapiro
5个回答

9
这个评论提供了答案。如果您有两个本不应该冲突但出现了冲突的设置,就会发生这种情况。
"editor.formatOnSave": false,
"javascript.format.enable": false

解决方法是卸载vscode-JS-CSS-HTML-formatter插件,您可以通过在您的插件中搜索作者lonefy来进行操作。

2
我找到了解决方案。这不是Prettier,而是“JS-CSS-HTML 格式化程序”。只需卸载“JS-CSS-HTML 格式化程序”扩展,重新加载VSCode,问题就解决了。此外,无需禁用保存时自动格式化。

这是正确的答案。与美观无关。 - Ahmad Maleki

1
"很可能是Prettier在做这件事。"
"在你的settings.json文件中添加以下两行:"
"editor.formatOnSave": false,

"prettier.disableLanguages": [
    "jsx",
    "js"
],

或者直接卸载prettier


0

看起来 prettier 格式化了你的代码。请检查你的设置

Format On Save

Respects editor.formatOnSave setting.

You can turn on format-on-save on a per-language basis by scoping the setting:

// Set the default
"editor.formatOnSave": false,
// Enable per-language
"[javascript]": {
"editor.formatOnSave": true
}

0

这很简单,只需卸载您安装的 Prettier 扩展即可。 在左侧边栏上按下扩展选项卡(Mac 上为 shift command X),选择您的 Prettier 扩展并将其卸载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接