プログラミングで頻出するfor
文、皆さんはどう書いていますか? WebStormにはfor
文、for in
文、use strict
といった、JavaScriptや他の各言語で使用するテンプレート文を即座に挿入できる「Live Templates」機能があります。
for
文の挿入はitar
for
文の挿入には、JavaScriptファイルにてitar
(※)と入力後、Tab
キーを押します。
※ 「Iterate elements of array (配列要素の反復)」の略語
また、事前に配列を定義していた場合は、その配列についてのfor
文が挿入されます(下図ではmyArray
)。
様々なテンプレートの挿入が可能
自動挿入できるのはfor文だけではありません。
itin
でfor..in
itin
の略語でfor..in
文が挿入されます。
ritar
で逆順のfor
ritar
の略語で逆順のfor
文が挿入されます。
※ 「Iterate elements of array in reverse order(配列要素の逆順での反復)」の略語
us
でuse strict
us
の略語でuse strict
が挿入されます。use strict
はJavaScriptをstrict(厳格)モードで実行します。
テンプレートのカスタマイズが可能
挿入されるテンプレート文は、カスタマイズが可能です。例としてfor
文をカスタマイズします。
[WebStorm]→[Preferences..]→[Editor]→[Live Templates]→[JavaScript]→[itar]を選択します。
画面内「Template text」部分にて、for文の設定が可能です。例えば変数定義をvar
からlet
とconst
に変更してみましょう。Template text内に次のように記述します。
for (let $INDEX$ = 0; $INDEX$ < $ARRAY$.length; $INDEX$++) {
const $VAR$ = $ARRAY$[$INDEX$];
$END$
}
▲ Template text内
[OK]で確定した後、JavaScriptファイルにてitar
を入力して[Tab]キーを押します。for
文にlet
とconst
が使われるようになったことがわかります。
呼び出し文(略語)の変更が可能
for
文を挿入するのにitar
と入力するのは直感的でないように感じるかもしれません。その場合は、呼び出し文(略語)を変更できます。
例えば、for
と入力してfor
文が挿入できるようにするには、Live Templatesの設定画面の[Abbreviation]の部分で「for」と入力します。
[OK]で確定した後、JavaScriptファイルにてfor
を入力して[Tab]キーを押します。同じようにfor
文が挿入されます。
設定を元に戻す場合
設定を元に戻す場合は、戻したい項目で右クリックし、[Restore defaults]を選択します。なお、呼び出し文(Abbreviation)を変更している場合は、一度正しい呼び出し文(前述の例ならfor
→itar
)に戻さないと、元には戻らないのでご注意ください。
オリジナルのテンプレートを作成することが可能
WebStormで準備されているテンプレートの他に、自身でテンプレートの追加もできます。Live Templates設定画面右側の[+]ボタンを押します。
[Live Template]を選択します。
[Abbreviation]に呼び出し文、Descriptionに説明文(省略可能です)、Template textに挿入したいテンプレート文を入力します。
con
の入力で、console.log()
を呼び出すテンプレートの作成例は下記です。$VAR$
を入力すると、テンプレート呼び出し時に$VAR$
部分にカーソルが合います。
画面下の「Define」を押します。
作成したテンプレートを、どの言語で使うかの設定をします。全ての言語で使いたければ[Everywhere]に、JavaScriptのみで使いたければ[JavaScript]にチェックを入れます。
[OK]を押して確定すれば、オリジナルのテンプレートが追加されます。
▲ con
の入力でconsole.log()
が挿入される例
Live Templatesはあらゆる言語で使える
Live TemplatesはJavaScriptだけではなくHTML・XML・JSON・CSS・TypeScript・Jade・Dart等あらゆる言語で使えます。例えばHTMLならCD
で<![CDATA[]]>が、
TypeScriptならref
で///<reference path="$PATH$"/>
がそれぞれ入力されます。
Live Templates機能で快適なプログラミングを
Live Templates機能を使うことで、同じコードを何度も入力する手間が省け作業時間の短縮につながります。個人的にはfor (var i = 0...
や /// <reference path...
は打つのは面倒で無駄に感じるので、この機能が重宝しています。また、IntelliJ、PhpStormといったJetBrains製品でも利用可能ですので、是非使ってみてください。
「JavaScriptのプログラミングはこれだけ効率化できる! 使用歴5年目のエンジニアが送るWebStormの厳選神業集 - ICS MEDIA」でも様々なテクニックを紹介しているのであわせて参照ください。