Features of BashSupport Pro

The comparison is between the latest release of BashSupport Pro and the JetBrains Shell plugin coming with JetBrains IDE 2021.3. JetBrains Shell is bundled with most IDEs of JetBrains – in our opinion it works well for occasionally viewing, editing and running of shell scripts.

BashSupport ProJetBrains Shell
Debugger → more

bashdb debugger integration to debug shell scripts with the JetBrains debugger UI.

Test Runner → more

bats–core test runner integration using the JetBrains test framework UI.

Shareable, Cross‐Platform Run Configurations → more

BashSupport Pro offers multiple alternatives to determine the interpreter automatically.

JetBrains Shell configures a specific interpreter in each run configuration, which prevents sharing them with your team across platforms.

Google Shell Style Guide → more

BashSupport Pro supports Google’s Shell Style Guide with inspections, quick fixes, and a formatter preset.

Code Completion → more

BashSupport Pro suggests functions, variables, Bash and POSIX builtins.

JetBrains Shell only suggests words found in the current file. Function names are suggested for variables, for example.

Highlight Usages → more

BashSupport Pro highlights identifiers that refer to the same entities.

JetBrains Shell highlights by text occurrence, so that variables, functions, keywords, and string literals can all be highlighted at once.

Rename Variable Refactoring

BashSupport Pro renames your variable definitions and all references across multiple files.

Go to Declaration for Variables → more

BashSupport Pro finds your variable definitions across files. It follows source commands, ShellCheck directives and looks into user-defined shell script libraries.

Multi-File Navigation → more

BashSupport Pro follows source commands, supports ShellCheck’s source directive, project-wide variables and user-defined shell script libraries.

source Command Support → more

Rename, Go to Declaration and other features follow the source command. load of bats-core is also supported.

Language Injection → more

Code injection into Bash skript files is available for strings and here documents, including smart escape and substitution handling.
Injection of Bash into other languages is also supported: it automatically injects into Markdown code fences, Travis CI YAML, Codefresh YAML, and anywhere you request it to.

Code Folding → more

BashSupport Pro comes with powerful code folding and also supports Vim-style custom code folding.

JetBrains Shell does not fold subshells, conditional commands, arithmetic commands, case commands, and compound bodies of functions other than {} blocks.

Rename Function Refactoring

BashSupport Pro renames across multiple files.

JetBrains Shell only supports the current file.

Go to Declaration for Functions → more

BashSupport Pro finds your function definitions across multiple files.

JetBrains Shell only considers the current file.

Here Document Support

BashSupport Pro can highlight and refactor all substitutions nested in here documents.

JetBrains Shell does not recognize variables or other substitutions in here documents.

Documentation Lookup → more

BashSupport Pro supports info, help, and comments in the source. It also provides documentation for all Bash and POSIX variables.

JetBrains Shell only supports info.

ShellCheck Support → more

BashSupport Pro bundles signed ShellCheck 0.8.0 binaries and provides a user-friendly integration to apply fixes and to suppress warnings. For macOS, a universal binary is bundled.

JetBrains Shell offers to download unsigned 0.7.1 binaries from JetBrains’ servers.

Formatter → more

BashSupport Pro bundles signed binaries of shfmt 3.4.1 and supports formatting of remote and bats-core files.

JetBrains Shell offers to download unsigned binaries of shfmt 3.3.1 from GitHub project and only supports local files.

Run Configurations → more

BashSupport Pro supports Windows path mapping (WSL, MSYS Git Bash, Cygwin), inline snippets, and a lot more.

To Do Highlighting

BashSupport Pro supports multi-line TODO comments.

JetBrains Shell does not.

Spellchecker Support → more

BashSupport Pro bundles dictionaries with common command names to avoid spamming your editor with warnings.

Inspections → more

BashSupport Pro provides 20+ additional inspections on top of the ShellCheck integration.

JetBrains Shell relies solely on ShellCheck.

Indent Lines
Highlight URLs in Strings
Syntax Highlighting
Brace Matching
Structure View
Live Templates
Scripts Without File Extension
explainshell integration
© 2020–2022 Joachim Ansorg
Privacy Policy