• Stars
    star
    858
  • Rank 53,134 (Top 2 %)
  • Language
    F#
  • License
    MIT License
  • Created about 9 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

VS Code plugin for F# development

Enhanced F# Language Features for Visual Studio Code

Part of the Ionide plugin suite. Read detailed documentation at Ionide docs page.

Version Installs Rating open collective backers open collective sponsors Open in Gitpod

You can support Ionide development on Open Collective.

Open Collective

Description

Ionide-VSCode is a VSCode plugin that turns VSCode into a fully-fledged IDE for F# development.

The LSP that powers language features is FSAutoComplete.

The library that powers project and script loading is proj-info

You find a version of this plugin pre-packaged with the FOSS debugger from Samsung here

Requirements

Features

  • Syntax highlighting
  • Auto completions
  • Error highlighting, error list, and quick fixes based on errors
  • Tooltips
  • Method parameter hints
  • Go to Definition
  • Peek Definition
  • Find all references
  • Highlighting usages
  • Rename
  • Show symbols in file
  • Find symbol in workspace
  • Show signature in status bar
  • Show signature as CodeLens / LineLens
  • Go to MSDN help
  • Add open NAMESPACE for symbol
  • Match case generator
  • Go to #load reference
  • Generate comment for the symbol
  • Integration with F# Interactive
  • Integration with Forge (Project scaffolding and modification)
  • Integration with FSharpLint (additional hints and quick fixes)
  • Integration with MSBuild (Build, Rebuild, Clean project)
  • Solution / project explorer
  • And more...

How to Contribute

Ths project is hosted on GitHub where you can report issues, participate in discussions, fork the project and submit pull requests.

Building and Running

See these instructions for setting up your local dev environment.

Guidelines

The Contribution Guide outlines the process and guidelines for getting a patch merged. By making expectations and process explicit, I hope it will make it easier for you to contribute!

Releasing

  • Update RELEASE_NOTES.md with the new version number, date (DD.MM.YYYY format please), and brief release notes.
  • Push the change to the main branch
  • A maintainer can run the release workflow from Github's actions page at that point

Imposter Syndrome Disclaimer

I want your help. No really, I do.

There might be a little voice inside that tells you you're not ready; that you need to do one more tutorial, or learn another framework, or write a few more blog posts before you can help me with this project.

I assure you, that's not the case.

And you don't just have to write code. You can help out by writing documentation, tests, or even by giving feedback about this work. (And yes, that includes giving feedback about the contribution guidelines.)

Thank you for contributing!

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Copyright

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

Our Sponsors

Ionide couldn't be created without the support of Lambda Factory. If your company would be interested in supporting development of Ionide, or acquiring commercial support send us an email - [email protected].

You can also support Ionide development on Open Collective.

Partners

drawing

Sponsors

Become a sponsor and get your logo on our README on Github, description in the VSCode marketplace and on ionide.io with a link to your site.

More Repositories

1

FsAutoComplete

F# language server using Language Server Protocol
F#
413
star
2

Fornax

Scriptable static site generator using type safe F# DSL to define page templates.
F#
244
star
3

Forge

F# CLI tool for project, file, and solution management
F#
231
star
4

Ionide-vim

F# Vim plugin based on FsAutoComplete and LSP protocol
Vim Script
175
star
5

ionide-atom-fsharp

Set of Atom plugins for F# development
F#
174
star
6

tree-sitter-fsharp

F# grammar for treesitter
C
82
star
7

Waypoint

Opinionated solution template for building F# OSS libraries and tools.
F#
76
star
8

FSharp.Analyzers.SDK

Library for building custom analyzers for F# / FSAC
F#
74
star
9

proj-info

Parse and evaluate MsBuild project files
F#
64
star
10

FsAst

http://blog.ctaggart.com/2014/09/generating-f-code-using-its-ast.html
F#
48
star
11

LanguageServerProtocol

Library for building Language Server Protocol servers and clients in F#.
F#
45
star
12

ionide-vscode-paket

VS Code plugin for Paket
F#
40
star
13

fstoml

Lightweight TOML based F# project file
F#
36
star
14

ionide-fsgrammar

Shared Textmate Regex Style F# Language Grammar
F#
35
star
15

FSharp.EventHorizon

Experiment with F#, type holes, and type-directed search using F# Analyzers
F#
32
star
16

KeepAChangelog

Parser and MSBuild Targets for using Keep-A-Changelog-formatted Changelogs in your Build
F#
30
star
17

Falcon

FSI β™₯️ IDE
F#
20
star
18

ionide-vscode-mechanic

Mechanic plugin for VS Code
F#
17
star
19

DependencyManager.FsProj

Dependency Manager loading fsproj into FSI instance
F#
17
star
20

ionide-vscode-fake

VS Code plugin for FAKE
F#
17
star
21

ionide-vscode-helpers

Common helpers for VS Code plugins
F#
15
star
22

FsInteractiveService

F# interactive service API exposed via a lightweight HTTP server
F#
14
star
23

playground

Empty F# project that can be opened in Visual Studio Online or Gitpod
Dockerfile
13
star
24

ionide-atom-paket

Atom editor support for Paket.
F#
13
star
25

ionide-atom-fsi

F#
11
star
26

forge-templates

F# Project and Solution Templates for Forge
F#
8
star
27

Discover-Panel

Extension creating alternative UX for real-time API exploration in VSCode
TypeScript
8
star
28

ionide.github.io

Ionide.io page
CSS
6
star
29

ionide-analyzers

F#
6
star
30

ionide-atom-installer

JavaScript
5
star
31

dotnet-devcontainer

Basic Devcontainer example for C# + F# dev
Dockerfile
4
star
32

ionide-atom-fake

F#
3
star
33

LSIF-Reader

TypeScript library for reading LSIF files, and providing editor tooling based on them
TypeScript
3
star
34

ionide-atom-webview

F#
1
star