Share via


LanguagePreferences Class

Provides support for language service-specific preferences.

This API is not CLS-compliant. The CLS-compliant alternative is [None].

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.Package.LanguagePreferences

Namespace:  Microsoft.VisualStudio.Package
Assemblies:   Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)

Syntax

'Declaration
<CLSCompliantAttribute(False)> _
<GuidAttribute("934a92fd-b63a-49c7-9284-11aec8c1e03f")> _
<ComVisibleAttribute(True)> _
Public Class LanguagePreferences _
    Implements IVsTextManagerEvents2, IDisposable
[CLSCompliantAttribute(false)]
[GuidAttribute("934a92fd-b63a-49c7-9284-11aec8c1e03f")]
[ComVisibleAttribute(true)]
public class LanguagePreferences : IVsTextManagerEvents2, 
    IDisposable
[CLSCompliantAttribute(false)]
[GuidAttribute(L"934a92fd-b63a-49c7-9284-11aec8c1e03f")]
[ComVisibleAttribute(true)]
public ref class LanguagePreferences : IVsTextManagerEvents2, 
    IDisposable
[<CLSCompliantAttribute(false)>]
[<GuidAttribute("934a92fd-b63a-49c7-9284-11aec8c1e03f")>]
[<ComVisibleAttribute(true)>]
type LanguagePreferences =  
    class 
        interface IVsTextManagerEvents2 
        interface IDisposable 
    end
public class LanguagePreferences implements IVsTextManagerEvents2, IDisposable

The LanguagePreferences type exposes the following members.

Constructors

  Name Description
Public method LanguagePreferences() Initializes a new instance of the LanguagePreferences class (default initialization only).
Public method LanguagePreferences(IServiceProvider, Guid, String) Initializes a new instance of the LanguagePreferences class (this is the preferred method).

Top

Properties

  Name Description
Public property AutoListMembers Gets or sets whether members are automatically listed as part of IntelliSense support.
Public property AutoOutlining Gets or sets whether or not auto-outlining is supported outlining (this requires parser support for hidden regions).
Public property CodeSenseDelay Gets or sets the number of milliseconds the user must hold the cursor over an identifier before initiating any IntelliSense operation.
Public property CutCopyBlankLines Gets or sets whether to include spaces on blank lines when cutting and copying.
Public property EnableAsyncCompletion Gets or sets if background parsing is supported.
Public property EnableCodeSense Gets or sets whether or not IntelliSense is supported.
Public property EnableCommenting Gets or sets whether or not blocks of code can be commented and uncommented.
Public property EnableFormatSelection Gets or sets whether or not code can be formatted.
Public property EnableLeftClickForURLs Gets or sets whether or not URLs in the code can be navigated to by a simple click.
Public property EnableMatchBraces Gets or sets whether or not matching braces are supported.
Public property EnableMatchBracesAtCaret Gets or sets whether or not matching braces can be shown while typing a matching brace.
Public property EnableQuickInfo Gets or sets whether or not the IntelliSense Quick Info operation is supported.
Public property EnableShowMatchingBrace Gets or sets whether or not the text included in the span of the matching pair is shown in the status bar.
Public property HideAdvancedMembers Gets or sets whether or not advanced members are hidden in the IntelliSense members list.
Public property HighlightMatchingBraceFlags Gets or sets the flags for highlighting matching braces.
Public property IndentSize Gets or sets the number of spaces to indent when formatting source.
Public property IndentStyle Gets or sets the style used for formatting sections of text.
Public property InsertTabs Gets or sets whether or not to insert tabs instead of spaces when formatting sections of text.
Protected property LanguageName Gets or sets the name the language service is registered under.
Public property LineNumbers Gets or sets whether or not line numbers are to be shown.
Public property MaxErrorMessages Gets or sets the maximum number of error messages that can be shown at any one time.
Public property MaxRegionTime Gets or sets the maximum region time.
Public property ParameterInformation Gets or sets whether or not the IntelliSense method tip operation is supported.
Public property ShowNavigationBar Gets or sets whether or not drop-down bars are to be shown.
Protected property Site Gets or sets the service provider.
Public property TabSize Gets or sets the number of spaces a single tab covers.
Public property VirtualSpace Gets or sets whether or not the editor should assume spaces at the end of all lines.
Public property WordWrap Gets or sets whether or not word wrapping is enabled.
Public property WordWrapGlyphs Gets or sets whether or not a glyph should be shown for a line that is word-wrapped.

Top

Methods

  Name Description
Public method Apply Applies all changes made to the preferences.
Public method Dispose Cleans up any allocated resources before the object is destroyed.
Public method Equals Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetBooleanValue Obtains a boolean value from the specified registry entry.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetIntegerValue Gets an integer value from the specified registry entry.
Public method GetLanguagePreferences Gets the modifiable user language settings from Visual Studio.
Public method GetSite Gets the service provider.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Init Initializes LanguagePreferences.
Public method InitMachinePreferences Gets language service-specific settings from the registry.
Public method InitUserPreferences Gets user-modifiable settings.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method OnRegisterMarkerType Called when a new marker type is registered with Visual Studio.
Public method OnRegisterView Called when a view is registered.
Public method OnReplaceAllInFilesBegin Called when the Replace All in Files operation has begun.
Public method OnReplaceAllInFilesEnd Called when the Replace All In Files operation has ended.
Public method OnUnregisterView Called when a view is closed.
Public method OnUserPreferencesChanged2 Called when a user preference has been changed.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Remarks

The base class manages preferences specific to your language service as well as general preferences the user can affect from the Tools -> Options -> Text Editor category.

The following registry entries are specific to language services and are already reflected in properties in the base class. These registry entries are stored in the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<X.Y>\Languages\Language Services\<Language Name>.

<X.Y> is the version of Visual Studio (for example, 8.0 or 8.0Exp).

<Language Name> is the name of your language.

Registry entry

Type

Value

Description

CodeSense

DWORD

<0 or 1>

1 indicates support for IntelliSense.

MatchBraces

DWORD

<0 or 1>

1 indicates support for matching braces.

QuickInfo

DWORD

<0 or 1>

1 indicates support for the Quick Info IntelliSense operation.

ShowMatchingBraces

DWORD

<0 or 1>

1 indicates that the text included in the span for a matching pair of language elements is shown in the status bar.

MatchBracesAtCaret

DWORD

<0 or 1>

1 indicates that matching braces can be shown while typing a matching brace.

MaxErrorMessages

DWORD

<number>

The maximum number of error messages that can be put into the Error List Options window from the parser.

CodeSenseDelay

DWORD

<number>

The amount of time in milliseconds the user must hold the cursor over an identifier before triggering an IntelliSense operation.

EnableAsyncCompletion

DWORD

<0 or 1>

1 indicates support for asynchronous or background parsing.

EnableCommenting

DWORD

<0 or 1>

1 indicates support for commenting and uncommenting code in a single operation.

EnableFormatSelection

DWORD

<0 or 1>

1 indicates support for formatting the source text.

AutoOutlining

DWORD

<0 or 1>

1 indicates support for automatic outlining (this requires parser support for hidden regions).

MaxRegions

DWORD

<number>

The maximum number of hidden regions that can be handled in a single file.

Notes to Implementers

If you have any language-specific properties in addition to those already supported by the base class, you have to derive a class from LanguagePreferences and return an instance of your class from the GetLanguagePreferences method. Be sure to call the Initialize method before returning your language preferences instance. In addition, you must override InitUserPreferences, OnUserPreferencesChanged2, and Apply methods to support accessing your specified properties.

It is assumed that a single instance of the LanguagePreferences object is maintained for your language service. In this way, any changes the user makes to the properties are dynamically updated in your preferences and from there, throughout the language service.

Notes to Callers

An instance of this class is returned from the LanguageService method GetLanguagePreferences. A number of properties are referenced throughout the managed package framework version of the language service classes.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.Package Namespace