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 diagnostic errors and warnings.
completions - completion suggestions for ink! attribute macros and arguments.
code/intent actions - contextual assists for adding relevant ink! attribute macros and arguments to relevant items.
hover content - descriptive/informational text for ink! attribute macros and arguments.
inlay hints - inline type and format information for ink! attribute arguments values (e.g. u32 | _ for ink! selector).
signature help - popup information for valid ink! attribute arguments for the current context/cursor position.
Screenshots
Completions
Diagnostics
Quick Fixes
Code Actions
Hover content
Inlay Hints
Signature Help
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).
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.