Skip to main content
Version: Current

Cadence VS Code Extension

This extension integrates Cadence, the resource-oriented smart contract programming language of Flow, into Visual Studio Code. It provides features like syntax highlighting, type checking, code completion, etc.

Note that most editing features (type checking, code completion, etc.) are implemented in the Cadence Language Server.

Features

  • Syntax highlighting (including in Markdown code fences)
  • Run the emulator, submit transactions, scripts from the editor

Installation

To install the extension, ensure you have VS Code installed and have configured the code command line interface.

Using the Flow CLI

The recommended way to install the latest released version is to use the Flow CLI.

script

_10
brew install flow-cli

Check that it's been installed correctly.

script

_10
flow version

Next, use the CLI to install the VS Code extension.

script

_10
flow cadence install-vscode-extension

Restart VS Code and the extension should be installed!

Developing the Extension

Pre-requisites

  • Must have Typescript installed globally: npm i -g typescript

Getting Started

  • Run the Typescript watcher: tsc -watch -p ./
  • Launch the extension by pressing F5 in VSCode
  • Manually reload the extension host when you make changes to TypeScript code

Configuration for Extension Host if Missing (launch.json):


_13
{
_13
"version": "0.2.0",
_13
"configurations": [
_13
{
_13
"type": "extensionHost",
_13
"request": "launch",
_13
"name": "Launch Extension",
_13
"runtimeExecutable": "${execPath}",
_13
"args": ["--extensionDevelopmentPath=${workspaceFolder}"],
_13
"outFiles": ["${workspaceFolder}/out/**/*.js"]
_13
}
_13
]
_13
}

Building

If you are building the extension from source, you need to build both the extension itself and the Flow CLI (if you don't already have a version installed). Unless you're developing the extension or need access to unreleased features, you should use the Flow CLI install option (above). It's much easier!

If you haven't already, install dependencies.

script

_10
npm install

Next, build and package the extension.

script

_10
npm run package

This will result in a .vsix file containing the packaged extension.

Install the packaged extension.

script

_10
code --install-extension cadence-*.vsix

Restart VS Code and the extension should be installed!