• Home
  • Portfolio
  • Produkte
    • HandyBirthdays
    • BashSupport für IntelliJ®
  • Scala Newsletter
    • [Ausgabe 1] Boxing / Unboxing in Scala
    • [Ausgabe 2] Scala 101: Einführung
  • Referenzen
  • Kontakt
Joachim Ansorg IT-Services
This page in English

Produkte: BashSupport für IntelliJ® IDEA

Bash Unterstützung für IntelliJ® IDEA

Mit BashSupport erhalten Sie die Unterstützung von Bash-Skriptdateien für IntelliJ® IDEA 9.x. BashSupport ist OpenSource Software.

Wichtige Links

  • Plugin page
  • Bugtracker
  • Source code

Funktionen

  • Kostenlos & OpenSource
  • Unterstützung für Bash 3.2 und Bash 4.0
  • Konfigurierbare Syntax-Hervorhebungen
  • Fehlermeldungen bei Syntaxfehlern
  • Grundlegende Refactorings
  • Integrierte Dokumentation (Strg+Q)
  • ...

Herunterladen

Das Plugin wird über die Pluginverwaltung von IntelliJ® IDEA installiert. Der Name des Plugins istBashSupport. Die Plugindetails und ältere Versionen sind hier verfügbar: BashSupport auf plugins.intellij.net.

Quellcode.  BashSupport ist OpenSource Software und ist unter den Bedingungen der Apache License, Version 2.0 verfügbar. Entwickler können den Quellcode herunterladen: BashSupport Quellcode.

Support

Haben Sie Fragen zum Plugin? Möchten Sie vielleicht einen Verbesserungsvorschlag machen? Dann lassen Sie mir einfach eine Nachricht zukommen:Kontaktformular.

Bedienung

Bash-Skripte ausführen

Ausführen von Skripten

BashSupport bietet die Möglichkeit, Skripte direkt innerhalb von IntelliJ auszuführen. Sie können eine neue Run-Konfiguration für Bash-Skripte anlegen. Hier legen Sie fest, welcher Interpreter für das Ausführen verwendet wird.

Wenn ein Skripte ausgeführt wird, werden die Ausgaben protokolliert. Falls Bash Syntaxfehler liefert, sind die jeweiligen Zeilen klickbar, um direkt zum jeweiligen Ort der Datei zu springen.

Projekt-Einstellungen

Die Projekteinstellungen werden im Projektabschnitt des Einstellungdialogs gesetzt.

Sprachstandard

Das Plugin unterstützt auf Wunsch die Neuerungen und Änderungen, die mit Bash Version 4.0 eingeführt wurden. Wenn die Einstellung gesetzt ist, werden alle Skripte des aktuellen Projektes als Bash 4.0 verarbeitet.

Globale Variablen

Pro Projekt kann ein Satz von globalen Variablen verwaltet werden. Unbekannte Variablen mit diesen Namen werden in den Skripten nicht mehr als Fehler gekennzeichnet. Auf Wunsch können die erfassten Variablennamen auch in der Code-Vervollständigung angeboten werden.

Globale Einstellungen

Dateiendungen

Von Haus aus unterstützt BashSupport diese Endungen:

  • .sh
  • .bash

IntelliJ bietet ihnen die Möglichkeit bislang unbekannte Dateiendungen mit einem Plugin zu verknüpfen. Wählen Sie hier einfach BashSupport aus, um Dateien mit der neuen Endung in Zukunft als Bash-Datei zu öffnen.

Bash-Skripte werden oftmals ohne Dateiendung gespeichert. BashSupport kann so konfiguriert werden, dass Dateien ohne Endung als Bash-Skripte erkannt werden. Wenn Sie diese Einstellung setzen, werden automatisch alle Dateien mit Bashsupport verbunden. Falls Sie jedoch nur Dateien, die tatsächlich Bash Skripte enthalten, mit BashSupport verknüpfen, können Sie die Konfiguration so setzen, dass BashSupport versucht, den Typ anhand des Dateiinhalts zu raten.

