C# コード スニペット

適用対象:yesVisual Studio noVisual Studio for Mac noVisual Studio Code

コード スニペットは、あらかじめ用意されているコードのスニペットで、コードにすぐに挿入できます。 たとえば、for コード スニペットは空の for ループを作成します。 一部のコード スニペットは surround-with コード スニペットであり、コード行を選んでから、選んだコード行を組み込むコード スニペットを選ぶことができます。 たとえば、コード行を選んでから for コード スニペットをアクティブにすると、選んだコード行がループ ブロックの中に含まれる for ループが作成されます。 コード スニペットを使うと、速く、容易に、信頼性の高いプログラム コードを作成できます。

カーソル位置にコード スニペットを挿入したり、現在選択されているコード ブロックを囲むように surround-with コード スニペットを挿入したりすることができます。 コード スニペット挿入機能は、[IntelliSense] メニューの [コード スニペットの挿入] または [ブロックの挿入] コマンドを使って、またはキーボード ショートカットの場合はそれぞれ Ctrl+KX キーの順に押すか、Ctrl+KS キーの順に押すことで、呼び出すことができます。

コード スニペット挿入機能では、すべての利用可能なコード スニペットのコード スニペット名が表示されます。 また、コード スニペット挿入機能には、コード スニペットの名前または名前の一部を入力できる入力ダイアログ ボックスもあります。 最も近いコード スニペット名が強調表示されます。 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 ループを作成します。 メソッド、インデクサー、プロパティ アクセサー、またはイベント アクセサーの内部。

関連項目