New Features and Changes of BashSupport Pro 3.0
BashSupport Pro 3.0 is a new major version, adding long-awaited new functionality and improvements.
This page is an annotated list of the most important new features and improvements since BashSupport Pro 2.1. Please refer to the complete changelog for a detailed list of changes.
BashSupport Pro 3.0 can be used with all active subscriptions, existing or new.
Annual subscriptions bought at or after 2022-10-04 receive a fallback license for version 3.0 and updates of 3.x.
Monthly subscriptions receive the same fallback license after 12 months of uninterrupted payment starting 2022-10-04.
Version 3.0 has a new trial available. Users, who already used the trial of 2.0, can now activate a new trial.
Remote development becomes more and more important. Version 3.0 is now much more suitable for remote development of shell scripts with your JetBrains IDE.
A significant new feature is remote execution and remote debugging of shell scripts.
A while ago, JetBrains introduced a new feature called run targets. It allows to execute or debug programs in remote environments like SSH hosts or Docker containers. JetBrains provides a few implementations, for example for Java and Gradle run configurations.
BashSupport Pro 3.0 supports remote execution and remote debugging for its own run configurations. For example, you can now edit a shell script on your local machine and debug it on a remote machine over SSH.
Please refer to our documentation about remote development for instructions and a list of compatible JetBrains products.
JetBrains Gateway is an alternative way to develop in a remote environment. With Gateway, the IDE is executed on the remote machine, but the user interface is displayed on your local machine.
BashSupport Pro 3.0 has been updated to full support development in a Gateway environment. Executing scripts, debugging, etc. are all working like in a local environment.
BashSupport Pro’s code insight is now more mature and allows to add advanced refactorings like “inline variable”.
You can now inline the value of shell script variables in your scripts. As in other languages, you can inline just a single occurrence or all at once.
Move Statements Up or Down
Code → Move Statement Up and Code → Move Statement Down are now supported in your shell scripts. These actions help you to quickly reorder elements of your shell scripts, especially when you’re using keyboard shortcuts.
Move Elements Left or Right
The helpful actions Code → Move Element Left and Code → Move Element Right are now available in shell scripts.
The name of heredoc markers can now be renamed.
Call and Callee Hierarchy
Navigate → Call Hierarchy is now supported for shell script functions. This feature helps to visualize how functions are called or which functions are called by a function or its callees.
Improved structure view
The structure view now displays variable declarations. Previously, only function declarations were shown in the outline.
Complete Current Statement
Code → Code Completion → Complete Current Statement is now available in shell scripts. You can use it to quickly insert the body of incomplete function declarations.
Smart Join Lines
The newly added support for Edit → Join Lines automatically inserts a semicolon
; when you join statements on different lines into a single line.
Highlighting of Exit Points
You can now highlight all statements, which terminate a function or script, at once.
Highlighting of Read/Write Status
Read-access and write-access to variable declarations is now highlighted differently.
Smarter Live Templates
There are new live template contexts now to restrict live templates to contexts, where they’re valid. All live templates were updated to be only shown in valid contexts.
Quick documentation of functions, which follow the Google Shell Style Guide, is now rendered much nicer.
Quick documentation now attempts to load content via
man instead of just
We also added quick documentation support for bats-core’s built-in functions.
The bundled version of bats-core has been updated to 1.8.2.
bats-core allows to load libraries of test functions with the help of the
Additionally, the bats-core function
bats_load_library is now supported by code completion and quick documentation in your editor.
Navigate → Test is now available for shell script files.
It navigates to a
.bats sibling of your shell script file and helps you to create it if it doesn’t exist.
For example, invoking Navigate → Test will create and open
my-file.bats if you’re editing file
Quick documentation and code completion are now available for bats-core’s builtin variables and functions. Please refer to supported bats-core functions and supported bats-core variables for an overview of all supported elements.
Highlighting of Duplicate Tests
Duplicate names of bats-core tests are now highlighted.
bats-core recently added support for
#@test as an alternative to mark functions as tests.
These two functions are both bats-core tests:
Our new version supports the new style and also offers intentions to switch between both styles.
System Requirements and Supported Plugins
Supported Operating Systems
As previous versions, BashSupport Pro is compatible with Linux, macOS, and Windows.
BashSupport Pro 3.0 now also supports Windows ARM64. Please refer to the system requirements page to learn more about it.
Supported IDEs and Plugins
Versions 2021.1 and later are supported by BashSupport Pro 3.0.
Support for 2020.1 to 2020.3 was dropped.
Please use BashSupport 2.1 if you’re still using a JetBrains IDE 2020.1, 2020.2 or 2020.3.
The integration with the 3rd-party plugin Markdown Navigator was removed. The plugin is not maintained anymore and unavailable on the JetBrains Marketplace.
The integration with Explain Shell was removed because usage was low, and it wasn’t obvious in the IDE that code snippets were sent to a 3rd party.
The latest versions of the JetBrains Markdown plugin allow to execute code blocks. BashSupport Pro 3.0 adds the ability to execute Bash and shell script code snippets directly from your editor.
BashSupport Pro is now highlighting content of
RUN elements only if the
SHELL is declared as
PowerShell code and other languages won’t be highlighted anymore.
Last but not least, the website has been updated.
- Quickstart is a step-by-step tutorial and shows how to use the basic features of BashSupport Pro.
- The features page now provides a comparison of BashSupport Pro with VSCode.
- The page about inspections now always displays all available inspections of the latest release.
- Similarly, the page about intentions is now always up-to-date, too.
- There’s a new page about remote development.
- There’s a new page about call and callee hierarchy.
- There’s a new page about structure view.
- There’s a new section about the supported refactorings of BashSupport Pro.
- The section of supported Bash features now also displays the supported bats-core functions.
- Screenshots are zoomable now. Click or tap on a screenshot to open a larger version of higher quality.
Subscribe to our newsletter to receive updates about important developments, tips, and special offers.