JavaScriptやTypeScriptのプロジェクトが大きくなると、コードに不要なimport
文が増えたり、import
文の並びがバラバラになったりすることがあります。これにより、コードが煩雑になり、読みづらくなることがあります。
Visual Studio Code(VS Code)では、source.organizeImports
という便利な機能を使って、不要なimport
文を自動削除したり、import
文を自動で並び替えることが可能です。
この記事では、その設定方法と使い方をわかりやすく解説します。
source.organizeImportsとは?
source.organizeImports
は、VS Codeに内蔵されているコマンドで、次のことを自動的に行います。
- 不要な
import
文を削除する import
文をアルファベット順に並び替える
これにより、コードが整理され、読みやすさやメンテナンス性が向上します。
import文を自動削除・自動で並び替える方法
VS Codeで不要なimport文を削除・自動で並び替える方法を以下に示します。
- 手動でコマンドを実行する方法
- ファイル保存時に自動実行する方法
手動でコマンドを実行する方法
source.organizeImports
は、コマンドパレット(Cmd + Shift + P
または Ctrl + Shift + P
)から実行できます。コマンドパレットを開き、source.organizeImports
と入力して選択するだけで、現在開いているファイル内の不要なimport
文を削除し、import
文を自動で並び替えてくれます。
ファイル保存時に自動実行する方法
ファイルを保存するたびにimport
文を整理したい場合は、次の設定を追加します。
settings.json
を開きますCmd + ,
またはCtrl + ,
で設定を開き、右上のファイルアイコン
をクリックするとsettings.json
が開きます。
- 次の設定を追加します
{
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
}
この設定を追加することで、ファイルを保存するたびに、不要なimport
文を削除したり、import
文を自動で並び替えてくれます。
補足
VSCodeのバージョン1.85.0からsource.organizeImports
の設定が変更になりました。
- 変更前:
"source.organizeImports": true
- 変更後:
"source.organizeImports": "explicit"
VS Codeを最新版にアップデートした際、上記の変更に気づいた方もいるかもしれません。
リンク:https://stackoverflow.com/questions/77637621/vscode-workspace-settings-change-on-its-own
特定の言語だけ適用したい場合
もしTypeScriptのみに適用したい場合は、次のように設定を追加します。
{
"[typescript]": {
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
}
}
これにより、TypeScriptファイル保存時にのみimport
文が整理されます。
サンプルコード
ここでは、source.organizeImports
を使った前後のコード例を示します。
Before: 整理されていないimport文
import { useState } from "react";
import { Button } from "@mui/material";
import { useEffect } from "react";
import React from "react";
import _ from "lodash"; // 未使用
このコードでは、import
文の順番がバラバラで、lodash
は使用されていないため不要です。
After: 整理されたimport文
import React, { useEffect, useState } from "react";
import { Button } from "@mui/material";
source.organizeImports
を実行すると、未使用のlodash
が削除され、React
に関連するuseEffect
とuseState
も同じimport
文にまとめられ、アルファベット順に整理されました。
注意点
source.organizeImports
は非常に便利ですが、次の点に注意が必要です。
- 並び替えの順序
- import文の順番は自動で整理されますが、プロジェクトによって独自の並び順ルールがある場合は手動で調整する必要があります。
- 未使用の
import
文の削除- 例えば、後で使用する予定の
import
が削除されてしまうことがあります。意図的に未使用のimport
文がある場合は、手動で管理することをお勧めします。
- 例えば、後で使用する予定の
source.organizeImportsで指定できるキー
source.organizeImportsで指定できるキーはexplicit
以外にもあります。詳しくは以下のドキュメントをご覧ください。
本記事のまとめ
この記事では『VSCodeで不要なimport文を削除・自動で並び替える方法』について、以下の内容を説明しました。
source.organizeImports
とは?- 不要な
import
文を削除し、import
文をアルファベット順に並び替えるVS Codeの機能。
- 不要な
- 手動でコマンドを実行する方法
- コマンドパレットで
source.organizeImports
を実行し、現在開いているファイルのimport
文を整理する。
- コマンドパレットで
- ファイル保存時に自動実行する方法
settings.json
に"editor.codeActionsOnSave": { "source.organizeImports": "explicit" }
を追加して、保存時に自動的にimport文を整理する。
お読み頂きありがとうございました。