Gibt es anständige bash
-Plug-Ins für Eclipse? Meine einzige Anforderung ist die Syntaxhervorhebung. Ich habe gegoogelt, aber nichts gesehen, das wie "das" bash
-Plug-In aussah.
ShellEd sieht vielversprechend aus, hebt Syntax hervor und hat positive Bewertungen, obwohl ich es selbst nicht ausprobiert habe. Es war genehmigt für die Aufnahme von Distributionen durch Redhat. Weitere Informationen finden Sie auf der ShellEd Plugin-Seite auf der Eclipse-Site und Installationsanweisungen in ihrem Wiki.
Wenn Sie keine aktuelle Version von Eclipse (derzeit Juno) ausführen, müssen Sie eine ältere Version verwenden. 2.0.1 ist zum Beispiel mit Indigo kompatibel.
EDIT (03.08.2013): Verwenden Sie http://sourceforge.net/projects/shelled/files/shelled/update/ für die neueste Version
EDIT (25.02.2013): Linux muss für Shell 2.0.2 auf Eclipse 4.2.1 nicht installiert werden. Keine Notwendigkeit, die Zip-Datei herunterzuladen. Hier ist die Update-Site von shelled 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/
ALTE POST:
Ich mag auch Shelled. Wenn Sie es jetzt installieren, müssen Sie die ZIP-Datei herunterladen und im Assistenten zum Installieren neuer Software in Eclipse darauf verweisen. Sie müssen auch das man-Plugin von installieren
http://download.Eclipse.org/technology/linuxtools/update
Debugger für Bash Version 3 (wieder Bourne Shell).
Plugin für Eclipse. Funktioniert nur mit dem Shell-Skripteditor ShellEd. basheclipse
Folgen Sie einfach den offiziellen Anweisungen von ShellEd's InstallGuide
Der kostenlose EclipseColorer Editor kann Syntax-Hervorhebungen für Bash-Skripte ausführen.
Es verwendet jedoch nicht die "Gliederungsansicht" von Eclipse, d. H. Es füllt es nicht mit einer Liste von Funktionsdefinitionen. Manchmal wird die Hervorhebung der Syntax nur mitten im Skript angehalten. Dann hilft das Skript wieder zu öffnen.
ShellEd
Die unten aufgeführten Lösungen zur Installation von ShellEd funktionieren für mich nicht. Viele Fehler in Abhängigkeiten. Ich habe eine Lösung gefunden, die für mich funktioniert.
System:
Linux Lubuntu 12.04
IDE:
Eclipse Kepler
Gehen Sie in Eclipse zu Hilfe> Neue Software installieren
Klicken Sie auf Hinzufügen ...
Fügen Sie den folgenden Speicherort http://download.Eclipse.org/releases/kepler hinzu und nennen Sie ihn "Eclipse Kepler".
OK klicken.
Wählen Sie die neu erstellte Eclipse-Kepler-Site aus.
Erweitern Sie unten den Abschnitt Web, XML, Java EE und OSGi Enterprise Development. .__ Wählen Sie WST-Serveradapter aus.
Klicken Sie auf Weiter und installieren Sie wie gewohnt.
Starten Sie Eclipse neu
Fügen Sie das ShellEd-Repo ebenfalls wie oben aufgeführt hinzu: http://sourceforge.net/projects/shelled/files/shelled/update/
Und installiere es.
Starten Sie Eclipse neu.
Arbeitete auch in Eclipse Indigo wie gesagt: http://docs.wraithmonster.com/install-shelled
Genießen :)
Ich werde ein gutes Tutorial hier wiedergeben, da ich diesen Artikel verloren habe und einige Zeit brauche, um ihn wieder zu finden!
Hinzufügen von Syntax-Hervorhebungen für neue Sprachen zu Eclipse mit der Colorer-Bibliothek
Angenommen, Sie haben eine HRC-Datei, die die Syntax und die lexikalische Struktur einer Programmiersprache enthält, die Eclipse nicht unterstützt (z. B. D/Iptables oder eine andere Skriptsprache).
Mit dem EclipseColorer-Plugin können Sie auf einfache Weise Unterstützung dafür hinzufügen.
Gehen Sie zu Hilfe -> Neue Software installieren und klicken Sie auf Hinzufügen .. Schreiben Sie im Feld Name Colorer und im Feld Location schreiben http://colorer.sf.net/eclipsecolorer/
Wählen Sie den Eintrag aus, mit dem Sie gerade gearbeitet haben: Kombinationsfeld, warten Sie, bis die Komponentenliste ausgefüllt ist, und klicken Sie auf Alle auswählen
Klicken Sie auf Weiter und befolgen Sie die Anweisungen
Wenn das Plugin installiert ist, schließen Sie Eclipse.
Kopieren Sie Ihre HRC-Datei nach [EclipseFolder]\plugins\net.sf.colorer_0.9.9\colorer\hrc\auto\types
[EclipseFolder] = /home/myusername/.Eclipse
Verwenden Sie zum Öffnen Ihren bevorzugten Texteditor
[EclipseFolder]\plugins\net.sf.colorer_0.9.9\colorer\hrc\auto\empty.hrc
Fügen Sie das entsprechende Prototypelement hinzu. Wenn Ihre HRC-Datei beispielsweise d.hrc ist, sieht empty.hrc folgendermaßen aus:
<?xml version="1.0" encoding='Windows-1251'?>
<!DOCTYPE hrc PUBLIC
"-//Cail Lomecb//DTD Colorer HRC take5//EN"
"http://colorer.sf.net/2003/hrc.dtd"
>
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd"
><annotation><documentation>
'auto' is a place for include
to colorer your own HRCs
</documentation></annotation>
<prototype name="d" group="main" description="D">
<location link="types/d.hrc"/>
<filename>/\.(d)$/i</filename>
</prototype>
</hrc>
Speichern Sie die Änderungen und schließen Sie den Texteditor
Öffnen Sie Eclipse und gehen Sie zu Fenster -> Einstellungen -> Allgemein -> Editoren -> Dateizuordnungen
Klicken Sie im Abschnitt Dateitypen auf Hinzufügen .. und geben Sie den entsprechenden Dateityp ein (z. B. .d).
Klicken Sie auf OK und klicken Sie auf den neu hinzugefügten Eintrag in der Liste
Klicken Sie im zugehörigen Editorbereich auf Hinzufügen .., wählen Sie Colorer Editor und drücken Sie OK
der schwierige Teil ist, dass Sie etwas über die HCR-Syntax lernen müssen.
Sie können hineinschauen
[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar
um zu lernen, wie es geht, und erkunden Sie die Dateien anderer hcr-Dateien. In diesem Moment habe ich keine Dokumentation gefunden.
Mein Geschenk ist ein grundlegendes und unvollständiges iptables-Syntax-Highlight. Wenn Sie sich verbessern, teilen Sie es mir bitte mit.
<?xml version="1.0" encoding="Windows-1251"?>
<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN" "http://colorer.sf.net/2003/hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">
<type name="iptables">
<annotation>
<develby> Mario Moura - moura.mario gmail.com</develby>
<documentation>Support iptables EQL language</documentation>
<appinfo>
<prototype name="iptables" group="database" description="iptables">
<location link="iptables.hrc"/>
<filename>/\.epl$/i</filename>
</prototype>
</appinfo>
</annotation>
<region name="iptablesTable" parent="def:Keyword"/>
<region name="iptablesChainFilter" parent="def:Symbol"/>
<region name="iptablesChainNatMangle" parent="def:NumberDec"/>
<region name="iptablesCustomDefaultChains" parent="def:Keyword"/>
<region name="iptablesOptions" parent="def:String"/>
<region name="iptablesParameters" parent="def:Operator"/>
<region name="iptablesOtherOptions" parent="def:Comment"/>
<region name="iptablesMatchExtensions" parent="def:ParameterStrong"/>
<region name="iptablesTargetExtensions" parent="def:FunctionKeyword"/>
<region name="pyComment" parent="def:Comment"/>
<region name="pyOperator" parent="def:Operator"/>
<region name="pyDelimiter" parent="def:Symbol"/>
<scheme name="iptablesTable">
<keywords ignorecase="no" region="iptablesTable">
<Word name="mangle"/>
<Word name="filter"/>
<Word name="nat"/>
<Word name="as"/>
<Word name="at"/>
<Word name="asc"/>
<Word name="avedev"/>
<Word name="avg"/>
<Word name="between"/>
<Word name="by"/>
</keywords>
</scheme>
<scheme name="iptablesChainFilter">
<keywords ignorecase="no" region="iptablesChainFilter">
<Word name="FORWARD"/>
<Word name="INPUT"/>
<Word name="OUTPUT"/>
</keywords>
</scheme>
<scheme name="iptablesChainNatMangle">
<keywords ignorecase="no" region="iptablesChainNatMangle">
<Word name="PREROUTING"/>
<Word name="POSTROUTING"/>
<Word name="OUTPUT"/>
</keywords>
</scheme>
<scheme name="iptablesCustomDefaultChains">
<keywords ignorecase="no" region="iptablesCustomDefaultChains">
<Word name="CHTTP"/>
<Word name="CHTTPS"/>
<Word name="CSSH"/>
<Word name="CDNS"/>
<Word name="CFTP"/>
<Word name="CGERAL"/>
<Word name="CICMP"/>
</keywords>
</scheme>
<scheme name="iptablesOptions">
<keywords ignorecase="no" region="iptablesOptions">
<Word name="-A"/>
<Word name="--append"/>
<Word name="-D"/>
<Word name="--delete"/>
<Word name="-I"/>
<Word name="--insert"/>
<Word name="-R"/>
<Word name="--replace"/>
<Word name="-L"/>
<Word name="--list"/>
<Word name="-F"/>
<Word name="--flush"/>
<Word name="-Z"/>
<Word name="--zero"/>
<Word name="-N"/>
<Word name="--new-chain"/>
<Word name="-X"/>
<Word name="--delete-chain"/>
<Word name="-P"/>
<Word name="--policy"/>
<Word name="-E"/>
<Word name="--rename-chain"/>
</keywords>
</scheme>
<scheme name="iptablesParameters">
<keywords ignorecase="no" region="iptablesParameters">
<Word name="-p"/>
<Word name="--protocol"/>
<Word name="-s"/>
<Word name="--source"/>
<Word name="-d"/>
<Word name="--destination"/>
<Word name="-j"/>
<Word name="--jump"/>
<Word name="-g"/>
<Word name="--goto"/>
<Word name="-i"/>
<Word name="--in-interface"/>
<Word name="-o"/>
<Word name="--out-interface"/>
<Word name="-f"/>
<Word name="--fragment"/>
<Word name="-c"/>
<Word name="--set-counters"/>
</keywords>
</scheme>
<scheme name="iptablesOtherOptions">
<keywords ignorecase="no" region="iptablesOtherOptions">
<Word name="-v"/>
<Word name="--verbose"/>
<Word name="-n"/>
<Word name="--numeric"/>
<Word name="-x"/>
<Word name="--exact"/>
<Word name="--line-numbers"/>
<Word name="--modprobe"/>
</keywords>
</scheme>
<scheme name="iptablesMatchExtensions">
<keywords ignorecase="no" region="iptablesMatchExtensions">
<Word name="account"/>
<Word name="addrtype"/>
<Word name="childlevel"/>
<Word name="comment"/>
<Word name="connbytes"/>
<Word name="connlimit"/>
<Word name="connmark"/>
<Word name="connrate"/>
<Word name="conntrack"/>
<Word name="dccp"/>
<Word name="dscp"/>
<Word name="dstlimit"/>
<Word name="ecn"/>
<Word name="esp"/>
<Word name="hashlimit"/>
<Word name="helper"/>
<Word name="icmp"/>
<Word name="ipv4options"/>
<Word name="length"/>
<Word name="limit"/>
<Word name="mac"/>
<Word name="mark"/>
<Word name="mport"/>
<Word name="multiport"/>
<Word name="nth"/>
<Word name="osf"/>
<Word name="owner"/>
<Word name="physdev"/>
<Word name="pkttype"/>
<Word name="policy"/>
<Word name="psd"/>
<Word name="quota"/>
<Word name="realm"/>
<Word name="recent"/>
<Word name="sctp"/>
<Word name="set"/>
<Word name="state"/>
<Word name="string"/>
<Word name="tcp"/>
<Word name="tcpmss"/>
<Word name="tos"/>
<Word name="u32"/>
<Word name="udp"/>
</keywords>
</scheme>
<scheme name="iptablesTargetExtensions">
<keywords ignorecase="no" region="iptablesTargetExtensions">
<Word name="BALANCE"/>
<Word name="CLASSIFY"/>
<Word name="CLUSTERIP"/>
<Word name="CONNMARK"/>
<Word name="DNAT"/>
<Word name="DSCP"/>
<Word name="ECN"/>
<Word name="IPMARK"/>
<Word name="IPV4OPTSSTRIP"/>
<Word name="LOG"/>
<Word name="MARK"/>
<Word name="MASQUERADE"/>
<Word name="MIRROR"/>
<Word name="NETMAP"/>
<Word name="NFQUEUE"/>
<Word name="NOTRACK"/>
<Word name="REDIRECT"/>
<Word name="REJECT"/>
<Word name="SAME"/>
<Word name="SET"/>
<Word name="SNAT"/>
<Word name="TARPIT"/>
<Word name="TCPMSS"/>
<Word name="TOS"/>
<Word name="TRACE"/>
<Word name="TTL"/>
<Word name="ULOG"/>
<Word name="XOR"/>
</keywords>
</scheme>
<scheme name="iptables">
<inherit scheme="iptablesTable"/>
<inherit scheme="iptablesChainFilter"/>
<inherit scheme="iptablesChainNatMangle"/>
<inherit scheme="iptablesCustomDefaultChains"/>
<inherit scheme="iptablesOptions"/>
<inherit scheme="iptablesParameters"/>
<inherit scheme="iptablesOtherOptions"/>
<inherit scheme="iptablesMatchExtensions"/>
<inherit scheme="iptablesTargetExtensions"/>
<!-- python operators : http://docs.python.org/ref/keywords.html -->
<keywords region="pyOperator">
<symb name="+"/>
<symb name="-"/>
<symb name="*"/>
<symb name="**"/>
<symb name="/"/>
<symb name="//"/>
<symb name="%"/>
<symb name="<<"/>
<symb name=">>"/>
<symb name="&"/>
<symb name="|"/>
<symb name="^"/>
<symb name="~"/>
<symb name="<"/>
<symb name=">"/>
<symb name="<="/>
<symb name=">="/>
<symb name="=="/>
<symb name="!="/>
<symb name="<>"/>
</keywords>
<!-- basic python comment - consider it everything after # till the end of line -->
<block start="/#/" end="/$/" region="pyComment" scheme="def:Comment"/>
<block start="/(u|U)?(r|R)?("{3}|'{3})/" end="/\y3/"
region00="def:PairStart" region10="def:PairEnd"
scheme="def:Comment" region="pyComment" />
<!-- TODO: better scheme for multiline comments/docstrings -->
<!-- scheme="StringCommon" region="pyString" /> -->
<!-- python delimiters : http://docs.python.org/ref/delimiters.html -->
<keywords region="pyDelimiter">
<symb name="+"/>
<symb name="("/>
<symb name=")"/>
<symb name="["/>
<symb name="]"/>
<symb name="{"/>
<symb name="}"/>
<symb name="@"/>
<symb name=","/>
<symb name=":"/>
<symb name="."/>
<symb name="`"/>
<symb name="="/>
<symb name=";"/>
<symb name="+="/>
<symb name="-="/>
<symb name="*="/>
<symb name="/="/>
<symb name="//="/>
<symb name="%="/>
<symb name="&="/>
<symb name="|="/>
<symb name="^="/>
<symb name=">>="/>
<symb name="<<="/>
<symb name="**="/>
</keywords>
</scheme>
</type>
Danach müssen Sie die Datei als iptables.hcr speichern und in das jar einfügen:
[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar
ShellEd ist ein gutes Plugin für Eclipse.
Dieser Link hat mir bei der Installation geholfen: http://mattnorris.me/blog/install-Eclipse-shelled-plugin/
Schritte:
Laden Sie ShellEd herunter: http://sourceforge.net/projects/shelled/files/latest/download - Die Datei ist ein komprimiertes Archiv mit dem Namen net.sourceforge.shelled-site-2.0.x.Zip.
Klicken Sie dann auf Hilfe> Neue Software installieren ...
Es gibt jetzt ein dediziertes Bash-Skript-Plugin namens "Bash-Editor" ..__, das auf dem Eclipse-Marktplatz erhältlich ist:
Sie finden es unter https://marketplace.Eclipse.org/content/bash-editor oder beim Marktplatz-Client, wenn Sie nach "bash" suchen.
Das Plugin ist derzeit als BETA gekennzeichnet, ist aber stabil.
Ich habe ShellEd ausprobiert, aber es konnte kein Shell-Skript erkennen, selbst wenn ich Eclipse neu starte. Ich habe den ksh-Interpreter hinzugefügt und zur Standardeinstellung gemacht, aber es machte keinen Unterschied.
Schließlich habe ich die geöffnete Registerkarte geschlossen und eine ksh-Datei angezeigt und sie dann wieder geöffnet. Das hat richtig funktioniert. Nachdem ich es eine Weile benutzt habe, kann ich es auch empfehlen.
Es funktioniert für mich in Sauerstoff.
1) Gehen Sie zu Hilfe> Eclipse Marketplace ... und suchen Sie nach "DLTK". Sie finden so etwas wie "Shell Script (DLTK) 5.8.0". Installieren Sie es und starten Sie Eclipse neu.
(Oder ziehen Sie den "Install" -Button von dieser Webseite in Ihren Eclipse: https://marketplace.Eclipse.org/content/Shell-script-dltk )
2) Klicken Sie im Projekt-Explorer mit der rechten Maustaste auf die Shell-/Stapeldatei> Öffnen mit> Andere ... und wählen Sie Shell Script Editor. Sie können den Editor auch mit allen Dateien dieser Erweiterung verknüpfen.