ionide-vscode-fsharp

VS Code plugin for F# development

#Ionide-VSCode: FSharp Enhanced F# Language Features for Visual Studio Code
Part of the Ionide plugin suite.

Need Help? You can find us on Gitter:

Join the chat at https://gitter.im/ionide/ionide-project

Getting Started

F# 4.0 needs to be installed on your system in order to use Ionide

For more detailed instructions on installing F# :

FSC (F# Compiler) and FSI/fsharpi on Mono (F# Interactive) need to be added to your system PATH.
The default location on Windows is

  64-bit - C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\
  32-bit - C:\Program Files\Microsoft SDKs\F#\4.0\Framework\v4.0

Quick Install Guide

Windows

You can download F# 4.0 here for Windows

Install the Microsoft Build Tools 2015

If you use chocolatey, you can install all the pre-requisites easily:

choco install windows-sdk-8.0 -y
choco install visualfsharptools -y
choco install microsoft-build-tools -y
choco install visualstudiocode -y

Mono

  • Required: Mono >= 3.10
  • Recommended: Mono >= 4.0.2

Features

  • Better syntax highlighting
  • Auto completions
  • Error highlighting and error list
  • Tooltips
  • Go to Declaration
  • Show symbols in file
  • Highlighting usages

WebPreview

WebView allows the user to override the default conventions used to run and preview web applications. To do so You need to create an .ionide file in the root folder of Your project opened by VSCode. The configuration file uses the TOML language.

Here is the default configuration values used if the .ionide file doesn’t exist or some entry is missing:

[WebPreview]
linuxPrefix = "mono"
command = "packages/FAKE/tools/FAKE.exe"
host = "localhost"
port = 8888
script = "build.fsx"
build = "Serve"
startString = "listener started"
parameters = []
startingPage = ""
  • linuxPrefix - command used as prefix on Linux / Mac - usually sh or mono

  • command - path to FAKE.exe

  • host - address of webpage displayed in WebPreview - usually localhost

  • port - port of webpage displayed in WebPreview (also passed to FAKE as environmental variable)

  • script - FAKE build script passed to FAKE - usually build.fsx

  • build - FAKE build target executed to start WebPreview

  • startString - string which needs to be printed out in standard I/O to let know WebPreview to display webpage

  • parameters - list of parameters passed to FAKE.exe

  • startingPage - webpage displayed in WebPreview - usually or index.html

How to contribute

  1. Clone repo
  2. Run build.cmd Build (or build.sh Build)
  3. Open folder in VSCode code .
  4. Make changes
  5. Press F5 to build plugin and start experimental instance of VSCode
  6. Make PR ;)

How to get logs for debugging / issue reporting

  1. Enable Logging in User settings with

    // FSharp configuration
    // Set the verbosity for F# Language Service Output Channel
    "FSharp.logLanguageServiceRequestsOutputWindowLevel": "DEBUG",
    
    
    // Enable logging language service requests (FSAC)  to an output channel, the developer tools console, or both
    "FSharp.logLanguageServiceRequests": "both"
    
  2. Open the Output Panel and switch to the F# Language Service Channel

  3. Or Toggle Developer Tools (Help |> Toggle Developer Tools) and open the console tab

Contributing and copyright

The project is hosted on GitHub where you can report issues, fork the project and submit pull requests.

The library is available under MIT license, which allows modification and redistribution for both commercial and non-commercial purposes.

Related Repositories

ionide-vscode-fsharp

ionide-vscode-fsharp

VS Code plugin for F# development ...


Top Contributors

Krzysztof-Cieslak cloudRoutine adamchester kirill-gerasimenko forki rojepp oxxa hyperlobic Neftedollar vasily-kirichenko denskh duckmatt lilred azumikav adicirstei baronfel CumpsD janno-p jbeeko CrshOverride 2moveit kerams

Releases

-   2.7.0 zip tar
-   2.6.14 zip tar
-   2.6.13 zip tar
-   2.6.12 zip tar
-   2.6.11 zip tar
-   2.6.10 zip tar
-   2.6.9 zip tar
-   2.6.8 zip tar
-   2.6.7 zip tar
-   2.6.6 zip tar
-   2.6.5 zip tar
-   2.6.4 zip tar
-   2.6.3 zip tar
-   2.6.2 zip tar
-   2.6.1 zip tar
-   2.5.5 zip tar
-   2.5.4 zip tar
-   2.5.3 zip tar
-   2.5.2 zip tar
-   2.5.1 zip tar
-   2.5.0 zip tar
-   2.4.3 zip tar
-   2.4.2 zip tar
-   2.4.1 zip tar
-   2.4.0 zip tar
-   2.3.0 zip tar
-   2.2.18 zip tar
-   2.2.17 zip tar
-   2.2.16 zip tar
-   2.2.15 zip tar