【问题标题】:VS code editing Java on save保存时 VS 代码编辑 Java
【发布时间】:2021-11-17 23:57:40
【问题描述】:

我正在键入一些类或方法,并使用换行符来帮助我查看所有内容的位置,并且在我保存时它不断被编辑掉。我尝试在扩展程序和设置中寻找答案,但无法弄清楚可能是什么删除了新行。

我会有类似的东西:

public class SomeClass
{
    public static void main (String[] args)
    {
        Some code here;
    }
}

它会删除 SomeClass 和 args 之后的第一个换行符) 它会将其编辑为如下所示:

public class SomeClass {
    public static void main (String[] args) {
        some code here;
    }
}

如何关闭删除新行的保存编辑?

这里是 settings.json:

{
    "files.autoSave": "afterDelay",
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "files.exclude": {
        "**/.classpath": true,
        "**/.project": true,
        "**/.settings": true,
        "**/.factorypath": true
    },
    "editor.bracketPairColorization.enabled": true,
    "editor.padding.bottom": 5,
    "editor.padding.top": 5,
    "editor.roundedSelection": false,
    "javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
    "javascript.format.placeOpenBraceOnNewLineForFunctions": true,
    "files.insertFinalNewline": true,
    "editor.renderFinalNewline": false,
    "editor.trimAutoWhitespace": false,
    "launch": {
        "configurations": [],
        "compounds": []
    }
}

【问题讨论】:

  • 你能分享来自 vs 代码的 settings.json 吗?
  • 理想情况下,您应该遵循行业内一致的风格指南。在 Java 中,左括号永远不会在自己的行中
  • 我同意@OneCricketeer,遵循 Java 代码约定。在新行上打开括号对 Java 程序员来说看起来很陌生

标签: java visual-studio-code vscode-settings


【解决方案1】:

点击Ctrl + Shift + P 并输入Save without Formatting。点击 Enter(Return),它应该保存而不应用任何格式。每次都这样做是没有意义的。因此,也许您想从 File -> Preferences -> Keyborad Shortcuts 更改键绑定。

文档对此进行了更多讨论 here

编辑 1:开始

如果你碰巧喜欢某种风格(比如eclipse-java-google-style),可以考虑在文件->首选项->设置->Java下设置java.format.settings.url选项。

您还可以在 eclipse 中创建自己的格式化配置文件并将配置文件导出为 xml 文件并提供 xml 文件的路径。

但为了能够做到这一点,您首先需要安装扩展程序Language Support for Java(TM) by Red Hat

在 Eclipse 中创建配置文件: 一般来说,您在 Eclipse 中创建配置文件,方法是转到 Windows -> Preferences -> Java -> Code Style -> Formatter -> New -> Brace Positions -> 选择您想要的选项(也许 Next line 是您正在寻找的, 单击复选框以使用相同的值修改所有内容) -> 在同一窗口中,您将看到 export button(somewhere top right corner) -> 将新配置文件导出到您选择的某个安全位置。它将被保存为 XML 文件。

复制文件的完整路径并将其粘贴到上面提到的java.format.settings.url 部分。

进行个人资料设置将为您节省大量时间。您将永远不必手动格式化大括号/缩进或任何其他部分。定义一次格式,然后忘记它。

此配置文件设置还为您提供使用 VSCode 的默认 Save 的特权。它将在保存时格式化,但根据您定义的配置文件。

你和 VSCode 的默认设置的双赢局面。

编辑 1:结束

【讨论】:

  • 这完全符合我的期望!感谢 Asif 的帮助!
  • 很高兴它有帮助。
  • 编辑了答案以添加额外的建议,从长远来看可能对您和未来的读者有所帮助
  • 那就更好了!再次感谢,阿西夫。感谢您的帮助(知识/智慧)。
  • @JonBailey。您可以accept this answer标记您的问题已解决。
【解决方案2】:

在 VS Code 中按 Ctrl+Shift+P。它将打开设置。禁用代码的自动格式化,如下图所示。

【讨论】:

  • 我没有选中这两个,就像你的截图一样。这个已经试过了。它仍在这样做.. 感谢您的建议!
  • 改完后有没有试过重启IDE?
  • 是的,我在更改设置后重新启动了 IDE(现在两次)。
猜你喜欢
  • 2020-06-22
  • 1970-01-01
  • 2020-01-14
  • 2018-09-21
  • 2022-10-19
  • 1970-01-01
  • 1970-01-01
  • 2014-06-16
  • 1970-01-01
相关资源
最近更新 更多