-
Notifications
You must be signed in to change notification settings - Fork 648
Trial use of Go language server by sourcegraph #706
Comments
The branch langserver has the integration with the language server from source graph. The below features are configured to be using the language server
At the moment, the first 3 features work as expected. Edit on 19/1/2017: The last 2 features work now as well. |
I assume this feature would be online only, would we keep the existing features as a fallback? Sending code to a remote server might also be a blocker for some companies |
This is not an online feature. The language server will be hosted in the user's machine. |
fyi: "File Outline" aka you might want to ping @sqs (https://github.com/sqs). |
@ramya-rao-a try on the latest master, I fixed that bug last week. |
@keegancsmith Just tried. Both File Outline and Workspace Symbols work now. |
The latest update of the Go extension (0.6.54) has the integration with the language server available via a setting |
FYI, this implementation doesn't seem to show struct details whereas the default implementation shows struct members on hover. |
I agree with @junkblocker, this is quite a big regression. I rely quite heavily on seeing the struct members on hover to populate the fields. I only turned on the option tonight so I didn't get to really experience the new language server but overall it seems really much faster, especially to find references. Should we open a new issue? Do we know if that's the limitation of the language server or the integration? |
Thanks for trying it out and posting. It's a relatively simple fix to github.com/sourcegraph/go-langserver to make it show struct fields in hovers. That fix will be in within 24 hours. |
@sqs awesome, I was wondering, what do you think about versioning the go-langserver so we could check that the user doesn't have version that is too old and potentially suggest and update? |
@junkblocker Thanks for catching this! Created sourcegraph/go-langserver#168 to track the struct members not being shown on hover issue. sourcegraph/go-langserver#154 is tracking ways we can have sync between the version of language server the Go extension expects user to have and the version user actually has. @sqs can you provide thoughts there? |
Hovers with struct fields coming soon :) sourcegraph/go-langserver#169 Also adding a |
The issue I have with using There might be features in the language server in the future that the extension is not ready for or the features might be in a alpha/beta stage and not ready themselves to be used by the extension (one example is the diagnostics which had to be reverted) This is not usually the problem with rest of the Go tools we depend on, as they have been stable for a while. We are looking into having a post install step in the Go extension, that gets the right version of the language server during install/update of the extension. Created #828 for the same |
@ramya-rao-a given we aren't a library we don't have to strictly adhere to semantic versioning. We can only use the major version when doing a release, so when .v2 is tagged it will never change. The next time we tag a release it will be .v3 (not v2.1, etc). If we stick to that, you should be able to rely on doing |
@keegancsmith Sure that works |
http://langserver.org is the detailed list of current status of LSP implementations for various languages
https://github.com/sourcegraph/go-langserver is the LSP implementation for Go by SourceGraph
https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md is the complete list of features by LSP
Currently supported features by Go LSP
- Hover info
- Go to definition
- Symbols
- Find all references
This issue is to track the work of possibly using the LSP by sourcegraph for Go in the Go extension for VS Code
The text was updated successfully, but these errors were encountered: