【问题标题】:How do I stop VS Code from totally destroying my code on save?如何阻止 VS Code 在保存时完全破坏我的代码?
【发布时间】:2019-04-23 13:01:50
【问题描述】:

我已经浏览了格式设置和堆栈溢出帖子,我已经切换了一堆不同的设置,但似乎无法找到答案。 settings.json 中的任何内容似乎都无关紧要,也许它被某种方式覆盖了?

我的制表符间距设置为 2 个空格,每次我重新启动计算机时,VS Code 似乎都会发生一些事情,在保存文件时会添加大量奇怪的间距规则和制表符到 4 个空格,正如您在 gif 中看到的那样下面这让我的代码很糟糕。

我不想回到 Atom 或 Sublime,但是 VS Code 现在为我工作的方式,我不能在专业环境中使用它。希望得到一些帮助来解决这个问题。

谢谢!

(下图为gif,点击查看保存后的样式变化)

编辑:在 VS Code 中安装包:

【问题讨论】:

  • VS Code 不应该自己做这件事 - 你是否启用了任何美化器扩展?
  • This 会帮助你。您需要删除Format on Save
  • 如果你在 mac 上按 ctrl + 或 cmd + ,我想,然后转到文本编辑器,你是否选择了“自动缩进”?
  • 保存文件时会出现这种情况吗?
  • @kemotoe 是的

标签: javascript visual-studio-code


【解决方案1】:

这个comment 原来有答案。当您有两个不应该冲突但由于某种原因而发生冲突的设置时,就会发生这种情况

"editor.formatOnSave": false,
"javascript.format.enable": false

解决方案是卸载vscode-JS-CSS-HTML-formatter,您可以通过在您的包中搜索作者lonefy 来完成。

【讨论】:

    【解决方案2】:

    这样做可能更漂亮。

    在您的settings.json 中添加这两行:

    "editor.formatOnSave": false,
    
    "prettier.disableLanguages": [
        "jsx",
        "js"
    ],
    

    或者只是卸载更漂亮

    【讨论】:

      【解决方案3】:

      只需卸载您已安装的 Prettier 扩展程序即可。 按左侧边栏上的扩展选项卡(mac 上的 shift 命令 X)并选择您的 Prettier 扩展并卸载它。

      【讨论】:

        【解决方案4】:

        看起来prettier 格式化了您的代码。检查您的settings

        保存时格式化

        尊重 editor.formatOnSave 设置。

        您可以通过限定设置的范围,为每种语言启用格式保存:

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

        【讨论】:

          【解决方案5】:

          我找到了解决方案。 它不是 Prettier,而是它的“JS-CSS-HTML 格式化程序” 只需卸载“JS-CSS-HTML Formatter”扩展, 然后重新加载vscode,就完成了。 此外,无需在保存时禁用自动格式化。

          【讨论】:

            猜你喜欢
            • 2022-10-19
            • 1970-01-01
            • 2020-08-22
            • 1970-01-01
            • 2017-01-22
            • 2022-09-29
            • 2018-04-25
            • 2019-02-20
            • 1970-01-01
            相关资源
            最近更新 更多