Visual Studio C#コードスニペット早見表

# コードスニペット一覧

よく使いそうなものを抜粋。Visual Studio 2015で確認。

|ショートカット|挿入コード|備考|
|:-----|:---|:---|
|`#if`|`#if true`<br>`#endif`|　|
|`#region`|`#region MyRegion`<br>`#endregion`|　|
|`class`|`class MyClass`<br>`{`<br>`}`|クラス|
|`ctor`|`public ClassName()`<br>`{`<br>`}`|コンストラクタ|
|`~`|`~ClassName()`<br>`{`<br>`}`|デストラクタ|
|`interface`|`interface IInterface`<br>`{`<br>`}`|インターフェース|
|`enum`|`enum MyEnum`<br>`{`<br>`}`|列挙|
|`prop`|`public int MyProperty { get; set; }`|プロパティ|
|`propfull`|`private int myVar;`<br>`public int MyProperty`<br>`{`<br>`    get { return myVar; }`<br>`    set { myVar = value; }`<br>`}`|プロパティ|
|`propg`|`public int MyProperty { get; private set; }`|プロパティ(読み取り専用)|
|`sim`|`static int Main(string[] args)`<br>`{`<br>`    return 0;`<br>`}`|Main関数|
|`svm`|`static void Main(string[] args)`<br>`{`<br>`}`|Main関数|
|`try`|`try`<br>`{`<br>`}`<br>`catch (Exception)`<br>`{`<br>`    throw;`<br>`}`|例外処理|
|`tryf`|`try`<br>`{`<br>`}`<br>`finally`<br>`{`<br>`}`|例外処理|
|`if`|`if (true)`<br>`{`<br>`}`|条件分岐|
|`else`|`else`<br>`{`<br>`}`|条件分岐|
|`switch`|`switch (switch_on)`<br>`{`<br>`    default:`<br>`}`|条件分岐|
|`for`|`for (int i = 0; i < length; i++)`<br>`{`<br>`}`|繰り返し|
|`foreach`|`foreach (var item in collection)`<br>`{`<br>`}`|繰り返し|
|`while`|`while (true)`<br>`{`<br>`}`|繰り返し|
|`do`|`do`<br>`{`<br>`} while (true)`|繰り返し|
|`using`|`using (resource)`<br>`{`<br>`}`|　|
|`cw`|`Console.WriteLine();`|コンソール出力|

# 使い方
上の表の「`ショートカット`」のコマンドを入力して`Tab`キーを2回押すと「`挿入コード`」の内容に置き換わる。

## 例1. enum

列挙型を定義する場合
![vssni01.png](https://qiita-image-store.s3.amazonaws.com/0/142879/634b8515-598a-2598-48f3-d2458a8b303e.png)

-----

`enum`と入力。
途中までの入力でも目的のコードスニペットが選択されたら`Tab`キーを2回。
![vssni02.png](https://qiita-image-store.s3.amazonaws.com/0/142879/756639bf-968e-4802-c29d-fc3ef44de437.png)

-----

コードが挿入される。`MyEnum`の部分が選択状態になっているので、任意の名前を入力する。
![vssni03.png](https://qiita-image-store.s3.amazonaws.com/0/142879/9c8add64-ce2c-35c3-6b06-3b973ebbf924.png)

-----

`Signal`と入力した。
![vssni04.png](https://qiita-image-store.s3.amazonaws.com/0/142879/c08cc989-4c44-10cc-8dad-42fbcd522c35.png)

-----

`Enter`を押すと`{}`の中にカーソルが移動するので、
![vssni05.png](https://qiita-image-store.s3.amazonaws.com/0/142879/1831a0ad-516a-bc45-5cbb-04dd2c1497a9.png)


-----

列挙値を入力する。
![vssni06.png](https://qiita-image-store.s3.amazonaws.com/0/142879/188436ab-bb4e-5655-5eac-822bbe042b4f.png)

-----

## 例2. switch

Main関数の中に`Signal sg = Signal.Green;`で列挙型を用意し、
`switch`コードスニペットを使ってみる。
![vssni07.png](https://qiita-image-store.s3.amazonaws.com/0/142879/4ff1485b-6fba-e6b0-3990-fc29c6262e30.png)

-----

`Tab`キー2回でswitch文が挿入された。
![vssni08.png](https://qiita-image-store.s3.amazonaws.com/0/142879/b52cd234-c59f-db9a-16d4-89084252e6b0.png)

-----

`switch_on`が選択状態になっているので、`sg`と入力する。
![vssni09.png](https://qiita-image-store.s3.amazonaws.com/0/142879/08f1e7b4-bc85-317a-82ca-bd3dcca7e99e.png)

-----

`sg`に書き換え後、`Enter`を押すと自動的にcase文が作られる。
![vssni10.png](https://qiita-image-store.s3.amazonaws.com/0/142879/fadd8c69-99fe-07a0-7bdb-1d2a2a0c550e.png)

-----

## 例3. for

for文のコードスニペット。
![vssni11.png](https://qiita-image-store.s3.amazonaws.com/0/142879/db929ae0-41e9-dd17-431c-2c06f86be23d.png)

-----

コード挿入後、`length`部分が選択状態になっているので、
![vssni12.png](https://qiita-image-store.s3.amazonaws.com/0/142879/18d318d3-2758-88a4-03ce-d81fe0e18385.png)

-----

`100`に変えた。
![vssni13.png](https://qiita-image-store.s3.amazonaws.com/0/142879/b54fe015-3e5e-11d1-b1ec-94b16b7fb066.png)

-----

`Tab`キーを押すと今度は`i`が選択状態になるので、
![vssni14.png](https://qiita-image-store.s3.amazonaws.com/0/142879/c7ed606b-6b86-eee2-5085-fe56cf2e442f.png)

-----

`cnt`に変えた。
![vssni15.png](https://qiita-image-store.s3.amazonaws.com/0/142879/807f0b78-d3d8-c058-10fe-7a015d0a0278.png)

-----

`Enter`を押すと他の`i`も`cnt`に置き換わり、`{}`内にカーソルが移動する。
![vssni16.png](https://qiita-image-store.s3.amazonaws.com/0/142879/806f62b4-7735-e7e6-84cc-fa137c9cabd5.png)


# 参考サイト
* [Visual C# のコード スニペット - MSDN](https://msdn.microsoft.com/ja-jp/library/z41h7fat(v=vs.140).aspx)