옵션 설정 제어
옵션 대화 상자(이후 옵션 페이지로 표시)의 페이지에서 여러 설정을 활성화 또는 비활성화하도록 코드를 작성할 수 있습니다. Visual Studio 자동화 모델에서는 Properties 속성, Value 속성 및 DTE 개체의 Item 메서드만 사용하십시오.
참고
많은 옵션 페이지의 여러 항목을 프로그래밍 방식으로 액세스할 수 있지만 특정 페이지에 액세스할 수 없는 항목이 포함될 수 있습니다. 또한 옵션 페이지 자체에 액세스하지 못할 수도 있습니다. 자동화 모델을 사용하여 설정을 변경할 수 없는 경우 Visual Studio SDK를 사용하여 설정을 변경할 수도 있습니다. 자세한 내용은 이 문서의 뒷부분에 있는 "기존 옵션 페이지에 설정 추가"를 참조하십시오. 프로그래밍 방식으로 액세스할 수 있는 옵션 목록과 해당 옵션의 정확한 이름을 보려면 옵션 페이지에서 속성 항목의 이름 확인에서 "속성 항목 이름"을 참조하십시오.
IDE(통합 개발 환경)에서 옵션 대화 상자를 열려면 도구 메뉴에서 옵션을 클릭합니다.
옵션 설정 표시
Properties 컬렉션 및 Property 개체를 사용하여 옵션 페이지의 설정에 액세스합니다. 다음 Visual Studio 매크로 예제에서는 문서 페이지에 있는 항목의 이름, 현재 값 및 형식을 보여 줍니다.
' Macro code.
Sub PropertiesExample()
' Create and initialize a variable to represent the Documents
' Options page.
Dim envGenTab As EnvDTE.Properties = _
DTE.Properties("Environment", "Documents")
Dim prop As EnvDTE.Property
Dim msg As String
' Loop through each item in the Documents Options box.
For Each prop In envGenTab
Try
msg += ("PROP NAME: " & prop.Name & _
" VALUE: " & prop.Value) & _
" TYPE: " & prop.Value.GetType.ToString()) & vbCr
Catch
End Try
Next
MsgBox(msg)
End Sub
다음 매크로 예제에서는 작업 목록(환경 노드 아래)에 대한 옵션 페이지에서 제공되는 속성을 보여 줍니다. 이 매크로에는 토큰 목록 주석에 대해 사용 가능한 값도 나열되어 있습니다.
' Macro code.
Sub DisplayProperties()
' Variables to represent the properties collection
' and each property in the Options dialog box.
Dim prop As EnvDTE.Property
Dim props As EnvDTE.Properties
Dim propVals As Object()
Dim propVal, msg As String
' Represents the Task List Node under the
' Enviroment node.
props = DTE.Properties("Environment", "TaskList")
' Represents the items in the comment Token list
' and their priorities (1-3/low-high).
prop = props.Item("CommentTokens")
propVals = prop.Value
Try
' List each property name for the Options page
' and all of its possible values.
For Each prop In props
msg += "PROP NAME: " & prop.Name & vbCr
For Each propVal In propVals
msg += " Value: " & propVal & vbCr
Next
Next
MsgBox(msg)
Catch ex As System.Exception
MsgBox("ERROR: " & ex.Message)
End Try
End Sub
이 예제에는 서식(텍스트 편집기, C# 아래)에 대한 옵션 페이지의 프로그래밍 가능한 설정이 나열되어 있습니다.
' Macro 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 - Formatting")
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
옵션 설정 변경
옵션 페이지에서 설정 값을 표시할 수 있을 뿐만 아니라 값도 변경할 수 있습니다. 다음 Visual Studio 매크로 예제에서는 이를 수행하는 방법을 보여 줍니다.
참고
기존 옵션 페이지에서 컨트롤의 값을 변경할 수 있지만 컨트롤 또는 설정을 추가, 제거 또는 수정할 수 없습니다. 자신만의 설정을 지정하려면 사용자 지정 옵션 페이지를 만들어야 합니다. 자세한 내용은 방법: 사용자 지정 옵션 페이지 만들기를 참조하십시오.
첫 번째 예제(ToolOpt1)는 환경 노드 아래의 문서 페이지에 있는 저장되면 현재 문서 창 다시 사용 옵션의 이름인 ReuseSavedActiveDocWindow의 부울 값을 전환합니다.
' Macro code.
Sub ToolOpt1()
Dim props As EnvDTE.Properties = DTE.Properties("Environment", _
"Documents")
Dim prop As EnvDTE.Property
prop = props.Item("ReuseSavedActiveDocWindow")
' If value is TRUE, change it to FALSE, or vice-versa.
MsgBox("PROP NAME: " & prop.Name & " VALUE: " & prop.Value)
prop.Value = Not (prop.Value)
MsgBox("PROP NAME: " & prop.Name & " VALUE: " & prop.Value)
' Change it to the original value.
prop.Value = Not (prop.Value)
End Sub
다음 매크로 예제에서는 텍스트 편집기 노드 아래의 기본 페이지의 탭 섹션에 있는 탭 크기 값을 변경하고 재설정합니다.
' Macro code.
Sub ToolOpt2()
Dim props As EnvDTE.Properties = DTE.Properties("TextEditor", _
"Basic")
Dim prop As EnvDTE.Property
Dim tmp As String
prop = props.Item("TabSize")
' Set a new value for Tab Size.
MsgBox("PROP NAME: " & prop.Name & " VALUE: " & prop.Value)
tmp = prop.Value
prop.Value = 10
MsgBox("PROP NAME: " & prop.Name & " VALUE: " & prop.Value)
' Change it back to the original value.
prop.Value = tmp
MsgBox("PROP NAME: " & prop.Name & " VALUE: " & prop.Value)
End Sub
이 매크로 예제에서는 환경 노드 아래의 글꼴 및 색 페이지에서 설정을 변경합니다.
' Macro code.
Sub ToolOpt3()
' Changes the background color of text in the Fonts and Colors
' page of the Options dialog box on the Tools menu.
Dim props As EnvDTE.Properties
Dim prop As EnvDTE.Property
Dim fontColorItems As EnvDTE.FontsAndColorsItems
props = DTE.Properties("FontsAndColors", "TextEditor")
prop = props.Item("FontsAndColorsItems")
fontColorItems = prop.Object
Try
MsgBox("NAME: " & prop.Name & vbCr & "BACKGROUND VALUE: " & _
CStr(fontColorItems.Item("Plain Text").Background.ToString))
' Turn the text background from its current color to red.
fontColorItems.Item("Plain Text").Background = 255
MsgBox("NAME: " & prop.Name & vbCr & "BACKGROUND VALUE: " & _
Hex(fontColorItems.Item("Plain Text").Background.ToString))
Catch ex As System.Exception
MsgBox("ERROR: " & ex.Message)
End Try
End Sub
이 매크로 예제에서는 텍스트 편집기 노드에서 여러 언어에 대한 줄 번호 매김 기능을 설정합니다.
' Macro code.
Sub TurnOnLineNumbers()
DTE.Properties("TextEditor", "Basic").Item("ShowLineNumbers") _
.Value = True
DTE.Properties("TextEditor", "PlainText").Item("ShowLineNumbers") _
.Value = True
DTE.Properties("TextEditor", "CSharp").Item("ShowLineNumbers") _
.Value = True
DTE.Properties("TextEditor", "HTML/XML").Item("ShowLineNumbers") _
.Value = True
DTE.Properties("TextEditor", "C/C++").Item("ShowLineNumbers") _
.Value = True
DTE.Properties("TextEditor", "Visual JSharp") _
.Item("ShowLineNumbers").Value = True
End Sub
기존 옵션 페이지에 설정 추가
Visual Studio 자동화 모델을 사용하여 설정을 기존 옵션 페이지에 추가하거나 기존 설정을 변경할 수 없습니다. 이러한 종류의 항목을 수정하려면 Visual Studio SDK를 사용해야 합니다. 자세한 내용은 Development Tools Ecosystem Partner Portal 웹 사이트를 참조하십시오.