|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Contains all attributes associated with a global context or window's context in the Dynamic Help window.
Assembly: EnvDTE (in EnvDTE.dll)
For DTE.ContextAttributes, this affects the global context bag, which has the lowest precedence for sorting topics.
For Window.ContextAttributes, this affects the context bag for a window. For tool windows, the attributes are in effect only when the window has focus. For editors and designers, the attributes are in effect as long as the editor is the last active MDI child. If the HighPriorityAttributes property is set to true, then the attributes are always in effect and highest in precedence.
After getting a collection, you must call ContextAttributes.Refresh to ensure that the collection of attributes is up to date, because simply fetching the object does not do so. Adding and removing attributes, however, implicitly refreshes the collection so that the results of add or remove operations are current.
Sub ContextAttributesExample() ' Get a reference to Solution Explorer. Dim SolnEx As Window = DTE.Windows.Item _ (Constants.vsWindowKindSolutionExplorer) Dim CA As ContextAttribute ' List the current attributes associated with Solution Explorer. ListAttr(SolnEx, CA) ' Associate a new F1 keyword with Solution Explorer. SolnEx.ContextAttributes.Add("ANewKeyword", 900, _ vsContextAttributeType.vsContextAttributeLookupF1) ListAttr(SolnEx, CA) ' Delete the new F1 keyword from Solution Explorer. SolnEx.ContextAttributes.Item(3).Remove() ListAttr(SolnEx, CA) End Sub Sub ListAttr(ByVal SolnEx As Object, ByVal CA As ContextAttribute) ' Support function for CATest(). Lists the current attributes ' associated with Solution Explorer. Dim msg As String MsgBox("Number of context attributes in Solution Explorer: " & _ SolnEx.ContextAttributes.Count) For Each CA In SolnEx.ContextAttributes msg = msg & CA.Name & Chr(13) Next MsgBox(msg) msg = "" End Sub