3 ms·
F# has been working well enough on Mac for many years. Even if You won't like Ionide (I hope You will like it ;) ) it's worth checking different projects which
by k_cieslak 11y ago
F# has been working well enough on Mac for many years. Even if You won't like Ionide (I hope You will like it ;) ) it's worth checking different projects which allow for F# development on Mac - Xamarin Studio has very good F# support, there are also Vim, Emacs, and Sublime Text 3 plugins / modes for F# (all 3 for core F# language services features are using same backend as Ionide).
Also in context of cross platform development - there exists also F# yeoman generator which provides some nice templates for F# projects outside of VS.
- josteink 11y ago> (all 3 for core F# language services features are using same backend as Ionide). Would that be Omnisharp[1], or does the F# community use something different? [1] http://www.omnisharp.net/ http://www.omnisharp.net/
- cloudroutine 11y agoIt's not Omnisharp, we use FsAutocomplete[1] which is essentially a wrapper around the FSharp.Compiler.Service[2] [1] https://github.com/fsharp/FsAutoComplete https://github.com/fsharp/FsAutoComplete [2] http://fsharp.github.io/FSharp.Compiler.Service/ http://fsharp.github.io/FSharp.Compiler.Service/
- k_cieslak 11y agoOmnisharp[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...