2
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?

More than 5 years have passed since last update.

[Resharperチュートリアル.テンプレート]Live Template/Surround Template(コードスニペット)の使い方/作り方

Last updated at Posted at 2019-02-11

LiveTemplate / SurroundTemplateとは

要するにコードスニペット。標準のVisual Studioでforと打ってTab押したらfor文の雛型が生成されるやつ。

=>公式情報:ライブテンプレートを使用したソースコードの作成

サラウンドテンプレートは選択範囲をtry-catchブロックで囲ったり、lockで囲ったりする場合に使用。

Visual Studioでカスタムのコードスニペットを作るのはxmlファイルいじったりしてめんどくさいけど、Resharperなら簡単に作れる。

使い方

  • liveTemplateの使用例:自作のテストメソッド作成用テンプレート。"tm"と打ってEnter→テストしたいメソッドを入力。
    liveTemplate.gif

  • このように簡単に雛型を作れることがきちんとテストを書くモチベーションにもなる!

  • surroundTemplateの例:try-catchの例

  • ショートカット無し

  • try-catchで囲みたいブロックを選択→ブラシマークをクリック→[Surround With]→tryをクリック

surroundTemplate.gif

  • try-catchはよく書くのでショートカットを覚えると生産的
  • [Ctrl + W]を数回押してメソッド全体選択→[Ctrl + E, Ctrl + U]でサラウンドテンプレートメニューを開く→[8]でtry-catchを選択
    surroundTemplate2.gif

作り方

Live Templates

自分がよく使うテストメソッド生成テンプレートの作り方

  1. [Resharperメニュー]→[Tools]→[Templates Explorer...]を選択

liveTemplate1.JPG

  1. Templates Explorerが開く→[Live Templates]タブの[C#]が選択されている状態で新規作成ボタンを押す
    liveTemplate2.JPG

3.下図のように編集して[Ctrl + s]で保存

  • Shortcut : スニペットのショートカット
  • Description : スニペット洗濯時の説明文
  • 可変部分はドルマークで囲み、変数とする
    liveTemplate3.JPG

→これで冒頭のGifのように"tm"と打つとコード補完でテストメソッド用のスニペットが選択できるようになる。

なお既存コードからテンプレートの雛型を作成することもできる。

1.テンプレート化したい範囲を選択
lt1.JPG

2.[Resharper]メニュー→[Tools]→[Create Live Templates from Selection...]を選択
lt2.JPG

3.雛型ができる
lt3.JPG

4.雛型を編集。shortcut, Descriptionを入力し、変数化したい部分をドルマークで囲む。
この例ではクラス名にマクロ[Containing type member name]にして、クラス名が自動で入るようにしている。
lt4.JPG

↓作成したテンプレートはこのように、使える
liveTemplate2.gif

Surround Templatesの作り方

ほぼLiveTemplatesと同様。今回は[C#Tips.ログ]Disposable-usingを使った簡単計測ログ出力方法で紹介した計測ログ出力関数用usingのテンプレートを作成してみる

  1. [Resharperメニュー]→[Tools]→[Templates Explorer...]を選択

liveTemplate1.JPG

  1. Templates Explorerが開く→[Surround Templates]タブを選択、[C#]が選択されている状態で新規作成ボタンを押す
    surroundTemplate1.JPG

3.デフォルトの$SELECTION$変数が選択範囲になるものとして編集して[Ctrl + s]で保存
surroundTemplate2.JPG

↓このように使える。

surroundTemplate3.gif

#まとめ
これ知っとくと楽やで^^。ほんの些細な定型句でもチマチマテンプレート化していくと、退屈な単純作業が楽しいテンプレート遊びと化す!

それでは良いプログラミングライフをノシ

2
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
2
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?