次の方法で共有


KEYBINDINGS_SECTION-KEYBINDINGS_END

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

注意

メニューおよびコマンドの表示方法、VSPackage で定義するのにコマンド テーブル構成 (.ctc) ファイルではなく XML コマンド テーブル (.vsct) ファイルを使用 Visual Studio 2008 SDK から始まる、します。詳細については、「XML-Based Command Table Configuration (.vsct) Files」を参照してください。

The KEYBINDINGS_SECTION – KEYBINDINGS_END section of a command table configuration (.ctc) file specifies the mapping of commands to key combinations. このようなマッピングはキーの組み合わせとも呼ばれます。

コマンド 1 と 2 の両方のキー バインディングができます。 単一のキー バインディングの例は、保存をトリガする Ctrl キーを押しながら S がコマンド。 デュアル キーの組み合わせ、または chords、連続的なコマンドをトリガする押されたに 2 キーの組み合わせに必要な。 デュアル キー バインディングの例は、ブックマークを設定する Ctrl キーを押しながら K Ctrl キーを押しながら K があります。

Keybinding エントリ

Each entry in the KEYBINDINGS_SECTION – KEYBINDINGS_END section must contain values for four fields:コマンド ID、エディタの ID、エミュレーション ID、およびキーの状態です。 次の表でには、これらのフィールドについて説明します。

フィールド

説明

Command ID

コマンドは、キーの組み合わせのバインド先を識別する GUID:ID ペア。

Editor ID

コマンドの UI コンテキストされたキーの組み合わせを使用できるエディタを識別する GUID (CmdUIGUID)。 エディタに単一のビューまたは] タブのがある場合、GUID する必要がありますは、エディタの。 エディタにされている場合複数のタブまたはビューを使用して guidVSStd97 または GuidKeyDupe のいずれかの値。

Emuluation ID

GUID されたキーの組み合わせを使用できるキーボード エミュレーションを識別します。 Emulation ID フィールドは、将来使用するために予約されています。 現在する必要がありますに設定 Editor ID と同じ値。

Key State

コマンドをトリガするキーの組み合わせを指定します。

示すよう以下の例に、各エントリのフィールド値する必要がありますが順序で入力、コンマで区切られ、エントリする必要があります終了をセミコロンで。

フィールドと値については、"The Keybinding エントリ フィールド] を参照してください。 このトピックです。

Keybinding の使用例 (VB)

一部のキー バインディング エントリを次の例の Basic Edit サンプル、.ctc ファイルからに示します。 この特定の状況で、Basic Editor を CMDUSED_SECTION-CMDUSED_END セクションで指定されていますが、統合開発環境 (IDE)、内の既存のコマンドをオーバーライドです。

KEYBINDINGS_SECTION
  // GUID:CMDID                      EDITORGUID       EMULATIONGUID    KEYSTATE

    guidVSStd97:cmdidBold,           guidBscEdtEdtr,  guidBscEdtEdtr,  'B':C;
    guidVSStd97:cmdidBold,           guidBscEdtEdtr,  guidBscEdtEdtr,  'B':CS;
    guidVSStd97:cmdidItalic,         guidBscEdtEdtr,  guidBscEdtEdtr,  'I':C;
    guidVSStd97:cmdidUnderline,      guidBscEdtEdtr,  guidBscEdtEdtr,  'U':C;

    guidVSStd97:cmdidJustifyLeft,    guidBscEdtEdtr,  guidBscEdtEdtr,  'L':C;
    guidVSStd97:cmdidJustifyCenter,  guidBscEdtEdtr,  guidBscEdtEdtr,  'E':C;
    guidVSStd97:cmdidJustifyRight,   guidBscEdtEdtr,  guidBscEdtEdtr,  'R':C;

    guidVSStd2K:ECMD_INSERT,         guidBscEdtEdtr,  guidBscEdtEdtr,  VK_INSERT:;

KEYBINDINGS_END

Keybinding 入力フィールド

