Skip to content

Storage account for Copilot language server #8408

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

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

AbhitejJohn
Copy link
Contributor

@AbhitejJohn AbhitejJohn commented Jul 9, 2025

This is primarily an implementation of David Barbet's suggestion that helps with our dev inner-loop reducing the amount of dependencies across repos. With the roslyn copilot language server coming in from the storage account, changes are no longer required in C# Dev Kit to point to the right language server.

Todo

  • Deploy the bits to the storage account.
  • Ensure there is a pipeline that can deploy.
  • Update vs-green to skip pulling in the bits.
  • Orchestrate a release.

Validation

Ensured that the context provider is indeed invoked after my changes. It pulls in the binary from the new location. So this was a debug setup on a windows devbox. I do not think other OS's could cause a problem but I'll figure out what it would take to validate this on mac and linux as well.

…nt instead of relying on its presence in C# Dev Kit.
package.json Outdated
{
"id": "RoslynCopilotLanguageServer",
"description": "Language server for Roslyn Copilot integration (Windows)",
"url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.12/omnisharp-linux-musl-arm64-net6.0-1.39.12.zip",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This url will change

"arm64"
],
"installTestPath": "./.roslyncopilotlanguageserver/Microsoft.VisualStudio.Copilot.Roslyn.LanguageServer.dll",
"integrity": "9944EBD6EE06BD595BCADD3057CD9BEF4105C3A3952DAE03E54F3114E2E6661F"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so will this.

Copy link
Member

@dibarbet dibarbet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

know this is a draft, just wanted to make a couple small notes

@AbhitejJohn
Copy link
Contributor Author

know this is a draft, just wanted to make a couple small notes

Thank you, feedback is welcome. This is change is mostly ready. I'm just trying to get the bits deployed, so I can update the url and the sha before its good to merge.

"description": "Language server for Roslyn Copilot integration (Windows)",
"url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.12/omnisharp-linux-musl-arm64-net6.0-1.39.12.zip",
"installPath": ".roslyncopilot",
"platforms": [
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if there is a better way of specifying support for all platforms and architectures the extension supports, I'd love to put that in so this list is a little more maintainable.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could introduce the concept of "neutral" which would be a catch-all. Are there no plans to generate R2R builds of these libraries?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps, in the future?
On the "neutral" piece, is that something we have the liberty to configure? I thought this was a fixed schema of some sort.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is used by the PackageManager functionality which builds out of our repo. In particular we would update our package filter to also include these "neutral" packages

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, gotcha. As long as that's the only place that needs a change, happy to make that update. Thought this was consumed by other tooling. Thanks for the confirmation 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants