Skip to content
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

Autocomplete compatibility fix part 2 #199

Merged
merged 16 commits into from
Jan 21, 2025

Conversation

PiotrKarczmarz
Copy link
Collaborator

Autocomplete loads and initialize via MEF independently from the main extension. It allows to avoid extension crashes in Visual Studio versions below 17.6, which doesn't support using Microsoft.VisualStudio.Language library, more precisely Microsoft.VisualStudio.Threading v17.6 (check #198).

If the current VS version supports Microsoft.VisualStudio.Language, Cody.VisualStudio.Completions.dll will be silently loaded via MEF. Otherwise, Cody.VisualStudio.Completions.dll won't be loaded, but the main extension will be working.

In the future, if Visual Studio will introduce breaking changes to Microsoft.VisualStudio.Language API, the main extension with chat will still be working, but autocomplete will be silently turned off.

It was tested against VS versions:

17.7.6
17.9 Preview 2
17.10.3
17.12
17.13.0 Preview 2.1

Test plan

Test autocomplete using your current VS version, and others if they are available.

Copy link

github-actions bot commented Jan 17, 2025

Test Results

25 tests  +25   23 ✅ +23   18m 49s ⏱️ + 18m 49s
 1 suites + 1    2 💤 + 2 
 1 files   + 1    0 ❌ ± 0 

Results for commit df1ae0d. ± Comparison against base commit d0f2fc0.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@kalanchan kalanchan left a comment

Choose a reason for hiding this comment

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

approving to unblock

…ft.VisualStudio.Language v17.6.268

 - StreamJsonRpc was automatically added as dependency after referencing VisualStudio.Language
…on doesn't support Microsoft.VisualStudio.Language library:

 - Autocomplete code moved to Cody.VisualStudio.Completions project, loaded as independent dll when VS starts - main Cody.VisualStudio.dll is loaded separately by VS
 - Cody.VisualStudio.Completions.dll is loaded as separated Mef dll (vsixmanifest changes)
 - Cody.VisualStudio.Completions.dll is automatically packaged to VSIX installer (Cody.VisualStudio.csproj changes)
 - Cody.VisualStudio project doesn't have dependency on Microsoft.VisualStudio.Language (no more crashes when Microsoft.VisualStudio.Language is not supported by specific VS version)
…alStudio.csproj

  - error MSB4006: There is a circular dependency in the target dependency graph involving target "ResolveProjectReferences". [\src\Cody.VisualStudio.Completions\Cody.VisualStudio.Completions.csproj]
@PiotrKarczmarz PiotrKarczmarz force-pushed the piotr/autocomplete-loaded-independently-via-mef branch from f2d222f to c4cc7d9 Compare January 21, 2025 15:36
@PiotrKarczmarz PiotrKarczmarz merged commit 10b0860 into main Jan 21, 2025
6 checks passed
@PiotrKarczmarz PiotrKarczmarz deleted the piotr/autocomplete-loaded-independently-via-mef branch January 21, 2025 18:32
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.

2 participants