次の方法で共有


Command.Bindings プロパティ

更新 : 2007 年 11 月

コマンドの呼び出しに使うキーストロークのリストを設定または取得します。

名前空間 :  EnvDTE
アセンブリ :  EnvDTE (EnvDTE.dll 内)

構文

'宣言
Property Bindings As Object
'使用
Dim instance As Command
Dim value As Object

value = instance.Bindings

instance.Bindings = value
Object Bindings { get; set; }
property Object^ Bindings {
    Object^ get ();
    void set (Object^ value);
}
function get Bindings () : Object
function set Bindings (value : Object)

プロパティ値

型 : System.Object

オブジェクトの SafeArray

解説

Bindings は、指定したコマンドのすべてのショートカット キーを表す文字列を含むオブジェクトの SafeArray を設定するか、または返します。コマンドにショートカット キーを追加するには、ショートカット キーを SafeArray に追加して、SafeArray を再設定します。コマンドのショートカット キーを削除するには、ショートカット キーを SafeArray から削除し、SafeArray を再設定します。

各文字列の構文は、次のいずれかになります ("modifiers+" は省略可能)。

  • "scopename::modifiers+key"

  • "scopename::modifiers+key, modifiers+key"

modifiers+ は、"Ctrl+"、"Alt+"、および "Shift+" です。指定する順番は決まっていません。最初の修飾キーまたはキーは、2 つのコロン (::) の直後に指定します。キー シーケンスの区切り記号として使用するカンマの後には半角スペースが必要です。

返される値はすべて "Ctrl + Space" のように大文字と小文字の組み合わせになっていますが、新しいショートカット キーを追加するときの大文字と小文字の使い方には決まりはありません。

ショートカット キーの文字列では、スペースはリテラルとして処理されます。スペースやタブ文字などのエスケープ シーケンスはありません。以下はショートカット キーの設定例です。

  • "Text Editor::ctrl+r, ctrl+r"

  • "Global::ctrl+o"

  • "Global::f2"

Bindings は、ショートカット キーを設定できないコマンドに対しては Nothing を返します。このようなコマンドは、キーボードの割り当てをする [ツール オプション] のプロパティ ページには表示されません。ショートカット キーを設定できないコマンドに対してこのプロパティを設定しようとすると、エラーが返されます。

メモ :

既定のキーボード マップ スキームの設定をプログラムによって変更することはできません。設定を変更するには、まず、既定のキーボード マップ スキームのコピーを [オプション] ダイアログ ボックスの [キーボード] ノードに保存します。その後、そのマップ スキームで設定を変更できます。

' Macro code.
Sub BindingsExample()
    Dim cmds As Commands
    Dim cmd As Command
    Dim props As EnvDTE.Properties = DTE.Properties("Environment", _
    "Keyboard")
    Dim prop As EnvDTE.Property

    ' Set references to the Commands collection and the File.NewFile 
    ' command.
    cmds = DTE.Commands
    cmd = cmds.Item("File.NewFile")

    ' Assigns the command (File.NewFile) globally to the F2 key.
    ' Because you cannot programmatically change the default keyboard 
    ' mapping scheme settings, you must first make a copy of the 
    ' Default Settings for the Keyboard Mapping Scheme.
    prop = props.Item("Scheme")
    ' Sets the Scheme property value to a new keyboard scheme.
    ' This saves the old keyboard mapping scheme and allows you 
    ' to add new key mappings.
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
    prop.Value = "C:\Documents and Settings\johndoe\Application _
    Data\Microsoft\VisualStudio\8.0\MyNewKbdScheme.vsk"
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
    cmd.Bindings = "Global::f2"
End Sub

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

Command インターフェイス

Command メンバ

EnvDTE 名前空間

その他の技術情報

アドイン コマンドのキーへの割り当て