-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Add instructions for use with .NET 6.0 #4205
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_path
into 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
:YcmRestartServer
at the end implies, at least to me, that you can switch to .NET 6.0 without restarting vim. However, changingg: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_path
into 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.sln
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.
- Upgrade gopls to 0.14.0 ycmd#1717 - Gopls upgrade.
- [READY] Add diag kind to /detailed_diagnostic response ycmd#1720 - Provide diagnostic kind in detailed diagnostic.
- [READY] Update unicode support to version 15.1 ycmd#1719 - Unicode 15.1 upgrade.
- msvc: Allow building with Visual Studio Preview versions ycmd#1711 - Allow MSVC preview detection from build.py.
- Fix g:ycm_roslyn_binary_path being ignored 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
x
insidethe 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