次の方法で共有


DTE Properties コレクション

環境レベルのプロパティは、[オプション] ダイアログ ボックスに表示される階層に対応するカテゴリに分類されます。たとえば、DTE.Properties("TextEditor", "Basic") は、[オプション] ダイアログ ボックスの [テキスト エディター] ノードの下にある [Basic] ノードの設定を表します。同様に、このダイアログ ボックスの各ページにある設定の多くは、プロパティによって表されます。たとえば、[テキスト エディター] ノードの下にある [Basic] ノードの [タブ] ページには [タブ サイズ] という設定があります。この設定は、TabSize プロパティおよび TabSize プロパティによって表されます。各プロパティ項目には、1 つ以上の値があり、Value プロパティによって表されます。プロパティを使用して値を変更する方法については、「オプション設定の制御」を参照してください。

Visual Studio に含まれている設定の定義済みカテゴリの一覧については、次のドキュメントを参照してください。

設定を既存の [オプション] ページに追加したり、カスタム ページを [オプション] ダイアログ ボックスに追加したりするには、Visual Studio SDK を使用します。詳細については、Development Tools Ecosystem Partner Portal (開発ツール エコシステム パートナー ポータル) Web サイトを参照してください。

[!メモ]

[オプション] ダイアログ ボックスの一部のページでは、オートメーションがサポートされていません。オートメーションをサポートするプロパティ ページについては、「オプション ページにあるプロパティ項目名の確認」を参照してください。

統合開発環境 (IDE: Integrated Development Environment) で [オプション] ダイアログ ボックスを開くには、[ツール] メニューの [オプション] をクリックします。

使用例

次の例では、[オプション] ダイアログ ボックスの [テキスト エディター] ノードの下にある [C#] ノードの [全般] ページでアクセスできるプロパティ項目を表示する方法を示します。コードでは、"C#" ノードを "CSharp" と表す必要があることに注意してください。アドインの例を実行する方法については、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

' Add-in code.
Public Sub OnConnection(ByVal application As Object, ByVal connectMode _
As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef _
custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection

    applicationObject = CType(application, EnvDTE.DTE)
    addInInstance = CType(addInInst, EnvDTE.AddIn)
    ' Pass the applicationObject member variable to the code example.
    PropertiesExample (applicationObject)
    End Sub

Sub PropertiesExample(ByVal dte As DTE)
    ' Create and initialize a variable to represent the C# 
    ' text editor options page.
    Dim txtEdCS As EnvDTE.Properties = _
    DTE.Properties("TextEditor", "CSharp")
    Dim prop As EnvDTE.Property
    Dim msg As String

    ' Loop through each item in the C# text editor options page. 
    For Each prop In txtEdCS
        msg += ("PROP NAME: " & prop.Name & "   VALUE: " & _
        prop.Value) & vbCr
    Next
    MsgBox(msg)
End Sub
// Add-in code.
Using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    applicationObject = (_DTE)application;
    addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    PropertiesExample((DTE)applicationObject); 
}

public void PropertiesExample( DTE dte ) 
{ 
    // Create and initialize a variable to represent the C# 
    // text editor options page.
    EnvDTE.Properties txtEdCS =
 dte.get_Properties( "TextEditor", "CSharp" ); 
    EnvDTE.Property prop = null; 
    string msg = null; 

    // Loop through each item in the C# text editor options page. 
    foreach ( EnvDTE.Property temp in txtEdCS ) 
    { 
        prop = temp; 
        msg += ( "PROP NAME: " + prop.Name + "   VALUE: " 
+ prop.Value ) + "\n"; 
    }
    MessageBox.Show( msg); 
}

次の例では、上記の例を少し変更することで、入れ子になったノードの設定を表示できます。ここでは、[テキスト エディター] ノードの下にある [C#] ノードの [書式設定] ノードを対象とします。この変更を加えるには、2 番目の Properties パラメーターの値を、DTE.Properties("TextEditor", "Basic-Specific") や DTE.Properties("Environment", "ProjectsAndSolution") などの表示または変更する設定に変更します。使用する値については、このドキュメントの冒頭で示しています。

ここでは、"CSharp - Formatting" を使用し、C# テキスト エディターの [書式設定] 設定を表示します。

' Add-in code.
Sub PropertiesExample()
    ' Create and initialize a variable to represent the C# 
    ' Formatting text editor options page.
    Dim txtEdCSFormat As EnvDTE.Properties = _
    DTE.Properties("TextEditor", "CSharp-Specific")
    Dim prop As EnvDTE.Property
    Dim msg As String

    ' Loop through each item in the C# Formatting Options page. 
    For Each prop In txtEdCSFormat
        msg += ("PROP NAME: " & prop.Name & "   VALUE: " & _
        prop.Value) & vbCr
    Next
    MsgBox(msg)
End Sub

参照

処理手順

方法: カスタム オプション ページを作成する

概念

オプション設定の制御

オプション ページにあるプロパティ項目名の確認