Solidity LSP server#
Woke implements an LSP server for Solidity. The only currently supported communication channel is TCP.
Woke LSP server can be run using:
Or with an optional --port
argument:
Info
Multi-root workspaces are not currently supported.
Projects using Woke LSP server#
- VS Code Extension
Configuration options#
Server configuration options are loaded using the standard interface from LSP clients. The process of setting the configuration options is client specific. Configuration changes are handled by the server, and the project is recompiled if the compilation options change.
The following configuration options are supported:
woke.compiler.solc.allow_paths
,woke.compiler.solc.evm_version
,woke.compiler.solc.ignore_paths
,woke.compiler.solc.include_paths
,woke.compiler.solc.remappings
,woke.compiler.solc.target_version
,woke.compiler.solc.via_IR
,woke.compiler.solc.optimizer.enabled
,woke.compiler.solc.optimizer.runs
,woke.lsp.code_lens.enable
,woke.lsp.detectors.enable
,woke.lsp.find_references.include_declarations
.
The semantics of these configuration options are explained in the configuration section.
Supported commands#
Woke LSP server implements the command execution provider as specified by the LSP specification. The following commands are supported:
Command | Description |
---|---|
woke.lsp.force_recompile |
Force recompile the opened project/files. Useful after modifying files outside the IDE (e.g. after installing npm packages). |
Features#
Go to definition#
Go to type definition#
Go to implementation#
Finds implementations of an unimplemented function or modifier.
Find references#
Type hierarchy#
Also works for virtual functions.
Document links#
Hover#
Includes links to documentation for OpenZeppelin contracts.
Code lens#
Number of references is shown above each declaration.
Document symbols#
Diagnostics#
Together with compiler errors, diagnostics also include results from Woke vulnerability detectors.
Rename#
Debugging#
Woke LSP server can be debugged using: