Skip to content

Check for C# extension dependencies at runtime#2088

Merged
baronfel merged 2 commits intoionide:mainfrom
dbrattli:main
May 30, 2025
Merged

Check for C# extension dependencies at runtime#2088
baronfel merged 2 commits intoionide:mainfrom
dbrattli:main

Conversation

@dbrattli
Copy link
Contributor

Why

We should not have a hard dependency on ms-dotnettools.csharp since that makes it impossible to use Ionide with forks os VScode e.g Cursor. This PR does the check at runtime instead adding recommended extensions to the Extension Pack tab instead.

Fixes #2087

How

  • Check for valid C# extensions at runtime instead of in the manifest
  • Suggest valid dependencies ast Extension Pack instead to allow for easy navigation to required C# extension
  • Give error message if no valid C# extension can be found

@dbrattli dbrattli changed the title Check for C# extension dependendies at runtime Check for C# extension dependencies at runtime May 21, 2025
Copy link
Contributor

@baronfel baronfel left a comment

Choose a reason for hiding this comment

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

This seems like an easy substitution - really the only thing we use the C# extension for today is debugging related, so another way this could be handled instead of blocking is to

  • do capabilities-based detection (probing for the 'coreclr' debug type)
  • in the debugging code, if debugging isn't available throw a message/notification to the user directing them to the extensions panel for the C# extension that's present in their environment

@baronfel baronfel merged commit 6b2f94f into ionide:main May 30, 2025
2 checks passed
@baronfel
Copy link
Contributor

Thanks for this - we'll get a release out later today US time

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.

Ionide and Cursor (C# Anysphere)

3 participants