Farben und Schriften

Bash Unterstützung für IntelliJ® IDEA

Sie können die Farb- und Schrifteigenschaften der Skriptanzeige ihren Bedürfnissen gemäß anpassen. Öffnen Sie hierzu den Konfigurationsdialog über Settings im Menü File. Die Einstellungen für Bash-Skripte sind unter Editor → Colors & Fonts → Bash.

Hier können Sie die Einstellungen für die verschiedenen Elemente eines Bash-Skriptes anpassen. IntelliJ zeigt ihnen eine Vorschau der jeweiligen Einstellungen an.

Navigieren in Bash-Skripten

Öffnen Sie einfach eine Bash-Datei. Sie können diese ganz normal bearbeiten, so wie Sie es von IntelliJ gewohnt sind. Zur einfachen Navigation wird Code folding unterstützt. Falten Sie einfach die gerade nicht benötigten Funktionen und Anweisungsblöcke zusammen. So sehen Sie nur das, was Sie auch wirklich benötigen.

Falls Fehler in einer Bash-Datei angezeigt werden, kann es vorkommen, dass das Zusammenfalten von Quellcode-Abschnitten nicht möglich ist. Korrigieren Sie bitte erst die Fehler um diese Funktion nutzen zu können.

Dateistruktur

IntelliJ zeigt ihnen in der Strukturansicht eine Übersicht der Funktionen des jeweiligen Bash-Skriptes. Diese Ansicht ist über Strg + F12 schnell erreichbar.

BashSupport zeigt ihnen auch verschachtelte Funktionen an.

Go To → Declaration

(Strg + B)

BashSupport unterstützt Go to → Declaration Wenn Sie den Cursor auf einen Funktionsaufruf positionieren zeigt ihnen IntelliJ nach Auswahl dieser Aktion die aufgerufene Funktion.

Diese Funktion ist auch auf den Markierungen von Heredocs verfügbar.

View → Quick Definition Lookup

(Strg + Shift + I)

BashSupport zeigt ihnen den Quellcode einer definierten Funktion, wenn Sie diese Aktion für einen Funktionsaufruf anwenden.

Search → Highlight Usages in File

(Strg + Shift + F7)

Wenn Sie den Textcursor auf einem Funktionsaufruf oder dem Namen einer Funktion positionieren und dann diese Aktion aufrufen zeigt ihnen IntelliJ alle Orte, an denen diese Funktion verwendet wird. Sie können mit F3 zur jeweils nächsten Stelle springen.

Diese Funktion ist auch auf den Markierungen von Heredocs verfügbar.

Navigation zwischen Funktionen

Im Editor können Sie mit Alt + PfeilOben und Alt + PfeilUnten zwischen den Funktionen navigieren, die in der Datei definiert sind.

Brace matching

Wenn Sie den Cursor vor oder hinter einer Klammer positionieren zeigt ihnen IntelliJ die jeweils andere Klammer des jeweiligen Klammernpaares an.

Code-Vervollständigung

BashSupport unterstützt die automatische Code-Vervollständigung. Die Vorschläge werden durch das Drücken von Strg+Leertaste angezeigt.

Funktionen

Die Code-Vervollständigung bietet die definierten Funktionen des aktuellen Skriptes an. Eine Funktion wird nur angeboten, wenn sie in der Datei vor der aktuellen Stelle definiert wurde.

Beispiel 1. Code-Vervollständigung von Funktionen
                            
function showHome() {
    ls -ls $HOME
}

sho|#<- caret is here, shows 'showHome'
                        

Bash-Kommandos

Wenn die Konfigurationseinstellung gesetzt ist, werden die eingebauten Bash-Kommandos in der Code-Vervollständigung angeboten.

Beispiel 2. Code-Vervollständigung von Bash-Kommandos
                            
ec|#<- caret is here, shows "echo"
                        

Skript-Variablen

