Motoko Extension for Zed

Project highlights

This extension enables the development of dApps and libraries using Motoko in the Zed editor.

It offers a new alternative to traditional development environments like VS Code and ICP Ninja, allowing developers to fully leverage Zed.

While VS Code’s GUI is rendered using Electron—which was originally developed for the Atom editor—Zed is a powerful editor being developed by the creators of Atom and Electron.

To overcome the drawbacks of Electron, Zed features a native GUI framework written in Rust that leverages the GPU. Combined with numerous other optimizations, it operates exceptionally smoothly and is highly regarded for its lightweight project search and “multi-buffer” functionality across multiple files.

It is also integrated with AI at a high level. Zed has co-developed the ACP (Agent/Client Protocol) with Google to facilitate collaboration with external AI agents, a project that JetBrains has also recently joined.

The project also includes improvements to the existing Motoko language server (such as enhanced hover functionality and compatibility adjustments for Zed) and the development of a brand-new Tree-sitter implementation for Candid.

Features

Motoko & Candid

  • Syntax highlighting
  • Outline view
  • Auto-indentation

Motoko only

  • Language server support
  • Format on save
  • Task integration using mops and mo-dev

How to install

Search for the Motoko extension using one of the following methods, then click “Install”:

  • Click Install in Zed on the Extensions/Motoko page of the official Zed website.
  • Open Extensions from the Zed menu and type motoko in the search bar.

Note

To use the task features, the following dependencies are required:

Documentation

For more detailed configuration instructions, please refer to the following:

README on the GitHub repository

License

Licensed under either of Apache License, Version 2.0 or MIT License at your option.

Resources

Future Plans

Candid language server

An experimental, high-speed candid-language-server written in Rust is currently under development.
You can try it out by cloning the zed-motoko/candid-lsp branch and pushing the Install Dev Extension button within Zed.

3 Likes