-
Notifications
You must be signed in to change notification settings - Fork 671
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prototype extension API support #5884
Conversation
Adds a new experimental API to the C# extension that allows other extensions to communicate with the C# language server. This API is not yet finalized and may change in the future. Relates to dotnet/roslyn#68696.
@jasonmalinowski @dibarbet any further feedback? |
* upstream/main: (26 commits) Update Roslyn server (#5925) Add call to setupTelemetryEnvironmentAsync (#5922) Fix static variables used in determineBrowserType (#5919) Update debugger packages to 2.0.2 (#5914) Bump semver from 5.6.0 to 5.7.2 Add determineBrowserType to CSharpExtensionExports (#5911) Remove pwa- prefix from BlazorDebug (#5908) Update roslyn Try a less recent Razor version deleted extra space in readme small edits to readme Update regexes Remove unsupported feature Add task for updating Razor deps Allow updatePackageDependencies to work with Razor (well, with prerelease packages) Bump Razor to 7.0.0-preview.23328.2 Update README.md to make runtime extension note numbered Update README.md to notify user about .NET Runtime Tool Add write permissions to job Update release-ci.yml ...
cd9f9f3
to
7960c60
Compare
return vscode.extensions.all.flatMap((extension) => { | ||
const loadPaths = extension.packageJSON.contributes?.['csharpExtensionLoadPaths']; | ||
if (loadPaths === undefined || loadPaths === null) { | ||
_traceChannel.appendLine(`Extension ${extension.id} does not contribute csharpExtensionLoadPaths`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given this is the common case, just skip the logging here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I figure that's what trace logging is for: the common case that someone is trying to debug what's happening.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the _traceChannel though the LSP channel? @dibarbet?
return vscode.extensions.all.flatMap((extension) => { | ||
const loadPaths = extension.packageJSON.contributes?.['csharpExtensionLoadPaths']; | ||
if (loadPaths === undefined || loadPaths === null) { | ||
_traceChannel.appendLine(`Extension ${extension.id} does not contribute csharpExtensionLoadPaths`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the _traceChannel though the LSP channel? @dibarbet?
@333fred just to let you know that I can see/access the experimental API from the latest released extensions. Looking forward to documentation on how we can use it to replace our O# hooks 😄 |
@spouliot that's fine. Just note that any api in there will definitely change, even if we ship it for real as is, since we will need to move it from the |
Adds a new experimental API to the C# extension that allows other extensions to communicate with the C# language server. This API is not yet finalized and may change in the future. Relates to dotnet/roslyn#68696.