Move Analyzer Plus
Provides language support for the Move programming language.
Install on the VSCode Extension Marketplace: Move Analyzer Plus on the VSCode Marketplace
Currently, this means a basic grammar and language configuration for Move (.move) that enables
syntax highlighting, commenting/uncommenting, simple context-unaware completion suggestions while
typing, and other basic language features in Move files.
For information about Move visit the Move repository.
How to Install
The move-analyzer Visual Studio Code extension works via two components: the extension itself and
the move-analyzer language server.
1. Installing the move-analyzer language server
The move-analyzer language server is a Rust program that is part of the
Move repository. It may be installed in one of two ways:
- Clone the Move repository yourself and build
move-analyzer from its source code, which is especially useful if you will work on core Move.
To do so, follow the instructions in the Move tutorial's
Step 0: Installation.
- Use Rust's package manager
cargo to install move-analyzer in your user's PATH. This
is recommended for people who do not work on core Move.
- If you don't already have a Rust toolchain installed, you should install
Rustup, which will install the latest stable Rust toolchain.
- Invoke
cargo install --git https://github.com/move-language/move move-analyzer to install the
move-analyzer language server in your Cargo binary directory. On macOS and Linux, this is
usually ~/.cargo/bin. You'll want to make sure this location is in your PATH environment
variable.
To confirm that you've installed the language server program successfully, execute
move-analyzer --version on the command line. You should see the output move-analyzer 1.0.0.
2. Installing the move-analyzer Visual Studio Code extension
- Open a new window in any Visual Studio Code application version 1.55.2 or greater.
- Open the command palette (
⇧⌘P on macOS, or use the menu item View > Command Palette...) and
type Extensions: Install Extensions. This will open a panel named Extensions in the
sidebar of your Visual Studio Code window.
- In the search bar labeled Search Extensions in Marketplace, type move-analyzer. The
move-analyzer extension should appear in the list below the search bar. Click Install.
- Open any file that ends in
.move. Or to create a new file, click Select a language, and
choose the Move language. As you type, you should see that keywords and types appear in
different colors.
Troubleshooting
If you see an error message language server executable 'move-analyzer' could not be found in the
bottom-right of your Visual Studio Code screen when opening a Move file, it means that the
move-analyzer executable could not be found in your PATH. You may try the following:
- Confirm that invoking
move-analyzer --version in a command line terminal prints out
move-analyzer 1.0.0. If it doesn't, then retry the instructions in step 1. If it
does successfully print this output, try closing and re-opening the Visual Studio Code
application, as it may not have picked up the udpates to your PATH.
- If you installed the
move-analyzer executable to a different location that is outside of your
PATH, then you may have the extension look at this location by using the the Visual Studio Code
settings (⌘, on macOS, or use the menu item Code > Preferences > Settings). Search for the
move-analyzer-plus.server.path setting, and set it to the location of the move-analyzer language
server you installed.
- If the above steps don't work, then report
a GitHub issue to the Move repository to get help.
Features
Here are some of the features of the move-analyzer Visual Studio Code extension. To see them, open a
Move source file (a file with a .move file extension) and:
- See Move keywords and types highlighted in appropriate colors.
- Comment and un-comment lines of code using the
⌘/ shortcut on macOS (or the menu command Edit >
Toggle Line Comment).
- Place your cursor on a delimiter, such as
<, (, or {, and its corresponding delimiter --
>, ), or } -- will be highlighted.
- As you type, Move keywords will appear as completion suggestions.
- If the opened Move source file is located within a buildable project (a
Move.toml file can be
found in one of its parent directories), the following advanced features will also be available:
- compiler diagnostics
- go to definition
- go to type definition
- go to references
- type on hover