順のフィールドは。

  • Command ID

    Command ID フィールドには、キーの組み合わせを代入するコマンドを指定します。 たとえば、"guidVSStd97:cmdidItalic。"

  • Editor ID

    Editor ID フィールドは、キーの組み合わせはできます、スコープを識別します。 Editor ID の値は、エディタが作成されたときに、開発者によって割り当てられた CmdUIGUID に対応する GUID が。 この Editor ID GUID 値がありますかエディタの EditorFactory の GUID と同じことがありますはないです。

    既定値、エディタの CmdUIGUID pguidCmdUI メソッドの CreateEditorInstance パラメータによって返されます。 ウィンドウの CmdUIGUID ウィンドウの VSFPROPID_CmdUIGuidIVsWindowFrame プロパティを設定によって更新です。

    注意

    VSFPROPID_CmdUIGuid プロパティを変更した後にパラメータの値 (OnElementValueChange 、SEID_DocumentFrame、 FALSE) 新しいキーの組み合わせ、ツールバーなどを反映させるには、 varWinFrame を呼び出す必要があります。

    1 つだけのビューで、エディタが 1 つの cmdUIGUID のみです。 詳細エディタ、ただし、あります複数のビュー、またはタブ。 たとえば、HTML エディタあります、グラフィックの表示と、HTML ソースのテキスト表示します。 エディタに複数のビューが場合、各ビューは、独自の一意 CmdUIGUID し独自キーの組み合わせができます。 Editor からのビューのいずれかのみにキー バインディングの範囲の制限] には Editor ID 値をビューの CmdUIGUID を設定します。

    キーの組み合わせも設定するグローバルのスコープを常に適用されることを意味します。 グローバル スコープでキーの組み合わせを定義、Editor ID の使用 guidVSStd97。 既存グローバル スコープ コマンドの重複するバインドを作成している場合代わり値を使用 GuidKeyDupe のします。 重複するバインドを追加の代わりに、既存のマップにバインドをされますが、既存のバインディングが優先されます。

  • Emulation ID

    Emulation ID フィールドは、将来使用するために予約されていますは。 現在する必要がありますに設定 Editor ID と同じ値。

  • Key State

    Key State フィールドには、キーボードのキー組み合わせコマンドをトリガする押すことができますを指定します。 それぞれのエントリの形式は。

    Key:Accel : Key:Accel
    

    エントリの値 Key は、次のいずれかにする必要がありますに。

    • リテラル値をキーの文字または単一引用符で数字であります。 たとえば、'A'、 'X'、または '3' です。 コマンドのテーブルのコンパイラでは、コードをスキャンする引用符で囲まれた文字を変換されます。 ある文字指定は大文字で、Shift キー修飾子は、キーに適用いない場合でも注意してください。

    • 数値をキーの 10 進数または 16 進数仮想キー コードであります。 たとえば、32 (のスペースを 10 進数)、 0x3d (、等号の 16 進数 '= ')、または 91 (開いている角の 10 進数' [')。

      標準の仮想キー コードの一覧をプラットフォーム SDK で Winuser.h ファイルを参照してください。

      注意

      コマンドのテーブルのコンパイラ変換しません英数字以外の文字など '. ' または '+'、コードをスキャンします。そのため、数字と文字以外の文字をリテラルとして入力できません。

    値 Accel を指定します、キーボードの修飾子、1 つ以上の次の文字または何も実行の組み合わせでような (でする場合、必要がありますが指定 Key から Accel を分離するコロン)。

    • A = ALT

    • S = Shift キーを押し

    • c = control

    以下に例を示します。

    • Ctrl + Alt + Xなどの単一キー バインディング、 'X':CA または 75:CA を指定します。

    • Ctrl + K キー Ctrl + Xなどのデュアル キー バインディングを指定 'K':C : 0x4B:C (0x4B が ' X ')。

    • 挿入、変更など、なしの修飾子と単一のキー バインディングを VK_INSERT: または 0x2D: (末尾のコロンとその後何も注意してください) を指定します。

    既にバインドされているコマンドに、2 つ目のキー バインディングを指定する場合 Editor IDEmulation ID および GUIDKeyDupe フィールドで値を設定する必要があります。 これにより両方のバインドを実行するコマンド。

環境のキーボードと VSPackage KeyBindings

結合キー バインディングは、Visual Studio 環境によって提供おりすべてインストールされている VSPackage は、既定のキー バインディング。 ユーザーまたは変更できます、キーの組み合わせにこれらの変更は、既定のバインドの上に階層化します。 任意のキーをユーザーのバインドは優先順位の既定キー バインディング、競合が存在する場合で指定します。

ユーザーが、のリセットの ボタンをクリックすると Keyboardオプション ダイアログ ボックスの ( ツール メニューから利用できる)] カテゴリのすべてのユーザーのバインドが削除され、インストールされている VSPackage と、環境から既定のバインドが復元されます。

それぞれ回 devenv.exe /setup、すべて VSPackage と環境からの既定のキー バインディングは再作成しますが、実行、ユーザーのキー バインディングの変更はありません変更行われません。 場合、devenv.exe /setup を実行の結果として、ユーザーが、キーにバインドするコマンドは利用できません、ユーザーのキーの組み合わせはだけで無視されます。

2 つの VSPackage 定義する場合異なるコマンドの同じキー バインドは、devenv.exe /setup 中に処理される最初の VSPackage のキーの組み合わせを取得します。 VSPackage が devenv.exe /setup 中に処理される順序を確認する効果的方法がないためする必要があります注意をキーの組み合わせを繰り返すにはできません。

参照

概念

VSPackage の IDE にユーザー インターフェイス要素を追加する方法

CMDS_SECTION-CMDS_END