Bash IDE

Visual Studio Code extension utilizing the Bash Language Server and integrating with explainshell, shellcheck and shfmt.
We recommend that you install shellcheck to enable linting and install shfmt to enable formatting.
Features
- [x] Jump to declaration
- [x] Find references
- [x] Code Outline & Show Symbols
- [x] Highlight occurrences
- [x] Code completion
- [x] Simple diagnostics reporting
- [x] Documentation for flags on hover
- [x] Workspace symbols
- [x] Rename symbol
- [x] Format document
- [x] Snippets
Configuration
To get documentation for flags on hover (thanks to explainshell), run a compatible explainshell JSON API server and update your VS Code settings:
"bashIde.explainshellEndpoint": "http://localhost:5000",
The server requests <endpoint>/explain?cmd=... and expects JSON, not the HTML returned by the standard explainshell website. Each entry in matches must include start and end offsets and either inline helpHTML or a helpclass referencing a [html, helpclass] pair in helptext. For example:
{
"matches": [{ "start": 0, "end": 2, "helpclass": "help-0" }],
"helptext": [["list directory contents", "help-0"]]
}
If your API serves /api/explain, include /api in bashIde.explainshellEndpoint.
For security reasons, it defaults to "", which disables explainshell integration. When set, this extension will send requests to the endpoint and displays documentation for flags. We recommend using a local Docker image (see https://github.com/bash-lsp/bash-language-server/issues/180).