Variablen, die im aktuellen Skript deklariert werden, werden in der Code-Vervollständigung angeboten.

Beispiel 3. Code-Vervollständigung von Variablen
                            
MY_HOME=$HOME
echo $MY|#<- caret is here, shows 'MY_HOME'
                        

Bash Variablen

Wenn die Konfigurationseinstellung gesetzt ist, werden die eingebauten Bash-Variablen wie $PATH oder $PWD in der Code-Vervollständigung angeboten.

Beispiel 4. Code-Vervollständigung von Bash-Variablen
                            
ls -la $HO|#<- caret is here, shows 'HOME'
                        

Pfade im Dateisystem

Pfade können automatisch vervollständigt werden. Geben Sie einfach den Beginn einer Pfadangabe ein. Drücken Sie nun "Strg+Leertaste". IntelliJ bietet ihnen nun eine Auswahl von Verzeichnissen und Pfadangaben ihres Systems, die auf die Eingabe passen.

BashSupport erkennt Pfadangaben mit diesen Anfängen:

  • /
  • ./
  • $HOME/
  • ~/
Beispiel 5. Code-Vervollständigung von Dateinamen
                            
ls -la $HOME/.IntelliJ9x/co|#<- caret is here, shows 'config'
                        

Refactoring

BashSupport unterstützt einfache Refactorings für Bash-Skripte.

Umbenennen von Funktionen

Funktionen können umbenannt werden. Dabei werden die Definition selbst und alle Aufrufe angepasst. Positionieren Sie den Cursor auf dem Namen in der Definition oder auf einen Aufruf der Funktion. Verwenden Sie dann Refactor → Rename... (Strg+F6), um den Namen zu ändern.

Umbenennen von Variablen

Variablen können genauso wie Funktionen umbenannt werden. Positionieren Sie den Cursor auf den Bezeichner in einer Zuweisung oder auf der Verwendung einer Variablen. Rufen Sie dann Refactor → Rename... (Strg+F6) auf, um die Variable umzubenennen.

Umbenennen von Heredoc-Markierungen

Die Start- und Endmarkierungen von Heredocs können umbenannt werden. Platzieren Sie den Cursor auf die Markierung und rufen Sie Refactor → Rename... (Strg+F6) auf, um den Marker umzubenennen.

Quellcodeanalyse

BashSupport verfügt über sogenannte "Inspections". Der Quellcode wird analysiert und für erkannte Probleme werden automatische Korrekturen angeboten.

Shebang: Anpassung

Wenn die erste Zeile mit #! beginnt, wird sie als Shebang Zeile bezeichnet. Sie gibt das Kommando an, mit dem das Skript ausgeführt wird. Falls dieses Kommando einen ungewöhnlichen Befehl enthält, wird eine automatische Änderung vorgeschlagen.

Wenn das Kommando bekannte ist, werden Alternativen vorgeschlagen. Beispielsweise wird /bin/bash vorgeschlagen, falls /bin/sh verwendet wird.

Beispiel 6. Ungewöhnliche Shebang-Zeile
                            
#!bash
echo Hello World
                        
Beispiel 7. Shebang-Zeile nach der Korrektur
                            
#!/bin/bash
echo Hello World
                        

Funktionen: Rumpf in geschweiften Klammern einfassen

In Bash ist es möglich, den Rumpf einer Funktion ohne geschweifte Klammern zu notieren. BashSupport bietet in solchen Fällen eine Quickfix-Aktion an, um die Klammern automatisch hinzuzufügen.

Beispiel 8. Funktionsrumpf ohne geschweifte Klammern
                            
function helloWorld
    if echo Hello; then echo " World"; fi
                        
Beispiel 9. Funktionsrumpf nach der Korrektur
                            
function helloWorld
    { if echo Hello; then echo " World"; fi }
                        

Umwandlung von Backtick- in Subshell-Kommando

