⚒️

【Flutter】自動フォーマットのLine lengthをプロジェクト毎に指定する

2024/05/08に公開

はじめに

Android Studio, IntelliJ IDEAやVSCodeの自動フォーマット機能を使ってDartコードをフォーマットする場合、エディタのプラグイン設定であるLine lengthの値(デフォルトは80)によってフォーマットが行われます。


Android Studio(Settings->Editor->Code Style->Dart)

VSCode(Settings->Extensions->Dart->Editor)

本記事では、プロジェクト毎に異なるLine lengthの自動フォーマットを適用する方法を紹介します。

エディタの設定ファイルを定義する

Android Studio, IntelliJ IDEA

以下のような.idea/codeStyles/codeStyleConfig.xml.idea/codeStyles/Project.xmlを追加します。

.idea/codeStyles/codeStyleConfig.xml
<component name="ProjectCodeStyleConfiguration">
  <state>
    <option name="USE_PER_PROJECT_SETTINGS" value="true" />
  </state>
</component>
.idea/codeStyles/Project.xml
<component name="ProjectCodeStyleConfiguration">
  <code_scheme name="Project" version="173">
    <codeStyleSettings language="Dart">
      <option name="RIGHT_MARGIN" value="80" />
    </codeStyleSettings>
  </code_scheme>
</component> 

VSCode

以下のような.vscode/settings.jsonを追加します。

.vscode/settings.json
{
    "dart.lineLength": 80, // 自動フォーマットのLine length
    "[dart]": {
        "editor.rulers": [80], // ルーラーのLine length
    }
}

プロジェクトを開くと、以下のようにプロジェクト毎の設定ファイルで設定が上書きされていることがわかります。

Android Studio(Settings->Editor->Code Style->Dart)

VSCode(Settings->Extensions->Dart->Editor)

参考

https://github.com/Dart-Code/Dart-Code/issues/1715#issuecomment-740483365
https://stackoverflow.com/questions/59456452/how-to-change-dart-line-length-in-vscode-when-formatting-dart-files

株式会社Never

Discussion