Compatible with all products except MPS
2 518 075
Bash language support for IntelliJ.
Supports syntax highlighting, rename refactoring, documentation lookup, inspections, quickfixes and much more.

Download plugin


Update date

Recent change notes

Changes in version 1.5.8 compared to 1.5.7:
  • BashSupport development is on hold. I'm unable to continue to ship a high quality plugin with my very limited spare time. Most of the other Top-10 plugins are either made by JetBrains or are commercial offerings. Further development may happen in 2017. Please accept my apologies...
  • Features removed:
    • #333: Marked support for escapes in evaluated code as experimental. A proper fix needs major work on the lexer framework and is currently not fully supported. There is a new experimental setting in the BashSupport settings dialog. Use it at your own risk.
  • Bugs fixed:
    • #310: The parsed now accepts more deeply nested command lists
    • #310: The parsed now accepts more deeply nested command lists
    • #329: "Unexpected Token" Error For Associative Array
    • #343: Exception "isExpectingEvaluatingHeredoc called on an empty marker stack "
    • Parsing for arithmetic expression in evaluating heredocs
Changes in version 1.5.7 compared to 1.5.6:
  • Bugs fixed:
    • #339: Update failed for AnAction with ID=ExternalJavaDoc (ClassCastException)
    • #340: isExpectingEvaluatingHeredoc called on an empty marker stack
    • #341: Exception "The inString stack should not be empty"
    • #342: Exception "Index out of range: -1" at beginning of file
Changes in version 1.5.6 compared to 1.5.5:
  • Bugs fixed:
    • #89: Function expands incorrectly when defined above another function
    • #125: Array element gives "Unexpected token"
    • #310: Workaround for deeply nested structures
    • #320: Array use in arithmetic expressions wasn't working as expected
    • #321: Handle leading tabs before heredoc end markers in heredocs started with the marker
    • #324: Error reporting component is broken
    • #327: Heredoc parser doesn't recognize \$( or \${ construction
    • #330: Variable declarations in eval code now accepts variables on the left side of an assignment
    • #331: NPE in HereDoc parsing
    • #332: NPE in enter processor
    • #333: ClassCastExceptions in ManpageDocSourc
    • #334: Potential fix for the lexing state errors
    • Removed Bash facet, it wasn't used any more. Also, facets are unavailable on the minor platform products.
    • Switched the exception error reporting to use https.
Changes in version 1.5.5 compared to 1.5.4:
  • Bugs fixed:
    • No keyword and live-template autocompletion in command arguments
    • Performance fixes for less latency in the editor
    • Variables and functions can now be resolved in scratch files again
    • #297: File includes with directories or / in the path reference are not working as expected
    • #298: Global variable, when used locally, mistakenly marks readonly error if set readonly within function
    • #300: Variables are not recognized in case
    • #303: Multiline lists not recognised
    • #306: Index access during dumb mode
    • #306: Could not initialize class nu.studer.idea.errorreporting.PluginErrorReportSubmitterBundle
    • #308: Grouping in test commands not properly parsed
    • #312: Newlines are not accepted in parameter expansions
    • #313: More gentle parsing for empty command lists for: for, while, until, if, select.
Changes in version 1.5.4 compared to 1.5.3:
  • Bugs fixed:
    • #299: ClassNotFound exception in PHPStorm
Changes in version 1.5.3 compared to 1.5.2:
  • Features:
    • Up to 35x faster file highlighting
    • Improved eval and trap parsing
    • Composed commands (if,while,do,case,...) may be the body of a function, i.e. without curly brackets
  • Bugs fixed:
    • #286: Eval parsing of code not inside a string
    • #263: Warning for modifications of variables re-defined as readonly
New features in version 1.5.x compared to 1.4.x:
  • #90: Language injection into unevaluated heredoc content, single and double quoted strings
  • #274: Spellchecker support for double-quoted strings, single-quoted strings and heredoc content
  • Bash code passed to eval in single quotes ('') is now parsed, too
  • Files usages in strings are now processed during a file rename if the option is enabled.
  • Renaming files in non-source directories
  • References to other Bash script files will now be renamed if the filename is changed
  • Bash version 4 support is now enabled by default

Full changelog

General usage instructions

Github project: