如何使用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。
谢谢您的帮助。好开心!!
答案 0 :(得分:1)
启动VS Code Quick Open(Ctrl + P),粘贴以下命令,然后 按回车。
ext install vscode-format
Visual Studio代码格式允许您格式化大部分代码 文档。通过运行format命令触发格式化: editor.action.format
将大括号放在同一行或下一行:
{ "newLine": { "brace": true } }
link:https://marketplace.visualstudio.com/items?itemName=ryannaddy.vscode-format
答案 1 :(得分:1)
您不需要任何扩展程序来使Visual Studio Code v. 1.23.1
能够在新行中格式化大括号。
Java Script
和Type Script
:
转到File =>首选项=>设置
将以下行复制并粘贴到用户设置:
中"javascript.format.placeOpenBraceOnNewLineForControlBlocks": true,
"javascript.format.placeOpenBraceOnNewLineForFunctions": true,
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": true,
"typescript.format.placeOpenBraceOnNewLineForFunctions": true,
保存
答案 2 :(得分:0)
要使用“ Red Hat提供的Java语言支持”来解决此问题,可以使用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
。
然后在您的settings.json
中获取Visual Studio代码:
{
"java.format.settings.url": "/formatting.xml",
"java.format.settings.profile": "style"
}
有关一些用法的详细信息,请参见this documentation。
答案 3 :(得分:0)
就我而言,我的格式化程序设置位于.setting/org.eclipse.jdt.core.prefs
中。
实际上,https://www.postgresql.org/docs/current/ddl-inherit.html的文章有效,我已经通过创建一个新项目进行比较进行了测试。我不明白为什么在那个新项目上起作用,而我的主要项目却没有。因此,我比较了适用于每个项目的所有项目设置,发现.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
...