如何让 Visual Studio Code 用新的大括号格式化 Java 文档?
即:
这个
public static void main(String args[]) {
}
对此
public static void main(String args[])
{
}
编辑:哎呀!!只需记住 .vscode/extensions 文件夹即可。然后我进入 /ryannaddy.vscode-format-0.0.6/package.json 并将 format.newLine 更改为 true 。 谢谢您的帮助。太开心了!!
要使用“Red Hat 对 Java(TM) 的语言支持”解决此问题,您可以使用 Eclipse 格式化程序文件。这允许您为每个场景非常具体地指定大括号位置。例如,
formatting.xml
显示所有“下一行”设置:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="12">
<profile kind="CodeFormatterProfile" name="style" version="12">
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
</profile>
</profiles>
有效值为
next_line
、next_line_shifted
、next_line_on_wrap
和 end_of_line
。
然后在 Visual Studio Code 的
settings.json
中:
{
"java.format.settings.url": "/formatting.xml",
"java.format.settings.profile": "style"
}
请参阅此文档了解一些使用详细信息。
启动 VS Code 快速打开 (Ctrl+P),粘贴以下命令,然后 按回车键。
ext install vscode-format
Visual Studio 代码格式将允许您格式化大部分代码 文件。通过运行格式化命令来触发格式化: editor.action.format
将大括号放在同一行或下一行:
{ "newLine": { "brace": true } }
链接:https://marketplace.visualstudio.com/items?itemName=ryannaddy.vscode-format
如果你想在 VS Code 中使用它,只需在下面添加这一行
settings.json
{
"java.format.settings.url": "https://gist.githubusercontent.com/fbricon/c5960a86f0a21405a61b79c0f1b4a0fc/raw/16b9b75077d08ae8b36706718a8393268d2ea5d2/formatter.xml"
}
感谢这个要点
就我而言,我的格式化程序设置位于
.setting/org.eclipse.jdt.core.prefs
。
实际上,这篇文章是有效的,我已经通过创建一个新项目进行了测试以进行比较。我不明白为什么这对新项目有效,而我的主项目却无效。因此,我比较了应用于每个项目的所有项目设置,并在
.setting/org.eclipse.jdt.core.prefs
文件中发现了差异。
我的新项目在该文件中只有编译器设置,而我的主项目有编译器+格式化程序设置,这就是为什么JSON文件中的设置无法应用。
我的解决方案是使用导出的 xml 格式化程序中的相同值更改该文件中格式化程序设置的值(我从 eclipse 导出了格式化程序 XML)。谢谢。
这是我的新项目内容
.setting/org.eclipse.jdt.core.prefs
:
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.processAnnotations=enabled
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
这就是我的主要项目中的内容:
...
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.processAnnotations=enabled
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns
...