C# コード スニペット
適用対象:Visual Studio
Visual Studio for Mac
Visual Studio Code
コード スニペットは、あらかじめ用意されているコードのスニペットで、コードにすぐに挿入できます。 たとえば、for
コード スニペットは空の for
ループを作成します。 一部のコード スニペットは surround-with コード スニペットであり、コード行を選んでから、選んだコード行を組み込むコード スニペットを選ぶことができます。 たとえば、コード行を選んでから for
コード スニペットをアクティブにすると、選んだコード行がループ ブロックの中に含まれる for
ループが作成されます。 コード スニペットを使うと、速く、容易に、信頼性の高いプログラム コードを作成できます。
カーソル位置にコード スニペットを挿入したり、現在選択されているコード ブロックを囲むように surround-with コード スニペットを挿入したりすることができます。 コード スニペット挿入機能は、[IntelliSense] メニューの [コード スニペットの挿入] または [ブロックの挿入] コマンドを使って、またはキーボード ショートカットの場合はそれぞれ Ctrl+K、X キーの順に押すか、Ctrl+K、S キーの順に押すことで、呼び出すことができます。
コード スニペット挿入機能では、すべての利用可能なコード スニペットのコード スニペット名が表示されます。 また、コード スニペット挿入機能には、コード スニペットの名前または名前の一部を入力できる入力ダイアログ ボックスもあります。 最も近いコード スニペット名が強調表示されます。 Tab キーを押すと、コード スニペット挿入機能が閉じて、現在選択されているコード スニペットが挿入されます。 Esc キーを押すか、コード エディターをマウスでクリックすると、コード スニペットを挿入することなくコード スニペット挿入機能が閉じます。
既定のコード スニペット
既定では、Visual Studio の C# には次のコード スニペットが含まれます。
名前 (またはショートカット) | [説明] | スニペットを挿入できる場所 |
---|---|---|
#if | #if ディレクティブと #endif ディレクティブを作成します。 | 任意の場所。 |
#region | #region ディレクティブと #endregion ディレクティブを作成します。 | 任意の場所。 |
~ | 外側のクラスのファイナライザー (デストラクター) を作成します。 | クラスの内部。 |
属性 (attribute) | Attribute から派生するクラスの宣言を作成します。 | 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。 |
checked | checked ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
class | クラスの宣言を作成します。 | 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。 |
ctor | 外側のクラスのコンストラクターを作成します。 | クラスの内部。 |
cw | WriteLine への呼び出しを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
do | dowhile ループを作成します。 |
メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
else | else ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
enum | enum 宣言を作成します。 | 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。 |
equals | Object クラスに定義された Equals メソッドをオーバーライドするメソッド宣言を作成します。 | クラスまたは構造体の内部。 |
exception | exception (既定では Exception) から派生するクラスの宣言を作成します。 | 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。 |
対象 | for ループを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
foreach | foreach ループを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
forr | 各イテレーションの後でループ変数をデクリメントする for ループを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
if | if ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
インデクサー | インデクサーの宣言を作成します。 | クラスまたは構造体の内部。 |
interface | interface 宣言を作成します。 | 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。 |
invoke | イベントを安全に呼び出すブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
iterator | 反復子を作成します。 | クラスまたは構造体の内部。 |
iterindex | 入れ子になったクラスを使って "名前付き" の反復子とインデクサーのペアを作成します。 | クラスまたは構造体の内部。 |
ロック (lock) | lock ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
mbox | System.Windows.Forms.MessageBox.Show への呼び出しを作成します。 場合によっては、System.Windows.Forms.dll への参照を追加する必要があります。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
namespace | namespace 宣言を作成します。 | 名前空間 (グローバル名前空間を含む) の内部。 |
prop | 自動実装プロパティの宣言を作成します。 | クラスまたは構造体の内部。 |
propfull | get および set アクセサーを持つプロパティの宣言を作成します。 |
クラスまたは構造体の内部。 |
propg | プライベートな set アクセサーを持つ読み取り専用の自動実装プロパティを作成します。 |
クラスまたは構造体の内部。 |
sim | staticint の Main メソッドの宣言を作成します。 | クラスまたは構造体の内部。 |
struct | struct 宣言を作成します。 | 名前空間 (グローバル名前空間を含む)、クラス、または構造体の内部。 |
svm | staticvoid の Main メソッドの宣言を作成します。 | クラスまたは構造体の内部。 |
switch | switch ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
試す | try-catch ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
tryf | try-finally ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
unchecked | unchecked ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
unsafe | unsafe ブロックを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |
using | using ディレクティブを作成します。 | 名前空間 (グローバル名前空間を含む) の内部。 |
while | while ループを作成します。 | メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。 |