In Bash gibt es zwei Möglichkeiten, Kommandos in einer Subshell auszuführen. Der alte Weg ist`echo a`, die neue Art und Weise ist$(echo a). Mit dieser Inspection können Sie die Verwendung der alten Möglichkeit in die neue automatisch vornehmen.

Beispiel 10. Aufruf mit Backticks
                            
echo `echo hi there`
                        
Beispiel 11. Subshell-Aufruf nach der Korrektur
                            
echo $(echo hi there)
                        

Umwandlung von Subshell- in Backtick-Kommandos

Diese Inspection dient dazu, Subshell-Aufrufe mittels $(...) die alte Form mit Backticks umzuwandeln.

Diese Inspection ist standardmäßig nicht aktiviert. Falls Sie sie verwenden möchten müssen Sie diese also manuell aktivieren.

Doppelte Funktionsdefinition

Diese Inspection markiert eine Funktionsdefinition, wenn sie eine bereits vorher definierte Funktion überschreibt.

Expansions auswerten

Bash-Expansions wie bspw. {a..z}{0..9} können von BashSupport mit Hilfe dieser Inspektion mit dem resultierenden Wert ersetzt werden. Es werden alle Formen unterstützt. Wenn die Unterstützung von Bash 4.0 unterstützt wurde, werden auch die erweiterten Formen der Expansions unterstützt.

Beispiel 12. Vorher: Ausgabe der Zahlen zwischen 1 und 10
                            
echo {1..10}
                        
Beispiel 13. Nachher: Ausgabe der Zahlen zwischen 1 und 10
                            
echo 1 2 3 4 5 6 7 8 9 10
                        

Fehlende Include-Datei

Wenn die Datei in einem Include-Befehl konstant ist, also keine Variablen enthält, untersucht diese Inspection, ob die Datei auf dem aktuellen System auch tatsächlich vorhanden ist. Wenn die Datei nicht vorhanden ist, wird der Include-Befehl mit einer Warnung hinterlegt.

Rekursive Include-Befehle

Wenn eine Datei sich per Include-Befehl selbst erneut einbindet, führt dies zu einer Endlosschleife. Diese Inspection erkennt, wenn ein Skript sich selbst einbindet und markiert diese Befehler mit einer Warnung.

Quellcodeformatierung

BashSupport unterstützt die Formatierung von Bash-Quellcode. Um das aktuelle Skript bzw. die aktuelle Textauswahl umzuformatieren, können Sie Code → Reformat Code... verwenden.

[Achtung]Achtung

Diese Funktion ist noch in einem experimentellen Zustand. Daher kann es vorkommen, dass ihre Skripte nicht korrekt formatiert werden. Auch gibt es noch keine Möglichkeit, die Formatierung zu konfigurieren.

Inhaltsverzeichnis

Wichtige Links
Funktionen
Herunterladen
Support
Bedienung
Bash-Skripte ausführen
Projekt-Einstellungen
Sprachstandard
Globale Variablen
Globale Einstellungen
Dateiendungen
Farben und Schriften
Navigieren in Bash-Skripten
Dateistruktur
Go To → Declaration
View → Quick Definition Lookup
Search → Highlight Usages in File
Navigation zwischen Funktionen
Brace matching
Code-Vervollständigung
Funktionen
Bash-Kommandos
Skript-Variablen
Bash Variablen
Pfade im Dateisystem
Refactoring
Umbenennen von Funktionen
Umbenennen von Variablen
Umbenennen von Heredoc-Markierungen
Quellcodeanalyse
Shebang: Anpassung
Funktionen: Rumpf in geschweiften Klammern einfassen
Umwandlung von Backtick- in Subshell-Kommando
Umwandlung von Subshell- in Backtick-Kommandos
Doppelte Funktionsdefinition
Expansions auswerten
Fehlende Include-Datei
Rekursive Include-Befehle
Quellcodeformatierung
  • Copyright © 2009, 2010 Joachim Ansorg IT-Services. All rights reserved.
  • Impressum