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?

PHPコード保存時にuse文を自動整理したい

Last updated at Posted at 2024-05-13

やりたいこと

VS CodeでPHP保存時にuse文に対して以下を行いたい

  • アルファベット順にソート
  • 不要なuse文の削除

探した拡張機能

候補1

この開発元であるDEVSENSEというところの以下の紹介記事がそのものズバリ。

候補2

拡張機能のREADMEの設定項目を読むとできそうな感じがある。

やってみる

候補2のphp-importsを入れてみる。

候補1のPHPを使わなかったのは、use文の整理以外にも様々なことを行うオールインワン拡張機能のようなので、既存の拡張機能との共存に問題ないか不安だったため。

  1. vs codeの拡張機能でphp-importsを検索しインストール
  2. コマンドパレットを開きphp imports: initを選択
  3. 設定を開く(cmd + ,)、以下を行う
    1. 設定画面の検索バーで「format on save」を検索
    2. Editor: Format On Saveにチェックを入れる
    3. PHP-imports: Format On Saveにチェックを入れる
  4. php imports: initを実行したときに作成された.phpimportsrcファイルを開く
  5. 編集
    ...
    "order": [
    -    "singleUses.class",
    -    "emptyLine",
    -    "singleUses.function",
    -    "singleUses.const",
    -    "emptyLine",
    -    "groupedUses.class",
    -    "emptyLine",
    -    "groupedUses.function",
    -    "groupedUses.const"
    +    "all.class",
    +    "emptyLine",
    +    "singleUses.function",
    +    "singleUses.const"
    ],
    ...
    "psr12": {
    -    "enable": true,
    +    "enable": false,
        ...
    }
    ...
    "unused": {
    -    "enable": false
    +    "enable": true
    }
    

※psr12をtrueにしていると以下のようにuse文をまとめます。

use App\Models\{
    Job,
    User
}

Demo

保存時の様子
format-on-save.gif

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?