Skip to content

フォーマッタ作成

VSCode上で動作するJavaのコードフォーマッタを作成します。

設定

settings.jsonに下記設定を追加します:

{
  "java.format.settings.url": "./formatter/nob-style.xml",
  "java.format.settings.profile": "NobStyle",
}

フォーマッタサンプル

cf. https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2Fformatter%2FDefaultCodeFormatterConstants.html

<?xml version="1.0" encoding="UTF-8"?>
<profiles version="1">
    <profile kind="CodeFormatterProfile" name="NobStyle" version="1">
        <setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
        <setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
        <setting id="org.eclipse.jdt.core.formatter.lineSplit" value="100"/>

        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field" value="80"/>
        <setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="0"/>

        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
        <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do_not_insert"/>
    </profile>
</profiles>