Does Visual Studio Code support language servers written in C# - visual-studio-code

I've taken a look at the VS Code documentation on creating a language server but can only see reference to a nodejs implementation. Is there SDK support for creating a language server written in C#? Ultimately this would be a DNX or Core 1.0 library.

It doesn't matter which language is being used to create a language server. as long as you are able to communicate with it from within Visual Studio Code.
A common way to establish the communication is made by using the VSCode Language Server Protocol.
You can build your language service in C#, Java, C++, Delphi or whatever language as long as you create a command line server which is able to handle that protocol.
You can see how a language server in C# is implemented when you take a look at the OmniSharp project.

Related

Is it possible to access a VSCode language server from another application?

According to the overview at https://microsoft.github.io/language-server-protocol/overviews/lsp/overview/, VSCode language servers are essentially JSON-RPC servers. Once VSCode is open and running at least 1 language server, how can you tell what port that language server is running on in order to access it from outside of VSCode?
I want to make an experimental application where a VSCode language server is the back-end for a custom code editor that runs in a separate process.
A language server is usually a console application launched by VSCode based on configuration, and its stdin/stdout streams are redirected. There is no port opened usually. Aka, JSON-RPC is a protocol over stdin/stdout, not JSON over HTTP.
If you want to integrate a language server with your own editor, you might fully implement the language server protocol client on the editor side, so that it can perform the same language server process management and stdin/stdout stream redirection. There are many open source projects out there for famous editors, such as
https://github.com/autozimu/LanguageClient-neovim
https://github.com/atom-community/atom-languageclient
Depending on the programming language your editor is built upon, you can find more specific examples to follow.

Building a tool to leverage the Language Server Protocol in general and VSCode's ~/.vscode/extensions as a server launch mechanism in particular

I am developing a free software code coverage tool that leverages LSP. I do not want to reinvent the wheel in order to specify and launch a particular language server. What seems to make sense is to use VSCode to obtain the LS extension from the marketplace which will establish an entry in ~/.vscode/extensions. Once I have the extension on my computer I would use it to launch the LS much as VSCode does.
So now I need to grok this extension format to develop a launcher inside my tool. I am looking for specs, examples, tutorials, code or other material that will help, especially from other developers who have done this already.
I am already quite familiar with the LSP spec and some Microsoft VSCode sites and articles, fwiw.
Perhaps a link to the VSCode source where it leverages an extension to launch a language server would be helpful.

Is LabVIEW one of the supported languages for protocol buffers for gRPC?

I'm currently working on creating a LabVIEW server and LabVIEW client for gRPC.
I would like to know if LabVIEW is one of the supported languages for protocol buffers for gRPC?
There is an open source repository where NI has been building tools to enable users to create a LabVIEW Server gRPC interface: https://github.com/ni/grpc-labview
There is not currently a lot of client support for gRPC in LabVIEW.
LabVIEW is not currently supported for gRPC, for official information on supported languages refer to the gRPC Languages page.
There have been attempts at implementation using either C++, .Net or Python integration but no official packages that I am aware of.
Full gRPC implementation in a language is a pretty complex process that must enable a language to build classes based on the configuration of a Protobuf definition file.

How to connect existing Language Server to a new VS Code extension

VS Code lets you to install a Language Server like ccls or clang as another extension. But how do I connect it to my new custom extension? I can see information how to write your own language server, but not how to leverage existing ones.

What is the difference between the way that mono generates a web service proxy and the way visual studio does?

What is the difference between the way that mono generates a web service proxy and the way visual studio does?
By this I mean that in the mono world, you pop a terminal and type in:
wsdl http://whateverlalala.com?wsdl
Whereas in the visual studio world you pop open a command prompt and type in:
svcutil.exe http://whateverlalala.com?wsdl
In mono, the generated .cs file looks significantly different than the one that svcutil creates, and svcutil also makes a .config file that mono's tool doesn't. I'm not sure why these are so different, or what the significance of that is.
In Mono, you appear to be using the tool for legacy ASMX service technology. Svcutil is for the current WCF service technology.
Have you tried to use svcutil in Mono? I don't do any Mono development, so I don't know whether it's available.