Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>ink! analyzerNew to Visual Studio Code? Get it now.
ink! analyzer

ink! analyzer

ink! analyzer

|
855 installs
| (2) | Free
ink! language support for Visual Studio Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ink! analyzer for Visual Studio Code

ink! language support for Visual Studio Code.

ink! is a programming language used for writing smart contracts for blockchains built with Substrate.

Features

  • diagnostics - errors and warnings based on ink! semantic rules.
  • quickfixes - suggested edits/code actions for fixing diagnostic errors and warnings.
  • completions - inline code suggestions for ink! attribute macros, arguments and items for defining and configuring your ink! smart contract's storage, constructors, messages, events, errors, tests and much more.
  • code/intent actions - contextual assists for:
    • adding relevant ink! attribute macros, arguments and items
    • migrating ink! projects to newer versions of ink! (e.g. ink! 4.x to 5.0)
    • extracting ink! items (e.g. ink! events) into standalone packages
    • and more!
  • inlay hints - inline type and format information for ink! attribute argument values (e.g. u32 | _| @ for ink! message selectors).
  • signature help - popup information for valid ink! attribute arguments for the current context/cursor position.
  • hover content - popup documentation for ink! attribute macros and arguments.
  • commands - triggers for custom functionality like creating a new ink! project with a contract stub or restarting/stopping the ink! language server.

Screenshots

Completions

contract completions

message completions

Diagnostics

anonymous diagnostic

constructor &self receiver diagnostic

Quick Fixes

constructor &self receiver quickfix

message self reference receiver quickfix

Code Actions

contract mod code action

impl code action

Inlay Hints

selector: u32 | _ inlay hint

Signature Help

message signature help

Hover content

env hover content

Commands

command palette

status bar commands

Recommendations

ink! is built on top of Rust, so you'll have a much better experience with both rust-analyzer and ink! analyzer enabled.

Extension Settings

This extension provides the following settings:

  • ink-analyzer.server.path: (Optional) Sets the path to ink! Language Server (ink-lsp-server) binary/executable (points to the bundled binary/executable that ships with the extension by default).
  • ink-analyzer.trace.server: (Optional) Enables/disables tracing of the communication between VS Code and the ink! Language Server (not recommended for regular users).

Development and Testing

Check out the Development and Testing Guide.

License

Licensed under GPL-3.0.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the GPL-3.0 license, shall be licensed as above, without any additional terms or conditions.

Acknowledgements

🎨 Illustration by: Dima Moiseenko

🌱 Funded by: the Web3 Foundation and Polkadot Treasury.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft