Overview Version History Q & A Rating & Review
EC-CUBE IntelliSense
EC-CUBE 4.x 開発向けの Visual Studio Code 拡張機能です。
機能
PHP
コード補完
$entity-> と入力すると、型推論に基づいてエンティティのメソッド・プロパティ候補を表示します。
->getRepository( の引数に EC-CUBE エンティティの ::class 候補を表示します。
getSubscribedEvents() 内で EC-CUBE イベント定数を補完します。
path()・url()・redirectToRoute() の引数にワークスペースのルート名を補完します。
@var・use・型ヒント位置で EC-CUBE エンティティ・サービスの FQCN を補完します。
eccubeConfig[ によく使われる設定キーを補完します。
引数ヒント(Signature Help)
$entity->methodName( と入力すると、現在の引数の名前・型・説明がポップアップ表示されます。
ホバードキュメント
$entity 変数や ->methodName の上にマウスを置くと、型情報・メソッドシグネチャ・引数の説明・戻り値の型が表示されます。
Twig
ドットアクセス補完
{{ product. のようにドットを入力すると、型推論に基づいてエンティティのメソッド・プロパティ候補を表示します。
{% for item in products %} のようなループ変数も型推論の対象になります。
app/Customize/Entity に配置したカスタムエンティティも補完対象になります。
エンティティ名・リポジトリ名補完
入力中にエンティティクラス名(例:CustomizeProduct)やリポジトリクラス名(例:ProductRepository)を候補として表示します。
引数ヒント(Signature Help)
asset(・path( などの Twig 関数を入力すると引数ヒントが表示されます。
product.setName( のようなエンティティメソッドの呼び出しでも引数ヒントが表示されます。
ホバードキュメント
Twig 関数・フィルタ・タグ・エンティティメソッドの上にマウスを置くと詳細な説明が表示されます。
定義ジャンプ(Go to Definition)
Twig ファイル内でメソッド名・クラス名を Ctrl+クリック(Mac: Cmd+クリック)すると、そのメソッドまたはクラスが定義されている PHP ファイルが別タブで開きます。
ドットアクセスのメソッド名 : {{ product.getName }} の getName をクリック → src/Eccube/Entity/Product.php の getName 定義行へジャンプします。ネストしたアクセス(例:{{ order.customer.getEmail }})にも対応しています。
クラス名 : テンプレート内のエンティティ・リポジトリ・カスタムクラス名(例:ProductRepository)をクリック → 対応する PHP ファイルの先頭へジャンプします。
単独のメソッド名 : get〜・set〜・is〜・has〜 などのメソッド名をクリック → ワークスペース内の PHP ファイルを検索して定義行へジャンプします。
app/Customize および app/Plugin 以下のカスタムファイルにも対応しています。
その他の補完
| の後にフィルタ候補を表示します。
path(・url( の引数にルート名を補完します。
extends・include の引数にテンプレートパスを補完します。
{% %} 内で Twig タグキーワードを補完します。
右クリックメニュー
Twig / PHP エディタを右クリックすると EC-CUBE: IntelliSense サブメニューが表示されます。
EC-CUBE: Rescan Customize で app/Customize を再スキャンします。
EC-CUBE: Reload Window でウィンドウを再読み込みします。
YAML(services.yaml)
name: の後に EC-CUBE サービスタグ名を補完します(例:eccube.event_subscriber)。
4スペースインデント位置でサービスクラス名を補完します。
priority: の後に PurchaseFlow プロセッサの推奨優先度範囲を補完します。
スニペット
コマンドパレット(Ctrl+Shift+P / Cmd+Shift+P)から EC-CUBE: Generate Boilerplate を実行すると、以下のボイラープレートを生成できます。
Entity Class
Repository Class
EventSubscriber
FormType
Controller
Plugin PluginManager
PurchaseFlow Processor
動作要件
Visual Studio Code 1.118.0 以上
EC-CUBE 4.2 または 4.3
設定
設定項目
デフォルト
説明
eccubeIntellisense.enable
true
拡張機能の有効/無効
eccubeIntellisense.eccubeVersion
"auto"
EC-CUBE バージョン("4.2" / "4.3" / "auto")
eccubeIntellisense.enablePhpCompletion
true
PHP IntelliSense の有効/無効
eccubeIntellisense.enableTwigCompletion
true
Twig IntelliSense の有効/無効
eccubeIntellisense.enableYamlCompletion
true
YAML IntelliSense の有効/無効
eccubeIntellisense.scanOnStartup
true
起動時のワークスペーススキャンの有効/無効
ライセンス
MIT
リポジトリ
https://github.com/TakashiHishiki/eccube-intellisense