This extension adds Flow support for VS Code. Flow is a static type checker, designed to find type errors in JavaScript programs.
Follow the instructions for VS Code extension installation and install the Flow Language Support
extension.
- Flow is supported on Mac, 64-bit Windows, and Linux, follow flowtype.org to get started
- You need a
.flowconfig
in your workspace to enable the flow features - Make sure you are able to run the
flow
command from the command line ( or you haveflow.useNPMPackagedFlow
option intrue
) - Set workspace preference with
"javascript.validate.enable": false
.
You can specify a configuration by amending the VS Code settings.json
file. Access this through Preferences -> Settings. You must reload VS Code after installing this extension for these settings to take affect.
flow.pathToFlow
(default: 'flow') path to Flow that will be used for VSCode or Projectflow.stopFlowOnExit
(default: true) stop flow server on exit from Projectflow.enabled
(default: true) you can disable flow for some Project for exampleflow.useNPMPackagedFlow
(default: false) you can also run Flow by defining it in yourpackage.json
flow.showStatus
(default:true
) Iftrue
will display a spinner in the status-bar while flow is type checking.flow.runOnEdit
(default:true
) Iftrue
will run flow on every edit, otherwise will run only when changes are saved.flow.runOnAllFiles
(default:false
) Run Flow on all files, No need to put//@flow comment
on top of files.
- IntelliSense
- Go to Definition / Peek Definition
- Diagnostics (Errors, Warnings)
- Hover type information
- Toggle-able Code Coverage reports
- You should set workspace preference to disable default syntax validation from Visual Studio Code:
"javascript.validate.enable": false
. - There are some aspects of Flow syntax which are not supported by the default VS Code JavaScript grammar, if you're having problems with syntax try JavaScript Atom Grammar.
First, follow the instructions to setup your launch configuration file, launch.json
.
To use flow-remove-types:
- Follow the flow-remove-type Quick Start.
- In
launch.json
, add"runtimeArgs": ["-r", "flow-remove-types/register"]
to the "launch" configuration.
To use Babel:
- Follow the Babel Quick Start.
- Install babel-register.
- In
.babelrc
, add"retainLines": true
. - In
launch.json
, add"runtimeArgs": ["-r", "babel-register"]
to the "launch" configuration.
This plugin is built on top of Nuclide's Flow support.
- please refer to CONTRIBUTING.md