Visual Studio Code java格式文档支持新行

时间:2017-06-29 11:19:58

标签: java formatting visual-studio-code format curly-braces

如何使用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。 谢谢您的帮助。好开心!!

4 个答案:

答案 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 ScriptType Script

  1. 转到File =>首选项=>设置

  2. 将以下行复制并粘贴到用户设置

    "javascript.format.placeOpenBraceOnNewLineForControlBlocks": true, 
    "javascript.format.placeOpenBraceOnNewLineForFunctions": true,
    
    "typescript.format.placeOpenBraceOnNewLineForControlBlocks": true,
    "typescript.format.placeOpenBraceOnNewLineForFunctions": true,
    
  3. 保存

  4. 完成

答案 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_linenext_line_shiftednext_line_on_wrapend_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文件中的区别。

this

我的新项目在该文件中只有一个编译器设置,而我的主项目中有编译器+格式化程序设置,这就是为什么无法使用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
...