3 ms·
Omnisharp[1] is build on top of Roslyn so as for now it supports only C# / VB. As far as I know they are working on adding plugin support for it for non-Roslyn
by k_cieslak 11y ago
Omnisharp[1] is build on top of Roslyn so as for now it supports only C# / VB. As far as I know they are working on adding plugin support for it for non-Roslyn language so maybe in the future we will have F# plugin there ( actually, as far as I know, that's MSFT plan for adding F# support in VS Code)
F# has had opensourced compiler[2] (written in F#) before it was cool in .Net stack and for most tooling things we are using FSharp.Compiler.Services[3] project - which basically provides all features of F# compiler (and much more) as normal .Net library. Projects like Visual F# Power Tools[4] and Xamarin Studio F# support[5] are using it to provide very interesting F# IDE features.
Since Vim, Emacs, Sublime and Atom (even though Ionide is written in F# and compiled to JS we can't use all .Net libraries) don't have direct access to .Net assemblies, community have created FsAutoComplete[6] project which is just command line wrapper around FSharp.Compiler.Services and works as "standard I/O server" where we send requests (for example if user wants completion list) and get appropriate responses.
[1] http://www.omnisharp.net/ http://www.omnisharp.net/
[2] https://github.com/Microsoft/visualfsharp https://github.com/Microsoft/visualfsharp
[3] https://github.com/fsharp/FSharp.Compiler.Service https://github.com/fsharp/FSharp.Compiler.Service
[4] https://github.com/fsprojects/VisualFSharpPowerTools https://github.com/fsprojects/VisualFSharpPowerTools
[5] https://github.com/fsharp/xamarin-monodevelop-fsharp-addin https://github.com/fsharp/xamarin-monodevelop-fsharp-addin
[6] https://github.com/fsharp/FsAutoComplete https://github.com/fsharp/FsAutoComplete
- josteink 11y ago> Omnisharp[1] is build on top of Roslyn so as for now it supports only C# / VB That is fairly new code. It was based on NRefactory in the past which I thought was reflection-based, but I may have been wrong.
- cloudroutine 11y agoThat was Omnisharp-Server, they only switched over to the Omnisharp-Roslyn[1] implementation a few months ago. [1] https://github.com/OmniSharp/omnisharp-roslyn https://github.com/OmniSharp/omnisharp-roslyn
- wluu 11y ago> for now it supports only C# / VB Nope, there is not any support for VB at this point in time. It's C# only I'm afraid! As cloudroutine mentions, the older omnisharp-server implementation is NRefactory based, whilst omnisharp-roslyn (as the name implies) has been built atop roslyn. omnisharp-roslyn retains a bit of NRefactory (the code actions part[1]), which was called NR6Pack and has now been renamed as Refactoring Essentials [2]. Anyway, there's been a lot of recent changes in the works, as someone has already mentioned, omnisharp-rolsyn currently has an open PR [3] which will provide a plugin system to omnisharp-roslyn. Once introduced, it will mean that the various omnisharp editors/clients can pick and choose which plugins they wish to bundle with their editor. This may include F#, VB, Cake, Fake and many others. New contributors are, as always most welcome :) --- [1] https://github.com/OmniSharp/omnisharp-roslyn/blob/f62e74324e76aa702083bfe749d293c2b3eb4777/src/OmniSharp/Startup.cs#L94 https://github.com/OmniSharp/omnisharp-roslyn/blob/f62e74324... [2] http://vsrefactoringessentials.com http://vsrefactoringessentials.com [3] https://github.com/OmniSharp/omnisharp-roslyn/pull/293 https://github.com/OmniSharp/omnisharp-roslyn/pull/293
- beefsack 11y ago> F# has had opensourced compiler Not just open source, it's free under the Apache license. https://github.com/Microsoft/visualfsharp/blob/master/License.txt https://github.com/Microsoft/visualfsharp/blob/master/Licens...