-
Notifications
You must be signed in to change notification settings - Fork 416
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
Use new Roslyn Completion List API for IntelliSense #78
Comments
epic |
👍 reflection ftw |
I have a working impl of this in our codebase but it throws under Mono presently with a not-very-helpful error. Haven't had a chance to dig through that yet. Also theres an internal extension method on document to help create the service, might be better to use that in case it gets more MEFy:
|
Nice! I would like to make something like that public at some point after I make something like ICompletionProvider public (my current side project). |
Seems that the features assembly doesn't yet have a nuget package - dotnet/roslyn#572 |
@Pilchie, while you're doing that, how about moving @nosami I think OmniSharp would also benefit from this. The signature help provider is much better at providing both method and argument IntelliSense than the Recommender. |
Tagging @DustinCampbell on this too. |
I'm going to tracking this over at dotnet/roslyn#3538 |
And here: dotnet/roslyn#3540 |
👍 |
And if anyone's interested, the branch I'm working out of is at https://github.com/DustinCampbell/roslyn/tree/completion-api. |
Hi @DustinCampbell, can you please give an example on how to use the completion API in your branch? |
Patience. 😄 I'm actively integrating it back into Roslyn proper as an internal API. Once that happens, I'll run it through a formal API design process and we'll make it public. |
OK, thanks. I was under the impression that you are nearly done :P |
Getting pretty close (for example: dotnet/roslyn#3955). I've been on vacation the past several weeks so work halted for a bit. I'm moving much faster now. |
I need a script editor that provides intellisense and squiggling. With Recommender I am not able to get the "keywords" which was possible ICompletionService which was public in earlier versions of Roslyn. Can you please let me know whether we have any thing similar to ICompletionService that is public in the latest version or any update on making "ICompletionService" public? |
This was implemented in Roslyn with #8170. A public completion API is now available. I'll own integrating it in OmniSharp. |
What is the status of this? I see that a pull requests #583 was merged in June which seems to implement the new completion API, but when I compile the dev branch and point my VSCode workspace to it - I see no change in auto-completion of object initializers and constructors - still no show? (dotnet/vscode-csharp#260 ) Isn't the new completion API supposed to resolve this? "csharp.omnisharp" : "C:/code/omnisharp-roslyn/artifacts/publish/OmniSharp/default/netcoreapp1.0/OmniSharp.exe"
|
#583 uses the new completion API with the same OmniSharp end point. Currently, it only uses the completion API to retrieve the available keywords (which allowed me to remove a ton of code from OmniSharp). I've been looking at this and believe that a new v2 end point will be needed to properly target the completion API. |
Following. |
Any progress or changes? |
@DustinCampbell so now there's even a v3 of the protocol https://microsoft.github.io/language-server-protocol/specification :). I'd love to see this happening... |
@kzu -- what, specifically, would you like to see? The work tracked here isn't related to LSP. |
Would like to see the full completion, and ideally even with some way to configure additional completion providers exported somehow to OmniSharp :) |
Internal, but much better. Handles keywords, snippets, named parameters, object initializer etc.
https://github.com/dotnet/roslyn/blob/47ff630cc838b56248022c1d494299f35daec474/src/Features/CSharp/Completion/CSharpCompletionService.cs
The text was updated successfully, but these errors were encountered: