Microsoft.VisualStudio.RpcContracts Used by C# 9 for property init accessors. Exposes details about availability of services proffered to the client. Obtainable from the service. The results are based on the caller. For example if an instance of this service is obtained by a Live Share guest the results from method calls may vary from an instance of this service obtained by a Codespaces client. Gets the list of services that are available from an . A cancellation token. A collection of service monikers. Gets the collection of versions available for the specified service from an . The from the for the service to get information about. A cancellation token. A collection of versions available for the named service. A null element may be in the collection if the server may consider a service request without regard to the requested version. Provides functionality for communicating causes for reduced functionality in features to the user. Obtainable from the service. Presents modeless UI to the user that explains why a feature is disabled or operating with reduced functionality. A non-localized string that identifies the feature that is disabled or operating with reduced functionality. This string should be relatively static as it is used as a key to recognize and prevent redundant UI when the same feature reports failure multiple times. It may also be used in telemetry events to identify the impact of a missing service. A localized display name for the feature that is disabled or operating with reduced functionality. This string is inserted into the placeholder of a larger string in a *singular* grammatical context (e.g. "{Your feature} is broken"). While this value may use Title Case for the feature name, it should not contain punctuation. The moniker for the brokered service that is not available. The GUID for the tool window that hosts the feature's UI, if any. An infobar may be added to this tool window. The ID of the multi-instance tool window specified by that the user was interacting with or otherwise should show the infobar, when applicable. A cancellation token. A task that represents the task of presenting UI to the user. This method presents UI to inform the user as to why functionality of a feature is reduced or disabled. This UI is modeless and does not steal input focus from the user. This method may log details and/or post telemetry events as well. Represents a buildable item, like a csproj or CMakeLists.txt file. Initializes a new instance of the class. The identity of the buildable item. Case-insensitive. This identity can be: One of the ; OR, for files found in an opened folder, this value should be the Microsoft.VisualStudio.Workspace.ProjectConfiguration.Id; OR, for projects from a loaded solution, this value should be the project's GUID. The name for the buildable item that is suitable for display to a user. The kind (i.e. the variety) of the buildable item. The value indicating whether the buildable item is a selected project or file that should be displayed to the user as an item that will be launched (possibly with a debugger attached) when the Launch or Debug command is invoked. A value indicating whether the buildable item supports launch (e.g. debug) operations. The of the active . The availability of the various build actions. The buildable item's launch profiles. Gets the identity of the buildable item. Case-insensitive. This identity can be: One of the ; OR, for files found in an opened folder, this value is the Microsoft.VisualStudio.Workspace.ProjectConfiguration.Id; OR, for projects from a loaded solution, this value is the project's GUID and can be used with APIs that request the project GUID. Gets the name for the buildable item that is suitable for display to a user. This display name will be used to populate the Startup Projects (solution view) and Startup Items (folder view) drop-downs. Gets the kind (i.e. the variety) of the buildable item. Gets a value indicating whether the buildable item is a selected project or file that should be displayed to the user as an item that will be launched (possibly with a debugger attached) when the Launch or Debug command is invoked. Gets a value indicating whether the buildable item supports launch (e.g. debug) operations. Gets the of the active . Gets the availability of the various build actions. Gets the buildable item's launch profiles. Provides information about buildable items. Initializes a new instance of the class. The list of buildable items that have been removed. The buildable items that have changed. Gets the list of buildable items that have been removed. Gets the list of buildable items that have changed. Represents the different varieties of buildable items. A buildable that is a project belonging to a solution. A buildable that is a target found in an opened folder. Available build actions. Normal incremental build. Re-build. Clean build outputs. Availability for a . The is available. The is currently not available. The is not supported. Context information relating to the end of a build operation. Initializes a new instance of the class. The build action that has ended. The result of the build operation. The buildable items that were requested for the build operation. Gets the build action that has ended. Gets the result of the build operation. Gets the buildable items that were requested for the build operation. Provides information as to the outcome of a build operation. Initializes a new instance of the class. Unique identifier of the build operation. The result of the build operation. Statistics about the build operation (e.g. the number of projects). Gets the unique identifier of the build operation. Gets the result of the build operation. Gets statistics about the build operation (e.g. the number of projects). Progress information for a build operation. Initializes a new instance of the class. The build progress in percentage. Gets the build progress in percentage. The result of executing a . The succeeded. The failed. The cancelled before it completes. The not available upon the method call. Context information relating to the start of a build operation. Initializes a new instance of the class. The build action that has started. The buildable items that were requested for the build operation. Gets the build action that has started. Gets the buildable items that were requested for the build operation. Provides support for build related operations. Obtain this using . The interface provides the following: 1. Methods for invoking a on a list of buildables or all. 2. An event for build availability change. A buildable is defined as a project in a solution, or a buildable target in a folder. Raised when a build operation begins. Raised when a build operation ends. Raised when a change occurs in the set of buildable items. Raised when the build progress changes. Request that build events be raised. If this method is not called, instances of will not raise the , , or events. A cancellation token. A task represeting the async operation. Request that events be raised. If this method is not called, instances of will not raise the event. A cancellation token. A task represeting the async operation. Invokes the on a list of buildable items. The to be executed. The of s to be built. The build progress in percentage. The cancellation token. Thrown if the caller passes an unrecognized buildable id. The completion task with a . Builds and launches the requested buildable. Id of the to launch. Id of the to launch. Optional name of a debug option (e.g. StepInto). The build progress in percentage. Cancellation token. Cancellation will not stop a debug session that is launched. The completion task with a . Invokes the on a list of buildable items. The to be executed. A unique identifier for the operation. The of s to be built. The build progress in percentage. The cancellation token. Thrown if the caller passes an unrecognized buildable id. The completion task with a . Available only in version . Builds and launches the requested buildable. A unique identifier for the operation. Id of the to launch. Id of the to launch. Optional name of a debug option (e.g. StepInto). The build progress in percentage. Cancellation token. Cancellation will not stop a debug session that is launched. The completion task with a . Available only in version . Context information used for launch operations (e.g. debug). Initializes a new instance of the class. The identity of the launch profile. The name for the launch profile that is suitable for display to a user. Gets the identity of the launch profile. Gets the name for the launch profile that is suitable for display to a user. Values for well-known . A for the that represents building an entire solution. A for the that represents building all files in the open folder. A key to identify cache containers, the key data is used to link the container to a commit, component or configuration. An empty dictionary that uses the required comparer. Initializes a new instance of the struct. The name of the feature that owns the container. This should be a namespaced feature name that is unlikely to collide with other components that may be sharing this cache. Optional dictionary of arbitrary key=value pairs that serve as part of the "key" to the container. If this dictionary is an instance of whose is set to , the collection instance will be used directly by the property; otherwise the collection will be copied. Gets the feature that owns the container. This should be a namespaced feature name that is unlikely to collide with other components that may be sharing this cache. Gets a dictionary of arbitrary key=value pairs that serve as part of the "key" to the container. A dictionary whose keys are always sorted by the . A value is considered equivalent to an empty dictionary for purposes of looking up a cached value. Please see remarks on for best practices for the data contained here to enable cache sharing across machines. Examples dimensions: Configuration=Debug, Path="src/a/b/c.cs". Operator override for ==. Left operand. Right operand. True if instances are equal to each other. Operator override for !=. Left operand. Right operand. True if instances are not equal to each other. An exception thrown by some members of the when the operation cannot be completed. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. A key to identify a cache entry. Initializes a new instance of the struct. The key for the container to access. The name of the cache item. Initializes a new instance of the struct. The value to copy from. Gets the key for the container to access. Gets the name of the cache item. Gets an optional value for the cache item that labels the version of the cached value such that a stale or replaced value becomes inaccessible. If supplied when storing a cache entry, this value is stored alongside the value. If supplied when retrieving a cache entry, this value must match the stored checksum or the cached value will not be retrieved. Operator override for ==. Left operand. Right operand. True if instances are equal to each other. Operator override for !=. Left operand. Right operand. True if instances are not equal to each other. Initializes a new instance of the struct with the specified value for . The new version value. The new key. Extension methods for the . The cache service. The stream carrying the cache value content, if the cached entry was found; otherwise . The cache service. The stream carrying the cache value content, if the cached entry was found; otherwise . The cache service. Provides access to a cache for arbitrary data associated with a file, project, solution or repo. Note that for sharing across machines, all keys and values with paths should be normalized, use forward slashes for path separators, and be relative to the path specified by . The context that all cache access is associated with (e.g. solution, git repo/commit, etc.) is obtained when this service is activated and does not change automatically. Clients should dispose of the service and reactivate it after significant changes to context such as solution or folder open/close, or when a git repo's HEAD moves. Gets an absolute path that should be used as the basis for all relative paths stored in the cache for purposes of sharing across machines. Cancellation token to monitor. An absolute path. Thrown if is cancelled. Thrown if this instance has already been disposed. Thrown when there is no open context such as an open folder or solution to serve as a basis for computing a base path. When the service is acquired with the descriptor or later, this method will not detect values that were downloaded from another machine. Use the overload to allow or explicitly disallow sharing. Checks whether a value exists in the cache. The key of the value to access. A value indicating whether the value is allowed or expected to have come from another machine. Cancellation token to monitor. if a value for these inputs exist; otherwise. Thrown if is cancelled. Thrown if this instance has already been disposed. Thrown when the operation cannot be completed due to a failure in cache storage access. This method overload was added in Visual Studio 2022 Update 2. When the service is acquired with the descriptor or later, this method will not return values that were downloaded from another machine. Use the overload to allow or explicitly disallow sharing. Tries to retrieve an item from cache that is assigned to a particular key. The key of the value to access. Writer to use to stream content. A value indicating whether the value is allowed or expected to have come from another machine. Cancellation token to monitor. if entry is found and data is streamed to writer, otherwise. Thrown if is cancelled. Thrown if this instance has already been disposed. Thrown when the operation cannot be completed due to a failure in cache storage access. This method overload was added in Visual Studio 2022 Update 2. Tries to add an item to cache and return a unique key. Stream will be read till end to determine content and size. The key of the value to access. Reader to utilize for reading contents of the entry. A value indicating whether the value, item name, and container key are all portable for sharing with other machines. Cancellation token to monitor. A that completes when the cache entry has been written. Thrown if is cancelled. Thrown if this instance has already been disposed. Thrown when the operation cannot be completed due to a failure in cache storage access. Thrown when caller has no write permissions. Downloads all the container contents, if they are available in a remote cache. Cache container key that describes the container. An optional means to receive progress updates on the download operation. Cancellation token to monitor. A representing the asynchronous operation. Thrown if is cancelled. Thrown if this instance has already been disposed. Thrown when the operation cannot be completed due to a failure in cache storage access. Thrown when caller has no write permissions. Provides an API to send notifications from the server to the client, so they can be surfaced to the user. Obtainable from the service. Surfaces a server error to the user. The text of the error message. A cancellation token. A representing the result of the asynchronous operation. The metadata required to create a command that is anchored to a DynamicCommandAnchor. Initializes a new instance of the class. The id of the command being defined. Must be unique within a given CommandSet. The display name of the command. The tooltip text of the command. The flags associated with the command. The name of the command with the DynamicCommandAnchor CommandFlag that should be used as an anchor for this command's placement. The name of the icon to be displayed on the command. Used to determine the specific placement of the command within the given DynamicCommandAnchor. Initializes a new instance of the class. The full set of properties to be used to initialize all required members of this type. Gets the name of the DynamicCommandAnchor that should be used as an anchor for this command's placement. Boolean flags for commands. Indicates that no command flags are set. Indicates that the command can be selected. Indicates that the command can be toggled. The metadata required to create a command. Initializes a new instance of the class. The id of the command being defined. Must be unique within a given CommandSet. The display name of the command. The tooltip text of the command. The flags associated with the command. The name of the icon to be displayed on the command. Used to determine the specific placement of the command within the given DynamicCommandAnchor. Initializes a new instance of the class. The id of the command being defined. Must be unique within a given CommandSet. The display name of the command. Initializes a new instance of the class. The full set of properties to be used to initialize all required members of this type. Gets the unique identifier of the command. It is best practice to fully qualify this id with the extension namespace as well as with the command set it belongs to. i.e. MyCompany.CommandSetName.CommandName. Gets the display name of the command. Gets or sets the tooltip text of the command. Gets or sets the flags associated with the command. Gets or sets the name of the icon for the command. Gets or sets the relative sort order of the command. Indicates the command supports a pattern. The command does not implement any patterns. The command is executable. The command has a toggle state. The command is dynamically created based on a definition. It can change it's display name. The command property that is being updated. Default. A command's supported patterns. Value is an integer representation of . A command's supported state. Value is 'T' for true, 'F' for false, or null. A command's enabled state. Value is 'T' for true, 'F' for false, or null. A command's checked state. Value is 'T' for true, 'F' for false, or null. A command's display name. A command's tooltip text. A command's flags. Indicates to the client the dynamic command to be added that is anchored to a DynamicCommandAnchor. Indicates to the client the dynamic command to be removed. Provides a way to expose a set of commands. Indicates that the commands in this set are currently in scope and should monitor state and report updates to the client over an . The initial state of all of the properties of all of the commands in the command set. Cancellation token. Task to track the asynchronous call status. Indicates that the commands in this set are currently out of scope. Cancellation token. Task to track the asynchronous call status. Called to execute a command. The name of this command in this command set. Captured command context properties. Cancellation token. Task to track the asynchronous call status. Used to send command update events over an RPC connection from the to the client and from the client to the . Sends a batch of property updates to the client. A batch of update notifications. Cancellation token. Task to track the asynchronous call status. Used to send updated command property values. This struct is immutable. Initializes a new instance of the struct. The property updated. The command name. The serialized property value. Gets the property updated. Gets the command name. Gets the serialized property value. Equality comparison operator. Left operand. Right operand. if the left and right operand are equivalent. Inequality comparison operator. Left operand. Right operand. if the left and right operand are different. Creates a new property update for a string value. The property updated. The command name. The property value. A new . Creates a new property update for a bool value. The property updated. The command name. The property value. A new . Creates a new property update for an int value. The property updated. The command name. The property value. A new . Creates a new property update for a long value. The property updated. The command name. The property value. A new . Creates a new property update for a CommandMetadata value. The property updated. The command name. The property value. A new . Convert the value to a string. The value as a string. Convert the value to a bool. The value as a bool. Convert the value to a int. The value as a int. Convert the value to a long. The value as a long. Convert the value to a . The value as a . Contains an immutable batch of updates for the commands in a command set. Initializes a new instance of the class. The set of property value updates. Gets the set of property value updates. Represents a brokered service for a connected workspace (for example Cloud Environment workspace). Gets a collection of files that exist in the given path. The relative path to the directory to search for files in. The search string to match against the names of files in path. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions. A cancellation token. A read only collection of the full names (including paths) for the files in the directory specified by relativePath. Gets a collection of folders that exist in the given path. The relative path to the directory to search for folders in. A cancellation token. A read only collection of the full names (including paths) for the folders in the directory specified by relativePath. Opens a folder pointed to by the given path. This is equivalent to "loading" the folder for use. The relative path to the folder to open. A cancellation token. A task that represent the completion of opening the folder. Represents information about a context rule to be monitored. A context rule consists of a set of terms and an expression that describes how the terms are combined. As an example, consider the following context rule: Expression: "(IsCSharp & ConfigFileAdded) | IsVB" Terms: { "IsCSharp": "SolutionHasProjectCapability:CSharp", "ConfigFileAdded": "ProjectAddedItem:.config$", "IsVB": "SolutionHasProjectCapability:VB" } Initializes a new instance of the class. A unique identifier for this rule. A string specifying how the terms should be combined. The set of terms, keyed by their representation in the expression. Gets the rule's identifier. Gets the rule's expression. Gets the set of terms to be evaluated. Event arguments for event that raises when a rule's state changes. Initializes a new instance of the class. The ID of the rule whose state has changed. The new state of the rule. Gets the rule's identifier. Gets a value indicating whether the rule is active. Represents a service to manage and monitor state of IDE context rules. Occurs when the state of a context rule changes, such as when the Rule becomes active. Creates a new Context rule that is monitored and requests that a event be raised when the rule changes state, such as becoming active. The data object representing the context rule to monitor. A cancellation token to cancel the in-progress invocation. A representing the asynchronous operation. Interface representing a Visualstudio.Extensibility provider of .NET debugger visualizers. Requests the to initiate the visualization of a new target object. The marshalable interface that can be used to request the data of the target object or replace it. Metadata about the target process and object. Cancellation token for the async call. An marshalable interface that will show the representation of the object to be visualized and an marshalable interface that can be used by Visual Studio to report changes about the state of the visualizer target. After this call is completed, the debugger should complete the following tasks in oder: Complete the initialization of the , Call and await reporting the current availability state of the visualizer target to the debugger visualizer, Add the remote user control to the UI. When the debugger visualizer is dismissed by the user, the debugger shoud complete the following tasks in oder: Dispose the visualizer target client, Dispose the remote user control. Marshalable interface which allows a debugger visualizer extension to communicate with the debugger and retrieve the value of the target object or replace it. represents the corresponding client interface that is implemented by the extension. represents the corresponding data passed by Visual Studio to the extension describing the target process and object. The party receiving an instance from a StreamJsonRpc call is responsible for its disposal. If the debugger visualizer disposes the , the debugger should immediately dispose the corresponding and then dispose the . Sends a message to the visualizer object source in the target process and returns the corresponding response. The optional content of the message. The format of is defined by the chosen visualizer object source. Cancellation token for the async call. The optional response to the message. The format of is defined by the chosen visualizer object source. When the visualizer target is unavailable or becomes unavailable before the call can be completed. Sends a message to the visualizer object source in the target process requeseting to replace the target object. The content of the message. The format of is defined by the chosen visualizer object source. Cancellation token for the async call. A task tracking the completion of the async call. When the visualizer target is unavailable or becomes unavailable before the call can be completed. Marshalable client interface for the visualizer target in the VisualStudio.Extensibility extension. represents the corresponding interface that is implemented by the debugger. represents the corresponding data passed by Visual Studio to the extension describing the target process and object. The party receiving an instance from a StreamJsonRpc call is responsible for its disposal. Notifies the debugger visualizer about a change of state of the visualizer target. The type of the notification. Cancellation token for the async call. A tracking the completion of the async call. The debugger should consider the completion of the returned as an indication that the debugger visualizer has completed the update of the data context of the corresponding . Possible notifications include: Changes of availability: The visualizer target is only available when the debug session is active and the debug target is paused. When the visualizer target is not available, calls to will fail with a . When the visualizer target becomes available again, the value of the target object should be considered outdated and should be retrieved again. Notifications that the value of the target object may have changed and should be retrieved again. Metadata describing the target process and the target object of a debug visualizer. This data is associated with an instance of . Initializes a new instance of the class. The of the target type of the debugger visualizer. The name of the assembly that defines the . The version of the assembly that defines the . Gets the of the target type of the debugger visualizer. This is always one of the types for which the debugger visualizer declares support: it may not be the actual type of the object to be visualized but one of its base types or implemented interfaces. Gets the name of the assembly that defines the . Gets the version of the assembly that defines the . Gets or sets a value indicating whether the target value can be replaced by the visualizer. Types of notifications regarding the state of a visualizer target. The visualizer target is now available for message exchanges. This implies that the value of the target object may have changed and should be refreshed. The visualizer target provider is now unavailable for message exchanges. The latest retrieved value of the target object should be considered outdated but cannot be refreshed until the visualizer target becomes available again. The value of the target object may have changed and should be refreshed. An exception thrown by the and methods when the visualizer target is unavailable. When this exception is thrown, the attempt to retrieve the value of the target object should be aborted since the visualizer target is now unavailable. When the visualizer target becomes available again, the value of the target object may have changed, so a new value retrieval should be started. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Class containing all the information needed to describe a diagnostic. Initializes a new instance of the class. A description of the diagnostic. The code associated with the diagnostic. The severity of the diagnostic. The location of the diagnostic. associated with the diagnostic. Additional information related to the diagnostic. An expanded description of the diagnostic. A localized string describing the source of the diagnostic ("lint", "msbuild", etc.). A URL to navigate to if the user asks for help on the diagnostic. An indication of the whether the diagnostic could be side effect of another diagnostic. Used for the default sort. A localized string describing the class of the diagnostic ("Performance", "Security", "Style", etc.). The projects in which this diagnostic was reported. The identifier used to indicate whether two distinct diagnostics (possibly from different sources) can be merged. The tool tip displayed when the user hovers over the error in the error list. The identifier used to link the diagnostic to a line of text in the output window. Initializes a new instance of the class. A description of the diagnostic. The code associated with the diagnostic. The severity of the diagnostic. The location of the diagnostic. The name of the EditorFormatMapDefinition used to represent the diagnostic. associated with the diagnostic. Additional information related to the diagnostic. An expanded description of the diagnostic. A localized string describing the source of the diagnostic ("lint", "msbuild", etc.). A URL to navigate to if the user asks for help on the diagnostic. An indication of the whether the diagnostic could be side effect of another diagnostic. Used for the default sort. A localized string describing the class of the diagnostic ("Performance", "Security", "Style", etc.). The projects in which this diagnostic was reported. The identifier used to indicate whether two distinct diagnostics (possibly from different sources) can be merged. The tool tip displayed when the user hovers over the error in the error list. The identifier used to link the diagnostic to a line of text in the output window. Gets the localized description of the diagnostic. Gets the diagnostic code for the diagnostic. Gets the severity of the diagnostic. Gets the location of the diagnostic in the document. Gets the associated with the diagnostic. Gets the associated with the diagnostic. Gets the expanded description of the diagnostic. Gets a localized string describing the tool that generated the diagnostic (e.g. "FxCop", "msbuild", etc.). Gets the help like that describes the diagnostic. Gets an integer indicating the rank of the diagnostic. Diagnostics are sorted based on their diagnostic rank. Recommended values are Highest = 100, High = 200, Default = 300, Low = 400, Lowest = 500. No value will be treated as Default (300). Gets a localized string describing the type of the diagnostic (e.g. "Security", "Performance", "Threading", etc.). Gets the projects in which this diagnostic was reported. Gets the identifier used to indicate whether two distinct diagnsotics (possibly from different sources) can be merged. Two distinct diagnostics at the same location in may be merged if they both have the same identifier. Gets the tool tip displayed when the user hovers over the error in the error list. If null, the will be used as the tool tip. If no tool tip should be displayed, use the to prevent the tool tip from being generated. Gets the identifier used to link the diagnostic to a line of text in the output window. Every diagnostic can be associated with a line of text in the build output window by settings its giving it a (guid, id) pair that corresponds the the (guid, id) pair used to write to the output pane (using IVsOutputWindowPane3.OutputStringWithId). The guid for a diagnostic is specified by the property of the collection that contains it. Gets the name of EditorFromatDefiniton to override the default representation of diagnostics in the editor offered by the Diagnostics Service. Diagnostics are usually represented by squiggles in the VS editor. Each will have a default representation associated to it. However, there are times when clients want to express different types of diagnostics having the same severity in different representations. For example a client would want to denote compile time errors via red squiggles, where as errors from build / configuration via purple squiggles although both have the same severity as . The field is optional. If not provided, default represntations would be used for the corresponding . The string, if provided, should exactly match the corresponding name of the existing inproc EditorFormatDefiniton used as representation of the diagnositcs. Class containing one collection of diagnostics for a document (but not, necessarily, all diagnostics for that document). Initializes a new instance of the class. URI of the document containing the diagnostics. The URI is always a remote URI i.e. a URI that can be understood by both parties (server and client / host and guest) in shared scenarios. Version number of the document. List of diagnostics found in . An identfier for this collection. The identifier of the that is superceded by this collection. The output window key used to associate diagnostics in the collection with a line of text in the output window. s, when being reported via , should use that correspond to the that corresponds to the location of the document on the server. sent via the will always use s that correspond to the remote moniker for the document. Note that remote monikers can change when a LiveShare session starts or ends, so it is best to never persist a documents remote moniker: instead convert to a local file path and convert on demand. Gets the URI of the document containing the diagnostics. The URI is always a remote URI i.e. a URI that can be understood by both parties (server and client / host and guest) in shared scenarios. Gets the version number of the document. Gets the list of diagnostics for . Gets the identifier for this collection. This is superceeded if there is another for the same document whose property matches the of this collection. Gets the diagnostic version for this collection. This will superceed another if the of the other collection is the same as the of this collection. Gets the output window key used to associate diagnostics in the collection with a line of text in the output window. The identifier for a specific diagnostic is specified by the property of the collection that contains it. Event args for the event that indicates one or more diagnostic managers have been removed. Initializes a new instance of the class. Server state after updating the diagnostics (this is a counter that is incremented every time there is a change on the server you can use to determine the relative ordering between this event and the diagnostics reported via . IDs of the removed managers. Gets the server state after updating the diagnostics (this is a counter that is incremented every time there is a change on the server you can use to determine the relative ordering between this event and the diagnostics reported via . Gets the IDs of the diagnostic managers (and all of their diagnostics) that are being removed. Represents a related message and source code location for a diagnostic. This should be used to point to code locations that cause or are related to a diagnostics, e.g when duplicating a symbol in a scope. This class is intended to be very similar to the LSP DiagnosticRelatedInformation. Initializes a new instance of the class. The name of the document containing the diagnostics. The version number of the document. The location in of the related information. The message of this related diagnostic information. Gets the name of the document containing the diagnostics. Gets the version number of the document. Gets the location in of the related information. Gets the message of this related diagnostic information. A class that contain all the information associated with a group of diagnostics. Initializes a new instance of the class. ID of the manager that created the diagnostics. ID of the generator within the manager that created the diagnostics. Server state after updating the diagnostics (this is a counter that is incremented every time there is a change. All the diagnostics associated with the , pair. is a unique ID provided for each component reporting diagnostics. Each diagnostic collection will have a unique identifier consisting of (, ). defines a unique set of diagnostics produced by a manager. Each manager is responsible for creating is generator IDs. Gets the ID of the manager that created the diagnostics. Gets the ID of the generator within the manager that created the diagnostics. Gets the server state after updating the diagnostics (this is a counter that is incremented every time there is a change on the server). Gets all the diagnostics associated with the , pair. An enumeration of the severity of a diagnostics. The enumeration values match those in LSP DiagnosticSeverity. An error. A warning. An informational item. A hint or suggestion. Metadata about the diagnostic. The enumeration values match those in LSP DiagnosticTag. No tags associated with the diagnostic. Unused or unnecessary code. Clients are allowed to render diagnostics with this tag faded out instead of having an error squiggle. Deprecated or obsolete code. Clients are allowed to rendered diagnostics with this tag strike through. Diagnostic coming from the build (see VSDiagnosticTags.BuildError). Diagnostics with this tag will be considered duplicates and hidden from the end-user when the that contains it is superceeded. A is superceeded if there is another for the same document whose matches its . Do not show this diagnostic in the error list. By default, diagnostics with a not equal to are shown in the error list. Show this diagnostic in the error list. By default, diagnostics with a not equal to are shown in the error list. Do not drawn an error indicator in the editor. All errors, by default, are highlighted in the editor with some type of indicator (either a squiggle or an ellipsis). Do not show a tool tip for the error in the editor. All errors, by default, will show a tool tip. Shows this item as a task item in the VS TODO list. Using this tag will force the service to ignore all other tags. Instance of the event args for the event. Gets a value indicating whether the diagnostics in should be appended to or replace the existing diagnostics. Gets the new diagnostics. Gets a value indicating whether the documents in should be removed. Service for reporting diagnostics. Replace the previously reported diagnostics for with . A unique ID associated with generator of a set of diagnostics. New diagnostics. A cancellation token to cancel the in-progress invocation. A representing the asynchronous operation. Each instance of an is responsible for creating is own generator IDs and there is no need for the generator IDs distinct from the generator IDs used by a different . Append the diagnostics in to the previously reported diagnostics for . A unique ID associated with generator of a set of diagnostics. New diagnostics. A cancellation token to cancel the in-progress invocation. A representing the asynchronous operation. Each instance of an is responsible for creating is own generator IDs and there is no need for the generator IDs distinct from the generator IDs used by a different . Clear all diagnostics associated with the specified . Generator ID of the diagnostics that are to be cleared. A cancellation token to cancel the in-progress invocation. A representing the asynchronous operation. The ID of the diagnostics that should be removed. Remove all diagnostics created by the . A cancellation token to cancel the in-progress invocation. A representing the asynchronous operation. Indicates the will always be a . Codes that are only produced from a build. A cancellation token to cancel the in-progress invocation. A representing the asynchronous operation. Added in . Service clients uses to connect to the diagnostic service. Occurs when new diagnostics are reported to the . Occurs when a manager is disconnected. Occurs when build only diagnostic codes are added. Added in . Request all diagnostics known to the diagnostic service. An receiver for diagnostics reports. A cancellation token to cancel the in-progress invocation. A representing the asynchronous operation. Event args for the event that indicates build only diagnostic codes are added. Gets the ID of the manager that is defining the build only codes. Gets the s that only come from build errors. Representation of an Uri that can be used to specify a diagnostic collection is not associated with any document. Introduced in . Gets string representation of an the no documented associated Uri. Can be used to create an instance of class which is equivalent to the instance of this type. Note: The actual string representation can change and is an implementation detail. Instance of an Uri that is used to represent a diagnostic collection that is not associated to any document. Arguments that are sent with events in the interface. Initializes a new instance of the class. The document's moniker. Gets the moniker of the document. Represents a snapshot of an open document. Query part name in document moniker that represents the version of the snapshot. Initializes a new instance of the class. The document moniker. It must be an absolute using the "file" scheme. Initializes a new instance of the class. The document moniker. It must be an absolute using the "file" scheme. Indicates whether the document has unsaved changes. Indicates whether the document is in a read-only state. Initializes a new instance of the class. The document moniker. It must be an absolute using the "file" scheme. Indicates whether the document has unsaved changes. Indicates whether the document is in a read-only state. Indicates whether the document finished initialization. Gets the moniker for the document. Gets a value indicating whether the document has unsaved changes. Gets a value indicating whether the document is in a read-only state. Gets a value indicating whether the document is initialized. Events that are raised for documents. Called after a document is opened. The event arguments. The cancellation token. A representing the asynchronous operation. Called after a document is closed. The event arguments. The cancellation token. A representing the asynchronous operation. Called before a document is saved. The event arguments. The cancellation token. A representing the asynchronous operation. Called after a document is saved. The event arguments. The cancellation token. A representing the asynchronous operation. Called after a document is renamed. The event arguments. The cancellation token. A representing the asynchronous operation. Called after a document is shown. The event arguments. The cancellation token. A representing the asynchronous operation. Called after a document is hidden. The event arguments. The cancellation token. A representing the asynchronous operation. Provides functionality to work with documents. Returns a collection of the documents that are currently open. The cancellation token. A collection of open documents. Returns the open document corresponding to . The moniker of the document to search for. The cancellation token. The matching document, or if a matching document isn't found. Opens the document identified by . The moniker of the document to open. The cancellation token. The document. If the document identified by is already open, its interface is returned. Opens the document identified by . The moniker of the document to open. Options defining how to open the document. The cancellation token. The document. If the document identified by is already open, its interface is returned. Saves all open documents that have unsaved changes. The cancellation token. A representing the asynchronous operation. Saves the document identified by . The moniker of the document to save. The cancellation token. A representing the asynchronous operation. Introduced in version . Closes the document identified by . The moniker of the document to close. An option controlling if and how the document will be saved, if it has unsaved changes. The cancellation token. A representing the asynchronous operation. Introduced in version . Adds a listener for document events. The event listener. An optional regular expression string used to filter events. If this string is not and not empty, then events will only be raised for documents whose monikers match the regular expression. The cancellation token. A representing the asynchronous operation. The result of the task is an object which, when disposed, will remove the event listener. Before the asynchronous operation completes, the listener will receive an event for each open document whose moniker matches . Introduced in version . Ensures that a document snapshot is initialized and returns the latest snapshot. A document snapshot may be uninitialized if it is being lazy loaded such as documents in tabs that have not been made visible yet. Document snapshot to initialize. Cancellation token to monitor. a that represents the initialized document or null if document snapshot is no longer valid. Arguments sent with the event. Initializes a new instance of the class. The document's moniker. The document's p;d moniker. Gets the document's old moniker. Options to control how documents are saved when they are closed. The document is not saved. Any unsaved changes are discarded. If the document has unsaved changes, they are saved without prompting before the document is closed. If the document has unsaved changes, the user is prompted to save them before the document is closed. Represents a service to get and set environment variables. Attaches an observer for updates to environment variables. The observer will always receive an initial message with the current environment variables. An observer of environment variable changes. The observer is called back with the currently defined environment variables, where the key is the name of the variable. A cancellation token to cancel the in-progress invocation. A value that may be disposed of to unregister from future notifications. Updates the environment variables and notifies subscribers of any changes. Environment variables to update, where the key is the variable name and the value can be null if the variable is unset. A cancellation token to cancel the in-progress invocation. A task representing the async operation. Checks the currently defined environment variables and notifies subscribers if there are changes. Usually this method will not do anything, but if environment variables were manually changed outside the scope of this service, this method will notify subscribers of those changes. Equivalent to calling with an empty update dictionary. A cancellation token to cancel the in-progress invocation. A task representing the async operation. Defines error codes to use for . Servers should throw with the appropriate error code when an existing .NET exception does not exist for the condition being reported. See https://github.com/microsoft/vs-streamjsonrpc/blob/master/doc/exceptions.md. None of the error codes defined herein should be in the range [-32768, -32000], since those values are reserved by the JSON-RPC protocol. See https://www.jsonrpc.org/specification#error_object. The error code indicating that a file already exists. Creates a with a specified error code. The error code. The message for the exception. The error data for the exception. The deserialized error data for the exception. the . Represents unique identification information related to extensions. Initializes a new instance of the class. The unique identifier of the extension. The full install path of the extension. Gets the unique identifier of the extension. Gets the full install path of the extension. The identifier and install paths are case insensitive. Metadata related to the set of extensions that have been added and removed since the last update notification. Initializes a new instance of the class. Extension metadata added since last event, can be null if no extensions were added. Extension metadata removed since last event, can be null if no extensions were removed. Gets the metadata for extensions added since the last notification. Gets the metadata entry keys that were removed since the last notification. Contains various metadata properties related to an extension. Initializes a new instance of the class. The serialized metadata. The unique identifier of the extension. Gets unique identification information related to the extension. Gets the serialized metadata associated with a specific section in a given extension. The identifier and install paths are case insensitive. Represents a service to query metadata from extensions. Attaches an observer for updates to sections with the specified names. If this is the first subscription, it will notify the observer with the current set of metadata. The names of the sections that the observer is interested in being notified of. An observer of extension metadata changes. A cancellation token to cancel the in-progress invocation. A value that may be disposed of to unregister the from future notifications. Gets the metadata that was added during a changed notification for a specific section. Initializes a new instance of the class. The name of the section. A dictionary of the added metadata. Gets the name of the section. Gets the metadata that was added during a changed notification where the metadata related to the extension and the value is the added metadata. The arguments that are sent with the event. Initializes a new instance of the class. Identifies the call to or that resulted in the event being raised. Information about directory entry that changed. The type of change event that occurred. Initializes a new instance of the class. Identifies the call to or that resulted in the event being raised. The of the changed file or directory. Information about directory entry that changed. This may be null if it is too expensive for the provider to supply this information on every change event. The type of change event that occurred. Gets the identifier for the call to that resulted in this event being raised. Gets the Uri of the changed file or directory. Gets information about the directory entry that changed. This may be null if it is too expensive for the provider to supply this information on every change event. Gets the type of change event that occurred. Identifies the type of change that happened to a file or directory. No change occurred. The contents or metadata of a file have changed. This change type is not used for directories. A file or directory has been created. A file or directory has been deleted. Contains the properties of a directory entry (a file or a directory). This is the base class for both and . Initializes a new instance of the class. The URI of the directory entry. The attributes of directory entry. The creation time of the directory entry. The last write time of the directory entry. Gets the URI for the directory entry. Gets the attributes of the directory entry. Gets the creation time for the directory entry (UTC). Gets the time when the directory entry was last written to (UTC). Contains the properties of a directory. Initializes a new instance of the class. The URI of the file. The attributes of file. The creation time of the file. The last write time of the file. Contains the properties of a file. Initializes a new instance of the class. The URI of the file. The attributes of file. The size of the file, in bytes. The creation time of the file. The last write time of the file. Initializes a new instance of the class. The URI of the file. The attributes of file. The creation time of the file. The last write time of the file. The size of the file, in bytes. This overload provides no additional functionality, but is required to make this type serializable via MessagePack, which requires the order of constructor parameters to match the Order properties of s. Gets the size of the file, in bytes. Provides information about file system access change. Gets empty event argument. Access level of a file or directory. Access level is unknown. This may happen if the is used in context where access can be restricted but the service cannot get more details, e.g. when it is used locally on Live Share guest or Codespaces client. Another case is when file or directory URI scheme is not known. File or directory can be accessed without restrictions because it is local, or it is shared in a Live Share or Codespaces session, and can be accessed by the session participant. This doesn't take into account ACLs or other ways to restrict access in local file system. File or directory is hidden from callers via file attribute, or collaboration session is active and the file or directory is hidden via session configuration. The calling session participant can still access the file. Collaboration session is active, and the file or directory is explicitly excluded from the caller via session configuration. The caller session participant cannot access the file. Collaboration session is active, and the file or directory is not shared with the caller in the session because it is outside of any shared directory. The caller session participant cannot access the file. Allows access to local or remote file systems. Obtain this service using . The file systems that are available via this service are defined by the file system providers that are registered with it (). The file system service refers to files by absolute . Relative s are not supported. s are divided into two types: Local Local s refer to files on the machine where code is currently executing, using the "file" scheme. Remote Remote s refer to files by a globally-unique moniker, using a scheme defined by a remote file system provider. The remote for a given file is the same on a client machine or a server machine, and on a guest's machine or an owner's machine in a Live Share scenario. In a classic, standalone scenario the local and the remote are identical. A local can be converted to a remote with . A remote can be converted to a local with . Gets a list of the schemes supported by the file system service. The cancellation token. A collection of schemes supported by the service (e.g. "file", "ftp", etc.). Gets the root entries of a provider's namespace. For instance, the root entries for a provider for the local machine's file system might represent the physical drives on the local machine. The scheme for the provider. The cancellation token. A collection of s for the root entries of the provider's namespace. Given the scheme for a file system provider, this method retrieves the provider's . The service moniker can be used to create a for the provider using . The scheme for the provider. The cancellation token. The provider's service moniker. Fetching a proxy for the provider's interface will return null if the provider does not support . Introduced in version . is null. There is no file system provider for . Given the scheme for a file system provider, this method retrieves the provider's . The service moniker can be used to create a for the provider using . The scheme for the provider. The cancellation token. The provider's service moniker. Fetching a proxy for the provider's interface will return null if the provider does not support . Introduced in version . is null. There is no file system provider for . Converts a local to a remote using the provider for the scheme returned by . The local . The cancellation token. The remote . can be a returned from one of the following methods: If the provider does not support , is returned. Introduced in version . Converts a local to a remote using the provider for . The local . The desired scheme of the returned remote . The cancellation token. The remote . If the provider does not support , is returned. Introduced in version . Converts a local filename to a remote using the provider for the scheme returned by . The fully qualified name for the local file. The cancellation token. The remote . If the provider does not support , a created from is returned. Introduced in version . Converts a local filename to a remote using the provider for . The fully qualified name for the local file. The desired scheme of the returned remote . The cancellation token. The remote . If the provider does not support , a created from is returned. Introduced in version . Converts a remote filename to a remote using the provider for the scheme returned by . The fully qualified name for the remote file. The cancellation token. The remote . Introduced in version . Converts a remote filename to a remote using the provider for . The fully qualified name for the remote file. The desired scheme of the returned remote . The cancellation token. The remote . Introduced in version . Converts a remote using the provider's scheme to a local . The remote . The cancellation token. The local . If the provider does not support , is returned. Introduced in version . Converts a remote to a remote filename. The remote . The cancellation token. The remote filename. Introduced in version . Downloads a remote file if it has not already been downloaded. The URI of the file to download. The interface through which progress is reported. The cancellation token. The URI of the local file. If the file system provider for does not support or the remote provider isn't connected to its remote source, no file is downloaded and is returned. Introduced in version . Gets display information for a . The whose display information is returned. The cancellation token. The display information for a . Introduced in version . Gets display information for a local file. The fully qualified file name. The cancellation token. The display information for . Introduced in version . Gets the default remote scheme. The cancellation token. The default remote scheme. Introduced in version . Local service for checking file and folder access on Codespaces server or Live Share host. When this service is obtained with credentials associated with a Live Share guest, it will use session file access configuration. https://github.com/MicrosoftDocs/live-share/blob/master/docs/reference/security.md#controlling-file-access-and-visibility. When this service is obtained with credentials associated with the Codespaces client, it'll check if a file or directory is accessible to the client. Obtain this service using . Use in a brokered service running on the server to test a local path before granting access to it to some possibly remote client. Occurs when access may have changed due to session configuration change. Get access level of local files and directories. Array of local absolute paths to get the access level for. Cancellation token. A collection of access levels for the given list of local paths. If is null. If is empty or contains null or invalid paths. Get access level of files and directories. Array of file or directory URIs to get the access level for. Cancellation token. A collection of access levels for the given list of file or directory URIs. If is null. If is empty or contains null URIs. Allows access to a particular file system, identified by . Occurs when a file passed to or directory passed to changes. Occurs when the root elements of the provider's namespace change. Gets the root entries of the provider's namespace. For instance, the root entries for a provider for the local machine's file system might represent the physical drives on the local machine. The cancellation token. A collection of s for the root entries of the provider's namespace. Reads the contents of a file into a pipe. The file to read. The writer for the pipe to which the file's contents are written. The cancellation token. A task representing the asynchronous read operation. The complete contents of the file are not necessarily available in 's pipe when the returned task completes. Rather, the complete contents of the file will be available in the pipe when itself is completed. or is null. The file does not exist. Writes data to a file, replacing its entire contents if the file already exists. The file to write. The reader for the pipe containing the data to be written to the file. Indicates whether an existing file can be overwritten. The cancellation token. A task representing the asynchronous write operation. or is null. The parent of doesn't exist. exists and is false. will be set to . The caller does not have the required permission. Starts watching a file for changes. A event occurs when the file specified by is created, deleted, or modified. The file to be watched. The cancellation token. An object which can be passed to to stop watching the file. is null. Enumerates the files of a directory. The URI of the directory to read. The search string to match against the names of files. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions. Specifies whether to search only the directory specified by , or directory specified by and all of its subdirectories. The cancellation token. A collection of instances. is null. The directory specified by does not exist. The caller does not have the required permission. Enumerates the child directories of a directory. The URI of the directory to read. The search string to match against the names of child directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions. Specifies whether to search only the directory specified by , or directory specified by and all of its subdirectories. The cancellation token. A collection of instances. is null. The directory specified by does not exist. The caller does not have the required permission. Enumerates the files and child directories of a directory. The URI of the directory to read. The search string to match against the names of files or child directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions. Specifies whether to search only the directory specified by , or directory specified by and all of its subdirectories. The cancellation token. A collection of instances. is null. The directory specified by does not exist. The caller does not have the required permission. Creates a directory. The directory to create. The cancellation token. A task representing the asynchronous creation operation. is null. contains invalid characters. refers to a file that already exists. will be set to . Any and all directories in are created, unless they already exist or unless some part of is invalid. Starts watching a directory for changes. A event occurs under the following circumstances: 1. A file in the directory specified by is created, deleted, or modified. 2. A child directory in the directory specified by is created or deleted. 3. If is true, a change described by #1 or #2 occurs in any child directory of the directory specified by . The directory to be watched. Indicates whether subdirectories should be watched. The cancellation token. An object which can be passed to to stop watching the directory. is null. Copies a file or directory. The existing file or directory. The new location. True to overwrite existing files; otherwise false. The interface through which progress is reported. The cancellation token. A task representing the asynchronous copy operation. If refers to a directory and is true, is removed before the copy is performed. If refers to a directory and is false, the source directory is merged into the existing contents of the destination directory. is null or is null. does not exist. The parent of does not exist. refers to a file, already exists and is false. will be set to . The caller does not have the required permission. Moves or renames a file or directory. The existing file or directory. The new location. True to overwrite existing files; otherwise false. The interface through which progress is reported. The cancellation token. A task representing the asynchronous rename operation. is null or is null. does not exist. The parent of does not exist. already exists and is false. will be set to . The caller does not have the required permission. Deletes a file or directory. The file or directory to delete. True to remove directories, subdirectories, and files in ; otherwise false. If refers to a file, is ignored. The interface through which progress is reported. The cancellation token. A task representing the asynchronous delete operation. is null. refers to a directory that is not empty and is false. Stops watching a file or directory for changes. The value returned by the call to or . The cancellation token. A task representing the asynchronous operation. is null. doesn't correspond to a watched file or directory. Gets metadata about a file or directory. The file or directory whose info is requested. The cancellation token. Information about the file or directory, or null if the file or directory does not exist. is null. Allows downloading files from a remote file system to the local file system. Occurs when the provider is connected to its remote source. After this event is raised, the method will return true. Occurs when the provider is disconnected from its remote source. After this event is raised, the method will return false. Indicates whether the file system provider is connected to its remote source. The cancellation token. When a remote file system provider is disconnected, all of the and methods should throw . No events will be raised for files or directories that were watched while the provider was connected. If the provider is reconnected, the behavior with respect to events is implementation defined. Returns a value indicating whether the file system provider is connected to its remote source. Downloads a remote file if it has not already been downloaded. The URI of the file to download. The interface through which progress is reported. The cancellation token. The URI of the local file. Converts a local URI to a remote URI using the provider's URI scheme. The local URI. The cancellation token. The remote URI. can be a returned from or from . Converts a remote URI using the provider's URI scheme to a local URI. The remote URI. The cancellation token. The local URI. The local file may not exist if it has not been downloaded. Use the method to ensure the file has been downloaded. An interface to provide display information for a . This is an optional interface that can be implemented by a file system provider. Gets display information for a . The whose display information is returned. The cancellation token. The display information for a . A struct that represents the progress of a file system operation. Initializes a new instance of the struct. The total number of entries the operation has found thus far. The completed number of entries in the operation. The total number of bytes the operation has found thus far. The completed number of bytes in the operation. Gets the total number of entries the operation has found thus far. Gets the completed number of entries in the operation. Gets the total number of bytes in operation has found thus far. Gets the completed number of bytes in the operation. Equals operator for . The first instance to compare. The second instance to compare. True if equal, false if unequal. Not-equals operator for . The first instance to compare. The second instance to compare. True if unequal, false if equal. Compares an instance with another object. The object to compare to. True if equal, false if unequal. Compares an instance with another instance. The instance to compare to. True if equal, false if unequal. Computes the hash code for an instance. The hash code. The arguments that are sent with the event. Initializes a new instance of the class. The scheme of the file system provider for which the root elements of the provider's namespace have changed. The root entries of the provider's namespace. Gets the scheme of the file system provider for which the root elements of the provider's namespace have changed. Gets the root entries of the provider's namespace. A class containing the display properties for a . Initializes a new instance of the class. The display name of the . The full display name of the . The group name of the . The full group name of the . Initializes a new instance of the class. The display name of the . The full display name of the . The group name of the . The full group name of the . The full display name of the as it exists on the server. If the doesn't exist on the server, this value is . The full group name of the as it exists on the server. If the doesn't exist on the server, this value is . Initializes a new instance of the class. The display name of the . The full display name of the . The group name of the . The full group name of the . The full display name of the as it exists on the server. If the doesn't exist on the server, this value is . The full group name of the as it exists on the server. If the doesn't exist on the server, this value is . The name of the relative to the workspace. If the specifies a file that is not under the workspace, this value is should be the same as . The group name of the relative to the workspace. If the specifies a file that is not under the workspace, this value is should be the same as . Gets the display name of the . For a "file:/" this would be the filename with extension. Gets the full display name of the . For a "file:/" this would be the fully-qualified filename. Gets the group name of the . For a "file:/" this would be the name of the parent directory. Gets the full group name of the . For a "file:/" this would be the fully-qualified parent directory. Gets the full display name of the as it exists on the server. If the doesn't exist on the server, this value is . Gets the full group name of the as it exists on the server. If the doesn't exist on the server, this value is . Gets the name of the relative to the workspace. If the specifies a file that is not under the workspace, this value is the same as . Gets the group name of the relative to the workspace. If the specifies a file that is not under the workspace, this value is the same as . The result of a call to or . Initializes a new instance of the class. The scheme of the being watched. The cookie representing the subscription. Indicates whether the watched is a directory. Gets the scheme of the file system provider returning the watch result. Gets the cookie identifying file or directory being watched. Gets a value indicating whether indicates whether the watch result represents a directory. Describes a instance designed to support hooks for certain methods. This interface allows Visual Studio to hook in to service descriptor functionality and is meant to be implemented by service descriptors used by services exposed here. Delegate to be used for CreateJsonRpc hook. Handler to be utilized when creating instance. a new instance of or null if default implementation should be used. Gets the currently registered hook for method. Clones the descriptor with a hook that will be called when a is called. If delegate returns null, the descriptor will use its default method. Method to utilize or null. A cloned with the registered hook. Describes a contract for looking up string resources. This is primarily designed to be used as a client callback contract so the server can get localized messages from the client. A brokered service that provides localized resources to the client can normally do so without taking a parameter since it is activated with . Gets a localized string. The culture for which a string is required. The name of the resource to acquire. A cancellation token. The localized string, which may be from the default culture rather than the desired culture if no translation of the identified resource is available in the desired culture. Thrown when does not match any known string. Enum that denotes the server state after initialization. Server initialization succeeded. Server initialization failed. Interface used to initialize, activate, and report the initialization result of a Language Server. This interface is implemented by the LanguageServerProvider class which extension authors extend to expose their server to the internal LSP infrastructure. This method is called by Visual Studio before any other methods of this interface to initialize the and retreive the . Language server provider client used by Visual Studio to enable or disable a language server. Cancellation token for this asyncronous task. An optional that updates the server configuration. This method is called by Visual Studio to notify the extension that the language client has been loaded but not yet activated. Visual Studio can start the language server immediately, or wait for user action to start. Cancellation token for this asyncronous task. A tracking the async operation. Method called by Visual Studio when a language server connection is requested. Cancellation token for this asyncronous task. A object used to communicate with the language server; or null if the language server could not be started. Method called by Visual Studio when the LSP server has completed the "initialized" step, allowing the extension to handle the success and failure scenarios. Enum denoting if the server initialization state. Nullable initialization information that contains the exception and a readable message if the server failed to initialize. Cancellation token for this task. A representing the asynchronous operation. Interface used by the LSP infrastructure to enable or disable the language server. Method called by the language server provider infrastructure to request Visual Studio to start or stop the language server. Flag denoting if the server should be enabled or disabled by Visual Studio. Cancellation token for this task. A representing the asynchronous operation. This method only allows the server to start when needed or stops and prevents the server from starting. Class used to store an exception and status message when a language server fails to initialize. Initializes a new instance of the class. Exception object to be stored. User-readable status message related to the stored exception. Gets the stored exception within this object. Gets the stored status message within this object. Class used to configure a . Gets or sets the initialization options object the client wants to send when 'initialize' message is sent. Type of audit log event, copy of existing EventLog event types. An error event that indicates critical failure in a component. A warning event. This indicates a problem that is not immediately significant, but that may signify conditions that could cause future problems. An information event. This indicates a significant, successful operation. A success audit event. This indicates a security event that occurs when an audited access attempt is successful; for example, logging on successfully. A failure audit event. This indicates a security event that occurs when an audited access attempt fails; for example, a failed attempt to open a file. Known sources for audit log events to help with automated filtering by other tooling. If you are adding to this list, please ensure audit event source registration is also updated in VS setup finalizer. No component, used for cases where a known component is not registered yet. LiveShare components. Interface used for logging audit events from Visual Studio components. Writes an event entry into IDE managed audit log instance. Type of the event being recorded. Source of the event, this predetermined list is used for audit monitoring tools to quickly filter to known sources. Message to be displayed as the event content. Any other data to be included in the event. Cancellation token to monitor. a Task that is completed when event is submitted to audit log. Interface used to request logging changes from the tracing hub to the client using the tracing hub. Implement this interface to support sending live log streams. Use the from to access the service. It is expected that any library providing a logging utility, like Microsoft.VisualStudio.LogHub will implement this interface directly and provide an abstraction to the client. Extension developers should use the logging utility library provided by Visual Studio when possible and do not need to implement this interface directly. Gets a live stream of events in the specified log. There is explicitly no defined log format that should be written to . It is suggested to use the format implemented by System.Diagnostics.XmlWriterTraceListener and to emit svclog format whenever possible. Fully-qualified id of the log stream. The to write the log stream into, this should be the same byte-format of the log being stored locally with the running component. When the returned is disposed of this will be completed. The desired logging level settings for the return stream. The cancellation token. When a caller of this stream no longer wishes to receive more data from the log stream being provided through , the caller should call on the returned value. This is an awaitable task for the stream to begin, and an , that, when is called, will cause the stream to stop. Requests that the client perform a flush to disk. Fully-qualified id of the log stream. The cancellation token. A task that completes when the flush is finished. Interface used to describe contract between trace components in remote services and the tracing hub. Used to configure tracing providers and proffer log streams and to offer configuration log levels and log locations to tracing components. Use the from to access the service. Attaches an observer for updates to when logging verbosity state changes. An observer of logging verbosity state changes. The of the log you wish to subscribe receive verbosity change events for. A cancellation token. A value that may be disposed of to unregister the from future notifications. The initial state of open code containers will be sent immediately to the observer. This method was added in Visual Studio 16.9. Registers a new log stream with the tracing hub and exposes it to requesting clients. Id of the log stream within the service, this should be globally unique. The should be a fully-qualified hierarchical name starting with your team's namespace. This should be a string like "Microsoft.VisualStudio.Debugger.Concord.DispatcherDiagnosticsLog" where the last segment is a friendly name of the log. It is important to use a fully-qualified hierarchical name even when this log stream is also classified by a . This must be unique across all log streams from all services and components; when a duplicate request is received the method will return an error code in . Options describing how the tracing hub can treat this log. The cancellation token. A with the of the newly registered log, a status code in indicating if the log was already registered or this is a new registration or an error, a from indicating the current logging verbosity of the log stream, and a representing the directory and file prefix where the log should be written to. Logging options for a given log stream. This class is immutable. Initializes a new instance of the class. This constructor will specify all class parameters. The settings that the client wishes to begin logging with. Best effort is used to respect this setting. Set of flags defining what the new log stream may contain. See documentation on for details. A collection of s representing tags that represent the systems where this trace log stream may contain useful information when debugging the system given in the tag. May pass null when no tags need to be specified. The maximum logging verbosity that should ever be applied to this logging stream. LogHub will never request a verbosity higher than this level. This will default to a where is . The default should be used for most cases. The minimum logging verbosity that should ever be applied to this logging stream. LogHub will never request a verbosity lower than this level. This will default to a where is . The default should be used for most cases. Tells whether will be enabled for the log's stream. Initializes a new instance of the class. This constructor must match the property layout order for MessagePack. Gets the requested . This defines the logging level that the client wants to start with. May be null, which will request the current default from LogHub service. Gets the requested . This defines the most verbose logging level that should ever be set. Gets the requested . This defines the least verbose logging level that should ever be set. Gets restrictions related to how a log stream may be distributed or automatically collected. Gets set of system tags that tag this log stream with the systems that could use this log. Gets a value indicating whether will be set for the registered trace source. Note that is synchronous so there is potential for UI delays if this is set to true. Represents the settings for live configuration of a log stream. Initializes a new instance of the class with all fields specified. The set logging verbosity level that should be recorded. Level is inclusive of all higher (more severe) logging levels. View documentation on for more information. Gets the desired logging verbosity level that should be recorded. Level is inclusive of all higher (more severe) logging levels. View documentation on for more information. Gets a used to display this object in the debugger UI. Operator override for ==. Left operand. Right operand. True if instances are equal to each other. Operator override for !=. Left operand. Right operand. True if instances are not equal to each other. Tests if >= . Specifically, if all settings in the operand are equal to or greater in logging verbosity than the operand. Left operand. Right operand. True if each property in the operand is at least as permissive as the corresponding property in the operand. Tests if <= . Specifically, if all settings in the operand are equal to or greater in logging verbosity than the operand. Left operand. Right operand. True if each property in the operand is at least as permissive as the corresponding property in the operand. Tests if < . Specifically, if some settings in the operand are greater in logging verbosity than the operand. Left operand. Right operand. True if each property in the operand is at least as permissive as the corresponding property in the operand and at least one property is more permissive in the operand than the operand. Tests if > . Specifically, if some settings in the operand are greater in logging verbosity than the operand. Left operand. Right operand. True if each property in the operand is at least as permissive as the corresponding property in the operand and at least one property is more permissive in the operand than the operand. In order to make a valid comparison, exactly one of and "this" must be a subset of the other. In other words, only one of these 2 objects may contain extra unique logging setting(s). For example, if "this" enables and nothing else and enables and nothing else, an will be thrown because a strict ordering is not possible. If "this" enables and nothing else and enables | then a negative will be returned because "this" is a subset of . If "this" and are equal, 0 will be returned. Class representing the fully-qualified id of a given log stream and all information that can be used to identify the log. Initializes a new instance of the struct. Throws when empty or null. Throws when is not a fully-qualified log name that contains at least 1 '.' delineating a namespace-like prefix or contains characters other than A-Z, a-z, 0-9 and _. The optional representing the service that generates the log stream identified by this . This should always be specified if the source is a RPC service and be null when the source is not an RPC service. The fully-qualified name of the log stream. This should be globally unique. The should be similar to a fully-qualified C# class name, like "Microsoft.VisualStudio.Debugger". Specifically, at least one "." must appear in the name, the name may not begin, nor end with a "." and no more than one "." may appear in a row (no ".." in the name). Allowable characters for the name are: A-Z, a-z, 0-9 and _. The "." is also an allowable character with the restrictions above. Gets the fully-qualified name of the given log stream. The fully-qualified name of the log stream. This is globally unique. The should be similar to a fully-qualified C# class name, like "Microsoft.VisualStudio.Debugger". Specifically, at least one "." must appear in the name, the name may not begin, nor end with a "." and no more than one "." may appear in a row (no ".." in the name). Allowable characters for the name are: A-Z, a-z, 0-9 and _. The "." is also an allowable character with the restrictions above. Gets the of the service that is emitting this log stream. Gets a used to display this object in the debugger UI. Equality comparison operator. Left operand. Right operand. if the left and right operand are equivalent. Inequality comparison operator. Left operand. Right operand. if the left and right operand are different. Checks if the given log name is valid given 's namespace requirements. This method will verify that the string: 1. Contains at least one '.' defining at least one root namespace and a name. "Root-level" log names aren't allowed. "MyLogName" is invalid, "Microsoft.MyLogName" is valid. 2. Does not contain any empty namespace. ".Microsoft.Log", "Microsoft..Log" and "Microsoft.Log." are invalid, "Microsoft.Log" is valid. 3. Does not contain any characters other than A-Z, a-z, 0-9, '_' or '.'. The string to validate. True if the name is valid, false otherwise. Represents single entry in a log with associated metadata. Initializes a new instance of the class. This overload is for a successful result. The result of the call to , indicates if a new trace log stream was registered or an existing registration already exists. This parameter must have set for this overload. The representing the log that has been registered. The requested logging verbosity settings of the registered trace log stream. The string representing the directory and filename prefix for the log. It is assumed that the client library using this API will prepend a file extension with the '.' to write to disk. Initializes a new instance of the class. This overload is for a failed result. will be set to . The representing the log that has been registered. Initializes a new instance of the class. This constructor must match the property layout order for MessagePack. This constructor is for use only by deserializers. Gets the representing the log that has been registered. Gets the status of the call to , indicates if a new trace log stream was registered or an existing registration already exists. Gets a string representing the directory and file prefix that should be logged. This will return a string similar to "C:\Users\MyUsername\AppData\Local\Temp\VisualStuidoLogs\VS1294.Microsoft.VisualStudio.DiagnosticsHub.Warehouse". It is intended that the consumer will append their desired file extensions and write to those files. Gets the representing the requested logging verbosity settings of the registered trace log stream. Gets a value indicating whether Autoflush is set for the trace log stream. Note that is synchronous so there is potential for UI delays if this is set to true. Method used to determine if this 's represents a successful result. If duplicate registration calls were made with the same , will not be set in the returned code. This may indicate an error depending on your scenario. If you expect your log to only ever make a single registration call, then set to . If you expect to make multiple registration calls with the same in order to write to the same log, then set to . A indicating that the status code means a success. Event args for changing the logging verbosity in a given trace log stream. Initializes a new instance of the class. The id of the trace log stream that should change verbosity level. The newly requested logging verbosity for the trace log stream. This is a object. Gets the of the trace log stream that has a request to set the that determine the new logging verbosity. Gets the that determine the new logging verbosity. Each level should automatically include all higher-severity messages. For Example: if the SourceLevels.Warning flag is set, logging of all Critical, Error, and Warning level events should be done. Set of flags describing the potential presence of information of a given privacy classification. Blank flag meaning that this log will NEVER have any private information that can be described by the flags below. The log may contain information that may be able to be used to identify the individual or organization that is using the product. This flag is a warning to the Log system indicating that this log must be treated as if it contains Personally Identifiable Information (PII). The log may contain private information. This is for information like a user's error messages. This information is not necessarily identifiable however may contain private information such as a customer's credit card number showing up in an exception message. This flag is a warning to the Log system indicating that this log must be treated as if it contains Private Information. representing all the possible results of calls to register a new trace log stream. This is the default value with no flags set, this indicates a failure. When set indicates that the trace log stream was registered successfully. When not set this indicates a failure. If a failure, a trace log stream may already exist with the given and a different . When set this indicates that this trace log stream was not previously registered. When not set this indicates that this trace log stream has already been registered. Defines kinds of document window captions. Caption consists of the document name (full path minus project path). Caption consists of the the document's project item hierarchy name. Caption consists of the project name. Custom caption. Allows opening documents on the client. Opens document at the given local file with the default editor for that document. If the represents local file path of a remote file and can be converted to remote URI via , the remote file will be downloaded and opened. The local file path to the document to open. If the path represents local file path of a remote file and can be converted to remote URI via , the remote file will be downloaded and opened. A cancellation token. A task representing the opening of a document editor. Opens document at the given local file with an editor selected by the user. If the represents local file path of a remote file and can be converted to remote URI via , the remote file will be downloaded and opened. The local file path to the document to open. If the path represents local file path of a remote file and can be converted to remote URI via , the remote file will be downloaded and opened. A cancellation token. A task representing the user selection and opening of a document editor. Opens document at the given . If the document is already open, its document frame is activated and are applied. If the represents local file path of a remote file and can be converted to remote URI via , the remote file will be downloaded and opened. If the document is already open, are applied to that already open document instead (for example ). The URI of the document to open. Options defining how to open the document. A cancellation token. A document moniker of the window frame containing the opened document. This method is added in update. Defines kinds of logical document views. Primary (default) document view. Any defined document view. Debugger document view. Code editor document view. Designer document view. Text editor document view. User choosen document view. Project specific document view. Options defining how to open documents on the client. Initializes a new instance of the class. Range of document text to be selected on document open. If omitted, no text will be selected. Range of document text to be visible on document open. If omitted, will be used instead. The view of the open document will not be scrolled if the text in range is completely visible. If the text in the range is partially visible, then the view will be scrolled as little as possible to make the text completely visible. If none of the text in the range was visible, then it will be centered in the view. Providing allows for more precise control over scrolling behavior. Options to control scrolling behavior when argument is provided. If omitted, is used. Whether to open document in preview mode. If omitted, document will be open in durable mode. Whether to activate the document after opening by sending an expicit focus. If omitted, the document is activated if is false. A kind of logical document view to open. If omitted, is used. A project to open document in. If ommitted, document will be open in first project containing the document. Unique identifier of the editor type. If omitted, standard editor will be created. Initializes a new instance of the class. Initializes a new instance of the class. Range of document text to be selected on document open. If omitted, no text will be selected. Range of document text to be visible on document open. If omitted, will be used instead. The view of the open document will not be scrolled if the text in range is completely visible. If the text in the range is partially visible, then the view will be scrolled as little as possible to make the text completely visible. If none of the text in the range was visible, then it will be centered in the view. Providing allows for more precise control over scrolling behavior. Options to control scrolling behavior when argument is provided. If omitted, is used. Whether to open document in preview mode. If omitted, document will be open in durable mode. Whether to activate the document after opening by sending an expicit focus. If omitted, the document is activated if is false. A kind of logical document view to open. If omitted, is used. A project to open document in. If ommitted, document will be open in first project containing the document. Unique identifier of the editor type. If omitted, standard editor will be created. The kind of the document window caption. Custom document window caption with optional substitutions. Whether the document should be open in user readonly mode. Gets range of document text to be selected on document open. Gets range of document text to be made visible on document open. Gets options to control scrolling behavior when is provided. Gets a value indicating whether to open document in preview mode. Gets a value indicating whether to activate the document after opening by sending an expicit focus. Gets a kind of logical document view to open. Gets a project to open document in. Gets unique identifier of the editor type. Gets the kind of the document window caption. Gets custom document window caption. The following substitution variables are supported: %1 - the project name %2 - the document's project item hierarchy name %3 - the document name. Used when is set to . Gets a value indicating whether the document should be open in user readonly mode. Describes an output channel as it may be obtained from the . Initializes a new instance of the class. a non-localized, unique identifier for the channel. the display name for the channel. the character encoding to use. Gets a non-localized, unique identifier for the channel. This value is expected to be unique and owned by a specific client that creates channels. If a consumer ever sees a channel with the same value as seen previously, anything referenced by the old one should be destroyed. Gets the display name for the channel. Gets the character encoding for the channel. This interface describes the entity that stores and manages a collection of output channels. Occurs when a channel has been created. The string is the of the channel created. Occurs when a channel has been closed. The string is the of the closed channel. Gets all active channels. A cancellation token. A collection of channel names. Creates a new output channel and supplies the used to write to it. A non-localized, unique string used to identify the created channel. The ID of the resource that should be used as the for this channel. This ID will be exchanged for the actual value by calling back to the client via the interface. The reader for the pipe that the store will use to receive data from the channel. When the writer of the pipe is completed, the channel will close. The from the the caller will use for encoding characters over the . A cancellation token. A task that represents the completion of creating the channel. Thrown when conflicts with an open channel. Attaches a to an existing channel for read access. A non-localized, unique string used to identify the existing channel. This may be a well-known ID or one obtained from . The writer for the pipe that the store will use to send the channel data back to the caller. A cancellation token. An OutputChannel corresponding to the channel being opened. Thrown when the channel does not match any existing channel. A record that represents the progress of some operation that is generally representable with a progress status dialog. Gets or sets high-level description of the operation. Gets or sets a more precise description of the operation in progress. Gets or sets the step number currently in operation (i.e. one more than the number of completed steps). Gets or sets the total number of steps to complete, if known. Gets or sets a value indicating whether the operation will respect a cancellation request. A boolean value. The default is . This interface describes the entity that handles the registration, progress reporting and completion of background work in the Task Status Center. An event that will be invoked by VS to notify the extension when user clicks to cancel the running work. Register a background work running on an extension to show up in the Task Status Center. Localized name of the extension. Localized name of the background work. Options that customize the behavior of Task Status Center. Cancellation token. Work Id. A background work running on an extension will report back its progress to VS to show in the Task Status Center. Work Id. Status of the work progress running on the extension. Cancellation token. Task. A background work running on an extension will call this method to signal to VS that the work has completed. Work Id. Cancellation token. Task. A class that holds the options that customize the behavior of Task Status Center in VS. Initializes a new instance of the class. Indicates whether the background work is cancellable. Gets a value indicating whether the background work is cancellable in the Task Status Center. A class that holds the data that relates to the ongoing progress of background work. The data will be displayed in the Task Status Center UI appropiately. Initializes a new instance of the class. The percentage of completion of the background work. Optional Information about the current progress of the background work. Gets a value indicating the percentage of completion of the background work. 0 <= PercentComplete <= 100 Specifying null will result in an indeterminate (spinning with no indication of percentage complete) progress bar. Gets a localized string value indicating extra information about the current progress of the background work. This class contains the event args when is invoked. Initializes a new instance of the class. The work id of the background work that's being canceled. Gets the work id, which matches the work id returned from . A service for tracking invisible editors that are opened but should be considered as though they are real editors in user editable windows. This supports LiveShare and Cloud Environment server scenarios. Informs the system that the project file is open in a text editor. This should be called before the user can make any edits. The GUID of the project being edited. A cancellation token. A cookie that represents the tracking of the newly opened editor and should be passed to the when the editor is closed, or null if the project guid represents a project that is incompatible with this service. Informs the system that the project file editor associated with the cookie has been closed. The GUID of the project being edited. The cookie that represents the editor being closed, returned from calling when it was opened. A cancellation token. A representing the asynchronous operation. Wrapper for a UI user control that allows exchanging the control within the same process across VisualStudio.Extensibility RPC calls. This interface can only be used by VisualStudio.Extensibility in-proc extensions since it relies on the ability of the extension to share a .NET object with Visual Studio trough a . Returns the internal integer representation of a object which references a user control .NET object. Cancellation token for the async call. The internal integer representation of a object which references a user control .NET object. At this time, only user controls extending WPF FrameworkElement are supported. The party returning the must prevent garbage collection of the user control until the is disposed. A VisualStudio.Extensibility user control that leverages the Remote UI datacontext proxying capabilities. This interface is meant to be extended by creating a technology-specific interface like . This method allows querying for the value of a uniquely identifiable object that is part of the DataContext of the control. The value of the object will be sent to the client using . The unique identifier of the object to return. Cancellation token for the async call. Whether the object was found. If the result is , will call providing a value for the object. This method updates a property of an object that is part of the DataContext of the control. The unique identifier of the object to update. The name of the property to update. The new value to assign. Cancellation token for the async call. if it is not possible to find an object identified by , otherwise. When is not a valid property for the object identified by . This method updates a property of an that is part of the DataContext of the control. The unique identifier of the collection to update. The index of the entry to update. The new value to assign. Current version of the object. Cancellation token for the async call. if it is not possible to find an object identified by , otherwise. This method allows invoking ExecuteAsync on an async command that is part of the DataContext of the control. The unique identifier of the async command instance. A value to pass as parameter when invoking ExecuteAsync. Cancellation token for the async call. Returns whether ExecuteAsync was invoked. The is completed when the async execution of the command completes. A VisualStudio.Extensibility user control that leverages the Remote UI data-context proxying capabilities. This interface is meant to be extended by creating a technology-specific interface like . Invokes ExecuteAsync on an async command that is part of the DataContext of the control. The unique identifier of the async command instance. A value to pass as parameter when invoking ExecuteAsync. Captured client context properties. Cancellation token for the async call. Returns whether ExecuteAsync was invoked. The is completed when the async execution of the command completes. Callback interface allowing an to notify the client about changes to the datacontext. This method is called when a property is updated on an object implementing after it was first sent to Visual Studio. Identifier of the uniquely identifiable object that owns the property that was updated. Name of the property being updated. Value of the property after the update. Cancellation token for the async call. A tracking the completion of the async operation. This method is called when an object implementing is updated after it was first sent to the client. Identifier of the uniquely identifiable object that was updated. Current version of the object. Description of the changes to the collection. Cancellation token for the async call. A tracking the completion of the async operation. Notifies the client of the current value of a uniquely identifiable object. This method is called when the client queries for an object value using . The current value of the uniquely identifiable object. Cancellation token for the async call. A tracking the completion of the async operation. We don't send the object value as a result of the method because we cannot guarantee proper ordering of handling of async method results. We can guarantee ordering of execution of StreamJsonRpc methods, so all object values and updates are always sent as method parameters, never as method results. Notifies the client of the value of the datacontext. This method is called when client requests the control definition by invoking a method like . The current value of the datacontext. Cancellation token for the async call. A tracking the completion of the async operation. We don't send the object value as a result of a method like because we cannot guarantee proper ordering of handling of async method results. We can guarantee ordering of execution of StreamJsonRpc methods, so all object values and updates are always sent as method parameters, never as method results. A control provided by a Visual Studio extension to be shown in Visual Studio. A Remote UI user control based on WPF. This method retrieves the xaml describing the data template of the control and the corresponding data context. Object that will receive the notifications for changes to the control datacontext. The class implementing is responsible for disposing of when is invoked on the instance. Cancellation token for the async call. A xaml string describing a data template. This method is invoked when the control is first loaded. Cancellation token for the async call. A tracking the completion of the async operation. A sequence of bytes serialized using MessagePack. When a is serialized as part of a larger MessagePack payload, it is written as raw data prefixed by its length. This allows the larger payload to be logged as json showing the content of the fragment in a readable format. Upon deserialization the fragment is retrieved as-is allowing it to be deserialized separately from the payload containing it, possibly at a later time. Initializes a new instance of the struct. A sequence of bytes in MessagePack format. Gets a sequence of bytes in MessagePack format. Gets the length in bytes of the fragment. Identifier of a uniquely identifiable object. Identifier value. Identifier of a uniquely identifiable object. Identifier value. Identifier value. Gets the invalid id value. MessagePack formatter for . Read the from a MessagePack reader. The MessagePack reader to read from. The read value. Writes to a MessagePack writer. The MessagePack writer to write to. The value to write to . Version of a uniquely identifiable object. Current counter of server-initiated changes of the object. Current counter of client-initiated changes of the object. Version of a uniquely identifiable object. Current counter of server-initiated changes of the object. Current counter of client-initiated changes of the object. Current counter of server-initiated changes of the object. Current counter of client-initiated changes of the object. MessagePack formatter for . Reads the from a MessagePack reader. The MessagePack reader to read from. The read value. Writes value to a MessagePack writer. The MessagePack writer to write to. The value to write to . Argument used in . Initializes a new instance of the class. The action that caused the event. The list of new items involved in the change. The zero-based index of the new location at which a , , or change occurred. The list of existing items affected by the change. The number of existing items affected by the change. The zero-based index of the old location at which a , , or change occurred. Initializes a new instance of the class. Private default constructor that allows MessagePack deserialization. Gets the action that caused the event. Gets the list of new items involved in the change. Gets the zero-based index of the new location at which a , , or change occurred or -1 when unused. Gets the list of items affected by a , or , action. This property is omitted in events sent for collections for which the change can be fully defined by and . Gets the number of existing items affected by the change or -1 when unused. This value is useful for , or events of collections where is omitted. Gets the zero-based index of the old location at which a , , or change occurred or -1 when unused. Constructs an instance of for a event raised by a non-indexed collection. The list of existing items affected by the change. The list of new items involved in the change. The value. Constructs an instance of for a event raised by an indexed collection. The zero-based index of the old location at which the change occurred. The number of existing items affected by the change. The list of new items involved in the change. The value. Constructs an instance of for a event raised by a non-indexed collection. The list of new items involved in the change. The value. Constructs an instance of for a event raised by an indexed collection. The zero-based index of the new location at which the change occurred. The list of new items involved in the change. The value. Constructs an instance of for a event raised by a non-indexed collection. The list of existing items affected by the change. The value. Constructs an instance of for a event raised by an indexed collection. The zero-based index of the old location at which the change occurred. The number of existing items affected by the change. The value. Constructs an instance of for a event. The zero-based index of the old location at which the change occurred. The zero-based index of the new location at which the change occurred. The number of existing items affected by the change. The value. Constructs an instance of for a event. The full list of items in the collection after the change. The value. Xaml definition of a remote UI WPF control. Initializes a new instance of the struct. Xaml definition of the remote user control. Gets the xaml definition of the remote user control. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. Looks up a localized string similar to The Uri must be absolute.. Looks up a localized string similar to A directory's attributes must include the {0} attribute.. Looks up a localized string similar to A file's attributes must not include the {0} attribute.. Looks up a localized string similar to The Uri must use the 'file' scheme.. Looks up a localized string similar to MessagePack fragments should be encoded as an array of size and data.. Looks up a localized string similar to The parameter {0} can not have a value of '{1}' when parameter {2} has a value of '{3}'.. Looks up a localized string similar to The parameter {0} must contain at least one '.' character to define a fully-qualified name using alphanumeric and underscore characters. Invalid characters are removed from the name.. Looks up a localized string similar to The parameter {0} must contain at least one '.' character to define a fully-qualified name filter using alphanumeric and underscore characters or contain exactly one '*' used inplace of a single namespace to qualify as a valid filter.. Looks up a localized string similar to Object versions should be encoded as an array of two numbers.. Looks up a localized string similar to The parameter {0} with value '{1}' must have the flag '{2}' set.. Looks up a localized string similar to The error code must be less than {0} or greater than {1}.. Looks up a localized string similar to The {0}'s {1} property cannot be "{2}".. Allows read/write access to settings values and subscription to changes. Obtain this using . Raised when a setting has changed for settings whose name matches a pattern passed to . Enables change events to be raised for settings matching (case insensitive comparison). A setting name, optionally ending in "*" to indicate that it's a prefix. A cancellation token. An async task. Gets all the registered setting monikers starting with (case insensitive comparison). The first part of a setting name; pass an empty string to get all setting monikers. The index of the first setting to return. The maximum number of settings to return. A cancellation token. An async task whose result is the collection of setting monikers matching the given prefix. Gets the metadata for all the registered settings starting with (case insensitive comparison). The first part of a setting name; pass an empty string to get all setting monikers. The index of the first setting to return. The maximum number of settings to return. A cancellation token. An async task whose result is the info for all the settings matching the given prefix. Returns the metadata for a setting. If the named setting is not registered (registration is optional), the return value will express the default metadata for settings without registration. The setting moniker (case insensitive). A cancellation token. An async task whose result is the info for the given setting. Changes the value of a setting. The setting moniker (case insensitive). The new value for the setting. A cancellation token. Thrown if the caller lacks permission to change the setting. An async task. Gets the value of a setting. The setting moniker (case insensitive). A cancellation token. An async task whose result is an object representing success or failure. If the query succeeded, that object also supplies the setting value. Information about a setting. Initializes a new instance of the class. The setting moniker. The localized name of the setting, if it has one; otherwise null. The localized description of the setting, if it has one; otherwise null. The search keywords for the setting, if it has any; otherwise null. The JSON schema for the setting. A value indicating whether the setting can be modified in the current context. A value indicating whether the setting is addressed remotely when connected. Gets the moniker of the setting. Gets the localized name of the setting, or null if the setting has no localized name. Gets the localized description of the setting, or null if the setting has no localized description. Gets a localized string containing search keywords for the setting, or null if the setting has no keywords. For search keyword matching, the string is tokenized using whitespace and punctuation as delimiters. Capital letters are also respected for camelCase matching. Gets a JSON schema representing the allowed values for the setting. See https://json-schema.org/. Gets a value indicating whether the caller is allowed to modify the setting. Gets a value indicating whether the setting exists on the remote side of a Visual Studio Online connection, instead of locally, when connected. When not connected, this property can still return true if the setting would be remote when connected. The result of a request to retrieve a setting value. Initializes a new instance of the class representing a successful setting retrieval. The setting value. Gets a representing a failed setting retrieval. Gets a value indicating whether the request succeeded. Gets the value of the setting. Only valid if == true. Returns the setting value converted to the given type. Avoids loading Newtonsoft.Json if possible. The type to which the value will be converted. The converted value. A service that enables extensions to register all the missing components required by a given project. This service is intended to be a singleton service that tracks all missing component ID registrations. Project load vetoers, for example, can use this service to indicate which components need to be installed for a given project to load successfully. Registers the set of missing components for the specified projects. A map from project GUIDs to collections of missing Visual Studio components for each project. A cancellation token. A representing the result of the asynchronous operation. Provides a way to schedule the Single File Generator. Obtain this using . Triggers the single file generation on the single input file at to generate the single output file. The result of the transformation may be source code, or any other output that is useful. An example is resources code file generated in response to changes in a visual designer that creates a resx file. Input file path on which to run the Single File Generator. The Project file that the Input file belongs to. A cancellation token. A representing the result of the asynchronous operation. Provides functionality to work with solutions, filters and projects. Raised when a project is loaded. Raised when a project is unloaded. Raised when the project load status has changed. Unloads projects and sets the reason for unloading them. The GUIDs of the projects. The . A cancellation token. If all projects were already unloaded, it returns 'false'. Else, it returns 'true'. Loads projects without requiring any dependencies to be loaded. The GUIDs of the projects. A cancellation token. If all projects were already loaded, it returns 'false'. Else, it returns 'true'. Removes projects from the solution. The GUIDs of the projects. A cancellation token. If all projects were already removed, it returns 'false'. Else, it returns 'true'. Checks if the projects are loaded. The GUID of the project. A cancellation token. If the project is currently loaded, it returns 'true'. Else, it returns 'false'. Attaches an observer for updates to open code containers state. An observer of open code containers state. A cancellation token. A value that may be disposed of to unregister the from future notifications. The initial state of open code containers will be sent immediately to the observer. This method was added in Visual Studio 16.9. Gets open code containers state. A cancellation token. The current open code container state. Saves a filter file at the specified location. It overwrites any existing file. Location of the filter file. Name of the filter file with extension. A cancellation token. A representing the asynchronous operation. Closes the currently open solution or folder. A cancellation token. A task that represents the completion of closing the solution or folder. Request that project load events be raised. If this method is not called, instances of will not raise the , , events. A cancellation token. A task representing the async operation. Gets the values of the properties for the solution. Array of unique integer identifiers of solution properties. A cancellation token. An array of property values that are of type or a array element for any unsupported properties, including when a property value was not of the type . Gets solution context related telemetry properties. Array of solution context telemetry property names. A cancellation token. An array of property values. Loads projects without requiring any dependencies to be loaded returning a . The GUIDs of the projects. A cancellation token. Returns a . Describes the state of an open solution and/or folder. Gets the path to the open solution file, if any. Gets the path to the open folder, if any. Represents results from loading a project. Used in . Enum tracking open result. No projects got loaded. Some projects were loaded. Some unsupported project load was blocked as incompatible. Gets or sets property tracking the actual project load result. Event data for the project loaded event. Initializes a new instance of the class. Unique identifier of the loaded projects. Gets unique identifier of the loaded projects. Unique identifier of the projects. Event data for project load status. Initializes a new instance of the class. The name of the project that is loading. Number of projects that have loaded so far. Total number of projects to load. Gets the name of the project that is loading. Gets number of projects that have loaded so far. Gets total number of projects to load. Event data for the project unloaded event. Initializes a new instance of the class. Unique identifier of the unloaded projects. Gets unique identifier of the loaded projects. Unique identifier of the projects. Represents different reasons for unloading a project. Used in . Default reason to unload the project. The user unloaded the project. The project load is pending and will happen if needed. The project was unloaded because project migration/upgrade failed. The project was unloaded because project target is not supported by current version or edition of Visual Studio. The project must be retargeted before it can be reloaded. The project was unloaded because some components (Visual Studio components or SDKs) are not installed on the system, and the components are essential for the proper operation of this project. In order to be loaded, the project has to install the missing components. The project is incompatible. Provides a way to interact with tool windows. Implemented by the platform's window management system. Shows the tool window associated with the given identifier. The tool window identifier. Whether or not to activate the tool window while showing it. Activation moves focus into the tool window. A to cancel the in-progress request. A representing the asynchronous operation. Hides the tool window associated with the given identifier. The tool window identifier. A to cancel the in-progress request. A representing the asynchronous operation. Provides a way to expose tool windows. Implemented automatically by the extension in response to declaring a tool window. Creates and initializes the tool window associated with the given identifier. The tool window's identifier. A to cancel the in-progress initialization. The representing the tool window's UI content. Gets the title of the tool window associated with the given identifier. The tool window's identifier. A to cancel the in-progress request. The tool window's title. Notifies that the tool window associated with the given identifier is being shown. The tool window identifier. A to cancel the in-progress request. A representing the asynchronous operation. Notifies that the tool window associated with the given identifier is being hidden. The tool window identifier. A to cancel the in-progress request. A representing the asynchronous operation. Attaches an observer that receives updates about tool window property changes. The tool window property change observer. A to cancel the in-progress request. An object that can be disposed to unsubscribe the observer. The arguments that are sent to the IObserver when a tool window property changes. Initializes a new instance of the class. The identifier for the tool window. The name of the tool window property that changed. The new value of the tool window property that changed. Gets the identifier of the tool window whose property changed. Gets the name of tool window property that changed. Gets the new value for the tool window property that changed. Buttons to display in the dialog. Hides all of the dialog buttons. Shows a single close button. Shows a single OK button. Shows an OK and Cancel button. An set options for a dialog. Initializes a new instance of the class. The dialog buttons to display in the dialog. The dialog button to set as the default. Gets the option for only having the Close button with it set as the default. Gets the option for only having the OK button with it set as the default. Gets the option for having OK and Cancel buttons with OK set as the default. Gets the dialog buttons to display in the dialog. Gets the dialog button to set as the default. The result returned from the dialog indicating the action the user took. The dialog was closed via the or using an action provided by the content. The user clicked the Close button. The user clicked the OK button. The user clicked the Cancel button, or clicked the nonclient close button, or pressed the Esc key. Provides services for prompting the user. Prompts the user to select from a set of options. The message to display. The options to present to the user. The index of the option to use as the default. A cancellation token. indicating the user's response. Shows a modal dialog. The content of the dialog. /// The title of the dialog. The options for displaying the dialog. A to cancel the in-progress request. The that represents the button or action invoked by the user. An option for a user prompt. Initializes a new instance of the class. The text of the option. Gets an instance representing a missing . Gets the text of the option. The result of a user prompt. Initializes a new instance of the class. Whether the user dismissed the prompt without a selection. The selected option or . Initializes a new instance of the class. Sets to . The option selected by the user. Gets an instance representing the user dismissed the prompt without a selection. Gets a value indicating whether the user dimissed the prompt without a selection. Gets the option selected by the user. The nested class. Provides by-value equality and hashing functions. A by-value equality comparer for . The type of key used in the dictionary. The type of value used in the dictionary. The singleton instance. Enables formatting the default/empty class. The singleton instance of the formatter to be used. A converter to allow to be serialized by its . Enables formatting the default/empty class. The singleton instance of the formatter to be used. Options to control scrolling behavior of the document view when navigating to a . Ensure that the start of the range is visible if it is impossible to display the entire range. Do the minimum amount of scrolling to display the range in the view. Always center the range in the view. Ensure that the end of the range is visible if it is impossible to display the entire span. If none of the text in the range is currently visible, center the span in the view. Enables formatting the default/empty class. The singleton instance of the formatter to be used. Structure identifying a project context's state at the time of setting Diagnostics. Initializes a new instance of the structure. Struct creation will automatically assume that this project is not active at the time of creation. Please use the init accessor for to indicate otherwise. The name of the project in which the diagnostic was generated. The context in which the diagnostic was generated (e.g. win32, macOS). The unique context guid identifier used by the consumer to uniquely identify contexts. Gets the name of the project. Gets the context in which the diagnostic was generated (e.g. win32, macOS). Gets the . This is usually the project GUID. Gets a value indicating whether the context was active at the time of state capture. Default value is false unless otherwise set. Gets the human-readable combination of the and . Displayed as "" if is null or " ()" otherwise. Indicates whether and equiavlent. Left item. Right item. True if the items are equiavlent. Indicates whether and different. Left item. Right item. True if the items are different. Compares a to an object. Object to compare to. Boolean that indicates whether they're equal or not. Gets a unique hash code for the instance called on. The hash code. Compares two to each other. Other instance to comapre against. Boolean indicating whether they are equal or not. A struct describing a span of text in a document. Used when the range for a diagnostic is unknown. Initializes a new instance of the struct. The line (0-based) of the start of the span. The offset (0-based) offset from the start of for the start of the span. The line (0-based) of the end of the span. The offset (0-based) offset from the start of for the end of the span. Gets the line (0-based) of the start of the span. Gets the offset (0-based) offset from the start of for the start of the span. Gets the line (0-based) of the end of the span. Gets the offset (0-based) offset from the start of for the end of the span. Indicates whether and equiavlent. Left item. Right item. True if the items are equiavlent. Indicates whether is less than . Left item. Right item. True if is less than . Indicates whether is less than or equal to . Left item. Right item. True if is less than or equal to . Indicates whether is greater than . Left item. Right item. True if is greater than . Indicates whether is greater than or equal to . Left item. Right item. True if is greater than or equal to . Indicates whether and different. Left item. Right item. True if the items are different. A derived type that adds common converters. This class is *INTERNAL* so that it's safe to modify the set of converters without worrying about breaking external code. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Allows type hierarchies to be de/serialized by automatically applying, and then reading, an additional json property with a type discriminator value. In addition to the , the base type should also be decorated with one or more . The base type of the hierarchy. All subtypes in the type hierarchy must support initialization via a constructor. This converter will not work with subtypes that only have default constructors and writable properties. Initializes a new instance of the class, using '$rpctype' for the name of the property that stores the type discriminator value. Failures in type discrimation will throw. must be a concrete type. To use an abstract type for use either the overload or . Initializes a new instance of the class, using '$rpctype' for the name of the property that stores the type discriminator value. Whether the converter should return null as the fallback value instead of the base type. Initializes a new instance of the class, using '$rpctype' for the name of the property that stores the type discriminator value. Whether the converter should return null as the fallback value instead of the base type. The name of the json property used to hold the type discriminator value. Initializes a new instance of the class, using '$rpctype' for the name of the property that stores the type discriminator value. A type used as a fallback value when type discrimination fails. Failures can occur when the type disciminator value is null, not a string, or does not correspond to a known type. Initializes a new instance of the class, using as the fallback type. The name of the json property used to hold the type discriminator value. Initializes a new instance of the class. A type used as a fallback value when type discrimination fails. Failures can occur when the type disciminator value is null, not a string, or does not correspond to a known type. Pass null to have the converter return null when type discrimination fails. The name of the json property used to hold the type discriminator value. Initializes a new instance of the class. The name of the json property used to hold the type discriminator value. A type used as a fallback value when type discrimination fails. Failures can occur when the type disciminator value is null, not a string, or does not correspond to a known type. Pass null to have the converter return null when type discrimination fails. When a is applied to a type using the , that converter will usually take precedence. This can lead to infinite recursion when trying to deserialize to . When applied to this contract resolver allows us to get default de/serializing behavior for without the infinite recursion. Used with the to define the types in a hierarchy and their associated discriminator value. Apply this to the base type of the type hierarchy, one for each subtype. When the base type is concrete and might also be serialized to JSON, this should also be applied to the base type itself. Initializes a new instance of the class, using the short name of the as the discriminator value. The type represented by the discriminator value. Initializes a new instance of the class. The type represented by the discriminator value. The discriminator value used to represent the type. Must not be null, empty or consist only of whitespace. The must be unique within a discriminated type hierarchy. Gets the type represented by the discriminator value. Gets the discriminator value that represents the type. This service is intended to be used as a means of getting various version information. Gets a containing version information about VS. A CancellationToken. A containing version information about VS. Describes version information of a running Visual Studio instance. Initializes a new instance of the class. The version of the exe. The version of the live share extension. Initializes a new instance of the class. The version of the exe. A computationally comparable version of the primary server process. The version of the live share extension. Gets the display version of the primary server process. This string may *not* be safely parsed with . Gets a computationally comparable version of the primary server process. This will be null from Visual Studio versions prior to v16.8. Gets the Live Share version of the server. This string can be safely parsed with . A collection of documented monikers for to represent various sensitive operations within Visual Studio, along with convenience methods for creating these instances. The moniker used to represent modifying a file within the open solution or folder. The moniker used to represent executing a build or other task defined within the open solution or folder. The moniker used to represent spawning a process defined by a project in the open solution or folder, possibly with a debugger attached. The moniker used to represent a check for whether the client is owned by the same user account that owns the host and therefore merits full owner trust permissions. Creates a new that represents a operation. An instance of that may be passed to . Creates a new that represents a operation. An instance of that may be passed to . Creates a new that represents a operation. An instance of that may be passed to . Creates a new that represents a operation. An instance of that may be passed to . This attribute is deprecated in favor of System.Diagnostics.CodeAnalysis.ExperimentalAttribute. VS2019 Update 10 services. VS2019 Update 11 services. Provides access to Visual Studio services, by version. VS2019 Update 4 services. VS2019 Update 5 services. VS2019 Update 6 services. VS2019 Update 7 services. VS2019 Update 8 services. VS2019 Update 9 services. VS2022 services. VS2022 services. VS2022 services. VS2022 services. VS2022 services. VS2022 services. Gets the services available in Visual Studio 2019 Update 10. Enumerates the services available in Visual Studio 2019 Update 10. The singleton instance of this class. Initializes a new instance of the class. Gets the for the file system service. Use the interface for the client proxy for this service. Gets the for the TraceHubRegistration service. Use the interface for the proxy for this service. Gets the services available in Visual Studio 2019 Update 11. Enumerates the services available in Visual Studio 2019 Update 11. The singleton instance of this class. Initializes a new instance of the class. Gets the services available in Visual Studio 2019 Update 4. Enumerates the services available in Visual Studio 2019 Update 4. The singleton instance of this class. Initializes a new instance of the class. Gets the for the settings manager service. Use the interface for the client proxy for this service. Gets the for the output channel store service. Use the interface for the client proxy for this service. Gets the for the open document service. Use the interface for the client proxy for this service. Gets the for the open document service. Use the interface for the client proxy for this service. Gets the for the manifest service which discloses information about services available at a remote source. Use the interface for the client proxy for this service. Gets the services available in Visual Studio 2019 Update 5. Enumerates the services available in Visual Studio 2019 Update 5. The singleton instance of this class. Initializes a new instance of the class. Gets the for the single file generator. Use the interface for the client proxy for this service. Gets the for the solution service. Use the interface for the client proxy for this service. Gets the services available in Visual Studio 2019 Update 6. Enumerates the services available in Visual Studio 2019 Update 6. The singleton instance of this class. Initializes a new instance of the class. Gets the for the connected workspace service. Use the interface for the client proxy for this service. Gets the for the file system service. Use the interface for the client proxy for this service. Gets the for the extension metadata service. Use the interface for the client proxy for this service. Gets the for the version info service. This service is available on a Live Share guest or Codespace client and provides version information regarding the Live Share host or Codespace server. Use the interface for the client proxy for this service. Gets the for the profile file invisible editor service. Use the interface for the client proxy for this service. Creates a for an extension to the service. An extension to the service must implement and can optionally implement . The service moniker. The service descriptor. Gets the services available in Visual Studio 2019 Update 7. Enumerates the services available in Visual Studio 2019 Update 7. The singleton instance of this class. Initializes a new instance of the class. Gets the for the diagnostic manager service. Use the interface for the client proxy for this service. Gets the for the diagnostic viewer service. Use the interface for the client proxy for this service. Gets the for the open document service. Use the interface for the client proxy for this service. Gets the for the solution service. Use the interface for the client proxy for this service. Gets the for the file system service. Use the interface for the client proxy for this service. Gets the for the context rule monitoring service. Use the interface for the client proxy for this service. Gets the for the context rule monitoring service. Use the interface for the client proxy for this service. Gets the services available in Visual Studio 2019 Update 8. Enumerates the services available in Visual Studio 2019 Update 8. The singleton instance of this class. Initializes a new instance of the class. Gets the for the open document service. Use the interface for the client proxy for this service. Gets the for the file system service. Use the interface for the client proxy for this service. Gets the for the output channel store service. Use the interface for the client proxy for this service. Note: A new descriptor will be created everytime this is used. This is to avoid loading Nerdbank.Streams early in VS startup. Gets the for the service to report missing brokered services to. Use the interface for the client proxy for this service. Gets the services available in Visual Studio 2019 Update 9. Enumerates the services available in Visual Studio 2019 Update 9. The singleton instance of this class. Initializes a new instance of the class. Gets the for the diagnostic manager broadcast service. Use the interface for the client proxy for this service. This service is used when the diagnostics being set via the service are not meant to be applied to the local instance of VS, but instead only to remote instances after broadcasting. Gets the for the cache feature that can be used to cache solution/folder and commit specific data such as unit test, language service related structures both locally and remotely to help speed up initialiation of those features. Use the interface for the client proxy for this service. Gets the for the client notification service. Use the interface for the proxy for this service. Gets the for the file system service. Use the interface for the client proxy for this service. Gets the for the extension resource dictionary service. Use the interface for the client proxy for this service. Gets the for the solution service. Use the interface for the client proxy for this service. Applies the recommended settings to a given and returns the modified version. The descriptor to modify. The modified descriptor. Derived classes may use the C# modifier to re-declare this method to update what it does such that it only applies to new or overridden descriptor properties within that class. Always redefine when redefining this member so that it calls the new method. Creates a descriptor that is configured with the recommendations for the version of Visual Studio identified by the declaring class. The with the recommendations for this VS version applied. Gets the services available in Visual Studio 2022. Enumerates the services available in Visual Studio 2022. The singleton instance of this class. Initializes a new instance of the class. Gets the for the extension metadata service. Use the interface for the client proxy for this service. Gets the for services implementing the . This descriptor should never be sued directly but should instead be used as a template where the is replaced by the specific instance of this type of service that is being requested. Use the interface for the client proxy for this service. Gets the for the missing component registration service. Use the interface for the client proxy for this service. Gets the services available in Visual Studio 2022 Update 2. Enumerates the services available in Visual Studio 2022 Update 2. The singleton instance of this class. Initializes a new instance of the class. This override comes with important backward breaking behavioral changes in the service. Review details in the interface. Gets the for the extension metadata service. Use the interface for the client proxy for this service. Gets the services available in Visual Studio 2022 Update 3. Enumerates the services available in Visual Studio 2022 Update 3. The singleton instance of this class. Initializes a new instance of the class. Gets the of progress reporting service for VS extensions. Gets the of the document service. Gets the of the environment variable service. Gets the of the user prompt service. Gets the of the tool window manager. Use the interface for this service. Gets the services available in Visual Studio 2022 Update 4. Enumerates the services available in Visual Studio 2022 Update 4. The singleton instance of this class. Initializes a new instance of the class. Gets the of the document service. Gets the services available in Visual Studio 2022 Update 4. Enumerates the services available in Visual Studio 2022 Update 4. The singleton instance of this class. Initializes a new instance of the class. Gets the of the audit log service. Gets the services available in Visual Studio 2022 Update 6. Enumerates the services available in Visual Studio 2022 Update 5. The singleton instance of this class. Initializes a new instance of the class. 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