-
Couldn't load subscription status.
- Fork 2.8k
Add instructions for use with .NET 6.0 #4205
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
Conversation
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.
Thanks.
Reviewed 1 of 1 files at r1.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @dkaszews)
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.
Reviewed all commit messages.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @dkaszews)
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #4205 +/- ##
==========================================
+ Coverage 88.82% 89.90% +1.07%
==========================================
Files 34 34
Lines 4404 4408 +4
==========================================
+ Hits 3912 3963 +51
+ Misses 492 445 -47 |
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.
Finally got time to review stuff!
Reviewed 1 of 1 files at r1, all commit messages.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @dkaszews)
README.md line 1409 at r1 (raw file):
1. Run `dotnet sln add <project1.csproj> <project2.csproj> ...` for all of your projects 1. Run `:YcmRestartServer`
I'm going to nitpick a little.
Having :YcmRestartServer at the end implies, at least to me, that you can switch to .NET 6.0 without restarting vim. However, changing g:ycm_roslyn_binary_path will require a restart. We only read the global config once.
Suggestions:
- For step 2, suggest putting
g:ycm_roslyn_binary_pathinto vimrc. You need not, but then you need to usevim --cmd 'let g:ycm_roslyn_binary_path=whatever', which is clumsy. - Either drop the last step or suggest a complete vim restart.
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.
Reviewable status: 1 of 2 LGTMs obtained (waiting on @bstaletic)
README.md line 1409 at r1 (raw file):
Previously, bstaletic (Boris Staletic) wrote…
I'm going to nitpick a little.
Having
:YcmRestartServerat the end implies, at least to me, that you can switch to .NET 6.0 without restarting vim. However, changingg:ycm_roslyn_binary_pathwill require a restart. We only read the global config once.Suggestions:
- For step 2, suggest putting
g:ycm_roslyn_binary_pathinto vimrc. You need not, but then you need to usevim --cmd 'let g:ycm_roslyn_binary_path=whatever', which is clumsy.- Either drop the last step or suggest a complete vim restart.
Are you sure about that? Because I have checked the instructions I wrote and at least the option in question is reloaded by :YcmRestartServer:
:YcmDebugInfo
-- OmniSharp executable: /usr/bin/mono /home/dkaszews/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/cs/../../../third_party/omnisharp-roslyn/omnisharp/OmniSharp.exe -p 45591 -s /home/dkaszews/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/tests/cs/testdata/testy/testy.sln
:let g:ycm_roslyn_binary_path = '/home/dkaszews/code/omnisharp/omnisharp.http-linux-x64-net6.0/OmniSharp'
:YcmRestartServer
:YcmDebugInfo
-- OmniSharp executable: /home/dkaszews/code/omnisharp/omnisharp.http-linux-x64-net6.0/OmniSharp -p 59517 -s /home/dkaszews/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/ycmd/tests/cs/testdata/testy/testy.slnThere 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.
- ycm-core/ycmd#1717 - Gopls upgrade.
- ycm-core/ycmd#1720 - Provide diagnostic kind in detailed diagnostic.
- ycm-core/ycmd#1719 - Unicode 15.1 upgrade.
- ycm-core/ycmd#1711 - Allow MSVC preview detection from build.py.
- ycm-core/ycmd#1721 - Properly handle
g:ycm_roslyn_binary_path.
Reviewed 1 of 1 files at r2, all commit messages.
Reviewable status: 1 of 2 LGTMs obtained (and 1 stale) (waiting on @dkaszews)
README.md line 1409 at r1 (raw file):
Are you sure about that?
Obviously I'm not. You were right and this change is fine.
|
Vim tests now failing? |
|
Don't really know how to read the logs, which errors are expected and which not, but it kinda looks like the error is in a C++ test around line 34000, so unlikely to be caused by my most recent changes. Easiest diagnostic step would be to trigger tests for each of the new ycmd commits, can't do it myself since this is my first commit to this repo. |
|
Looks like a slight change in the diagnostics output : Likely caused by: ycm-core/ycmd#1720 - Provide diagnostic kind in detailed diagnostic. |
|
pushed a fix |
|
OK it seems the problems are more deep rooted! |
dd6abc0 to
ddef8b9
Compare
|
ok, fixed a ton more issues |
233d54d to
3cd2228
Compare
Broken by ycm-core/ycmd#1720 - Add diagnostic type to output Inexplicable syntax errors Missing semantic_highlighting groups lead to unexpected output Improve diagnostic test failure messages - print the popup positions
3cd2228 to
79e3753
Compare
|
Looks like |
but.. only on old vim ._0 |
|
Green as well! |
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.
Reviewed 1 of 3 files at r4, 3 of 3 files at r7, all commit messages.
Reviewable status: 1 of 2 LGTMs obtained (and 1 stale) (waiting on @dkaszews)
|
Thanks for sending a PR! |
PR Prelude
Thank you for working on YCM! :)
Please complete these steps and check these boxes (by putting an
xinsidethe brackets) before filing your PR:
rationale for why I haven't.
actually perform all of these steps.
Why this change is necessary and useful
Adds instructions for using YCM with .NET 6.0 and newer, as it is currently not supported out of the box and configuring it has difficult to diagnose gotchas. Switching defaults to .NET 6.0 version of OmniSharp-Roslyn for out-of-the-box support breaks a bunch of tests in
ycmd, lacking resources to fix.Removal of necessisity for solution files is possible, but requires some future work as YCM internally associates files with their solutions and therefore OmniSharp server instances; removing them causes issues.
After merge, add the following to FAQ linking to the new section:
Q: My C# projects compile, but YCM shows false-positive syntax errors
A: You may be trying to use features from .NET 6.0 or newer, which is not supported out of the box, see README
Q: My C# projects compile without solution files, but YCM just shows "Missing solution file":
A: YCM currently uses solution files for internal bookkeeping, see README
Q: YCM only provides autocomplete for C# system modules, but not for any nuget dependencies
A: Your solution file may be missing references to some projects, see README
Q: YCM shows my C# file is fine, but it fails to actually compile
A: Your solution file may be missing references to some projects, see README
No tests - documentation only.
This change is