Help us understand the problem. What is going on with this article?

PhpStorm使ってるのにlive template使わないなんてもったいない!

More than 1 year has passed since last update.

結構よく使う機能なのですが、あまり記事を見かけないので紹介しようかと思いました。
名前知らないけど使ってるよって人も結構いそうな機能です。

ライブ・テンプレートとは

変数を持ったコードスニペットというイメージです。よく使用されるコードを1つのテンプレートとして登録しておいて、それを呼び出すことで開発の効率をあげることができると思います。

ライブテンプレートを使用することで、頻繁に使用される構造をコードに挿入できます: 例:ループ、条件、さまざまな宣言、またはprintステートメント

どんなことができるか

phpだとpubf,fore あたりをよく使うのですが、動画のように pubfと入力をしてtabを打つと、一気にpublic function () {} と入力をしてくれます。
live_template.gif

通常のtab補完と何が違うのか

パッと見てただのtab補完な気もするのですが、登録されているテンプレートの中に変数が埋め込まれています。
変数は上から順にtabで移動ができて、デフォルト値などが設定できるようになっています。

これがデフォルトのforeachの設定です。
(Preferences > Editor > Live Templatesから確認可能)
スクリーンショット 2019-08-25 23.11.45.png

fore を入力してtabを打つと、$ITERABLE$ にカーソルが合い、再度tabを打つと $VAR_VALUE$ のところにカーソルが合うようになっています。また、$VAR_VALUE$ のデフォルト値が $item と設定されているため、入力する前に$itemと入力されるようになります。
先ほどの動画でforeach を使っているので、一度確認をしてみてください。

この変数の初期値などをプロジェクトに合うように変更しておけば、都度入力する必要もなく効率が上がります。

vue.jsの補完もおすすめ

dataとかmethodとかコンポーネントごとに書くものをすぐにかけるのでおすすめです。
普段PHPをよく触っていて、vue.jsを触った時に、他のファイルからコピペをしてこようみたいなことが減りました。
live_template2.gif

自分で作成もできる

既存のテンプレートもたくさんありますが、新規で作成もできます。

特定のライブラリ用のライブテンプレートを作る

どんな時に作るんだということで、特定のライブラリ用に作ってみました。
vue-apolloというライブラリ用に、vapploというテンプレートを作った例です。
特定のプロジェクトでしか使わないので、あまり覚えられず。。。そんな時は一度登録をしてしまえば便利でした。
live_template3.gif

変数名を同じにすると同じ値が入る

複数箇所に同じ値を入れたい場合は変数名を同じにします。
先ほどの動画で確認をして欲しいのですが、$data$: this.$data$ としているため、nameと入力をすると、両方の$data$nameと入力されていますね。これは便利。

this.$apollo.mutate({ 
  mutation: $MUTATION$,
  variables: {
    $data$: this.$data$, 
  },
}).then((data) => {

});

おわりに

自分でテンプレートを追加し始めたのが最近なので、良さげなtipsがあれば追加していきたいです。

yyphp
PHPerが毎週集まり、ざっくばらんに情報交換する雑談コミュニティ
https://yyphp.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした