-
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
Is OmniSharp outdated? #3324
Comments
From the
This isn't the same as OmniSharp that YCM uses. Roslyn is newer and the legacy one, used by YCM, isn't supported any more. The ycmd repo has this issue open: ycm-core/ycmd#1082 |
Thank you for your answer. I will close this now. |
You can pull in the latest legacy OmniSharp completer by going into You can also check out ycm-core/ycmd#885. |
I can't even build it. (I am NOT very good at git). I did: and then /home/tb/.local/share/nvim/plugged/YouCompleteMe/third_party/ycmd/cpp/BoostParts/libs/python/src/converter/builtin_converters.cpp:51:35: error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive] |
That file hasn't been part of our codebase for a very long time now. You need to update YCM's submodules. In the YCM directory run |
By only supporting C# versions that are several years old you are essentially taking C# away from the vast majority of users of YouCompleteMe so the pragmatic way forwards seem to be to just disable fixits for C#. |
PRs welcome I suppose. None of the core YCM developers use c# regularly, so there's little impetus for us to change. When I do use OmniSharp at work for projects, it works fine for me. |
@puremourning There was a PR though, but it was rejected because fixits are not supported. I'd have made a PR for this months ago if that were not the case. Shame your work projects are using such an old version of C#, the later versions provide some really nice stuff. |
No, it was rejected for all reasons given in ycm-core/ycmd#1082. |
@micbou Those comments were all either address or easily addressable, if you look further down the thread you just linked: "Apart from us not wanting to support two backends, this [fixits] is the only concern left." Fixits are also noted as being the reason for the outdated C# in a number of other threads. If the maintainers of this repo are willing to accept that fixits are an acceptable casualty (at least temporarily) to allow support for a recent version of C# then I'll get that PR back in shape. |
Also: "The problem with Roslyn is that it doesn't support FixIts and that's one of the blockers." "I suppose we need to wait for PR OmniSharp/omnisharp-roslyn#1076 then" (a PR to introduce fixits) |
First of all, YCM is a really nice tool, and I like it a lot!
I have however noticed that the OmniSharp completion seems to be out of date (Yes, I use the newest version). A few examples:
This is omnisharp-vim with Ale used as a linter:
It correctly captures that I can't use f.CountToTen. Now YCM installed via
./install-py --cs-completer
:Another example. This is again vim-omnisharp + ale:
And now YCM:
This is a false positive since this feature has been in C# since 2017.
It seems to me that the version of OmniSharp that YCM uses is quite old. The project linked to in the README's last update is from 2015. Is there any possibility to update to use the newer sources used by omnisharp-vim or at least a way to compile it myself with the newer source enabled?
The text was updated successfully, but these errors were encountered: