.NETでアプリを開発していると、気づいたら不要なusingが大量に残ってしまうことが多いです。
残っているからといって特に問題が発生するわけではないのですが、できることなら削除したいです。
しかし、複数ファイルを1つ1つ開いて確認して削除、というのは手間がかかります。
そこで、今回は不要なusingを一括削除する方法について調査しました。
この記事の目次は以下の通りです。
環境
- .NET 10
- Visual Studio 18.7.2
削除方法
以下、2通りの方法があります。
1. Visual Studioの機能を使う
対象のソリューションを右クリックして、コードのクリーンアップからコードクリーンアップの構成を選択します。

プロファイル1の含まれる修正ツールに不要なインポートまたは using の削除が存在することを確認してOKを押します。

再度ソリューションを右クリックして、コードのクリーンアップからコードクリーンアップ(プロファイル1)の実行を選択すると、ソリューション内の不要なusingを一括削除できます。

2. コマンドを使う
dotnet format を使う方法です。
このコマンドはコードを自動で整形してくれるものです。 ただし、ただコマンドを実行するだけでは、不要なusingは削除してくれません。
不要なusingも自動で削除するには、設定ファイルを作成する必要があります。
ソリューションのルートフォルダに.editorconfigというファイルを追加します。
ファイルの内容は以下の通りに記述します。
root = true [*.cs] dotnet_diagnostic.IDE0005.severity = warning
このファイルを作ると、不要なusingをIDE側で警告として通知してくれます。

最後に、dotnet formatコマンドを実行すると、一括で削除をしてくれます。
どの方法を使えばいいのか
1の方法はVisual Studioですぐにできる方法です。今すぐに手軽に消したいという時に利用するのがおすすめです。
2の方法は、ファイルを作ってコマンドを入力するのでひと手間が必要ですが、HooksやCICDに組み込みやすいという利点があります。
まとめ
今回は.NETの機能を利用して不要なコードを削除する方法を紹介しました。
最初はAIに『不要なusingを削除して』と指示しようと考えましたが、トークンの消費が気になったため調べてみました。
今回のような処理は、可能な限り既存の機能を使う方がよいと感じました。
dotnet formatは今まであまり使っていなかったので、今後も調査を続けて色々な活用方法を考えたいと思います。