Skip to main content

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 the VS Code IDE installed.
Then, you can install the Cadence extension from the VS Code Marketplace.

Developing the Extension

Prerequisites

  • 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!