for IntelliJ IDEA

Compatible with all products except MPS
3 168 792
Bash language support for the IntelliJ plattform.
Supports syntax highlighting, rename refactoring, documentation lookup, inspections, quickfixes and much more.

Download plugin

Recent change notes

Changes in version 1.6.5:
  • #398: Error updating LexerEditorHighlighter, resulted in many error while working in a Bash script.
  • #399: Potential fix for java.lang.NoClassDefFoundError: BashIcons

Changes in version 1.6.4:
  • Sorry for the many releases!
  • #397: Tokens after a here string start were not always detected properly
  • Index version increased to avoid PSI index exceptions

Changes in version 1.6.3:
  • #395: Hotfix to make BashSupport work again with scripts containing errors
  • #396: Check for working directory only if the module is valid

Changes in version 1.6.2:
  • Increase stub index version to handle index vs. psi exceptions
  • Improved parsing to be more error resistant, functions and commands which contain faulty code will now be recognized more often
  • Handle line continuations in case pattern lists

Changes in version 1.6.1:
  • #361: Added support for the mapfile and readarray Bash builtin comamnds
  • #349: Support unicode characters in scripts, warn about invalid identifiers which include illegal characters
  • #392: Reformatting changes code in eval strings and redirect tokens
  • #388: Reformatting heredocs changes content
  • #350: Redirection in eval statement is flagged as error
  • #245: No possibly incorrect warnings about unused parameters if shift is used in the function inside of a loop.
  • #391: New inspection to highlighting unresolved, but globally registered variables (to have a separate highlighting level and inspection description)
  • #393: Update JFlex to the latest version
  • #357: Added a potential fix for the problem

Changes in version 1.6.0:
  • Compatible with builds >= 162.x, dropped support for builds 135.x to 161.x (Sorry! I'm unable to maintain 5 more branches.)
  • #389: Files with line continuations were not parsed properly and may break the whole project (might have broken your project!)
  • #377: NPE in UnregisterGlobalVariableQuickfix
  • #367: Fixed parsing of redirects in subshells inside of conditional commands, e.g. [[ $(< $1) ]]
  • #367: Fixed parsing of here-strings, e.g. "tr [:lower:] [:upper:] <<< [abc]"
  • #379: Undo "Register Global Variable" doesn't work
  • #368: Added debugging messages for arithmetic expressions
  • #383: Handle division by zero in arithmetic expressions and show a warning in the code
  • #388: References for files are now searched in the module content scope and not in the module scope.
  • Added support for the ## parameter expansion operator
  • #351: Added debug message for further diagnosis

Full changelog

General usage instructions

Github project:
@watercolours: You're right, that shouldn't have happened. 1.6.4 was released shortly after the bug was known and is supposed to fix this issue. I'll take even more care to make sure this won't happen again...
This plugin made IntelliJ 2016.2.3 crash on startup, every single time. It would start indexing, and when the loading bar was full, or I pressed any keys in the app, everything would freeze. Couldn't remove the plugin in application settings, so had to remove via terminal. Ended up being more way more work than it's worth...
To install the BashSupport plugin into PyCharm running on Ubuntu, I did this: 1) File->Settings->Plugins. 2) From the Plugins dialog, click Browse Repositories. 3) Type BashSupport in the search box in the upper left. 4) A description of the BashSupport plugin should appear on the right. 5) If the plugin is not already installed, an install button will appear in the description. 6) Click the install button to install the plugin. 7) To verify BashSupport is working, create a new Bash script file by File->New->BashScript. 8) BashSupport automatically adds "#!/usr/bin/env bash" to the top of the script. 9) Run->Run runs the script.
How can i install it with Pycharm?
Very useful.
So I hit a wall with this plugin. I wish to execute a script with build-in command "source" (ex: source 8). And for now I haven't found a way to do it. Any suggestions?
There's a bug with some non-standard she-bang lines. I'm using ksh, found in /bin/ksh. I've marked it as a valid command, but every time I restart IntelliJ, the warning returns.
(BashSupport's author here) The latest version 1.3.3 fixes a nasty problem: run configurations were created for non-Bash files. I strongly recommend to update to 1.3.3 if you use a previous version of 1.3.x. I'm sorry for the troubles this might have caused.
The author is popping up dialog asking for money. This is total spam.
If the author of this plugin asks for money one more time, I will uninstall the plugin.
wtf, pops up giant ad begging for money for author's upcoming wedding.
Saving "#!/usr/bin/env bash" as a valid shebang line doesn't seem to work - every time I restart IntelliJ it's marked as unknown. Using IntelliJ IDEA 13.1 Ultimate and BashSupport 1.2.
not work in 8.0.2
BashSupport is available now for the latest 14 EAP (builds 139.*).
Please make it 139.* (14 EAP) compatible.
Please  sign in  to leave a comment.