0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCodeで保存した時にdart fix --apply で直せるものを自動で修正する

Last updated at Posted at 2025-11-06

はじめに

こんにちは、エンジニアのkeitaMaxです。

VSCodeで保存した時にdart fix --applyで直せるものを自動で修正するように設定していこうと思います。

やりたいこと

前回VSCodeでダブルクォーテーションで赤波線が着くように修正しました。

スクリーンショット 2025-11-06 20.30.28.png

今回はそれを、VSCode上で保存した時に自動で修正できるように設定していこうと思います。

解決策

.vscode/settings.jsonを作成し、以下のようにすることで自動修正が走るようになります。

.vscode/settings.json
{
  "[dart]": {
    "editor.codeActionsOnSave": {
      "source.fixAll": "explicit",
      "source.organizeImports": "explicit"
    },
    "editor.formatOnSave": true
  }
}

editor.codeActionsOnSaveで保存時に自動で実行するコードアクションを指定することができます。
"source.fixAll": trueで保存時に修正するようにしています。
"source.organizeImports": trueでimportの並び替えなどを行なっています。

実際に以下のファイルの状態で保存してみます。

import 'package:go_router/go_router.dart';
import 'package:flutter/material.dart';

class TopPage extends StatelessWidget {
  const TopPage({super.key});
  static const text = "test";

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Top Page')),
      body: Center(
        child: FilledButton(
          onPressed: () {
            // '/second' に遷移
            context.push('/second');
          },
          child: const Text('Second Pageへ'),
        ),
      ),
    );
  }
}

保存するとimportが入れ替わり、シングルクォーテーションに修正されます

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; // importが入れ替わった 

class TopPage extends StatelessWidget {
  const TopPage({super.key});
  static const text = 'test'; // シングルクォーテーションに修正された

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Top Page')),
      body: Center(
        child: FilledButton(
          onPressed: () {
            // '/second' に遷移
            context.push('/second');
          },
          child: const Text('Second Pageへ'),
        ),
      ),
    );
  }
}

おわりに

この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。

最後まで読んでいただきありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?