webentwicklung-frage-antwort-db.com.de

Bash-Skript-Plugin für Eclipse?

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. 

169
Stu Thompson

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.

137
ire_and_curses

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
36

Debugger für Bash Version 3 (wieder Bourne Shell). 
Plugin für Eclipse. Funktioniert nur mit dem Shell-Skripteditor ShellEd. basheclipse

13
avkosinsky

Folgen Sie einfach den offiziellen Anweisungen von ShellEd's InstallGuide

11
user819893

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.

7
knb

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 :)

4
user3439968

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="&lt;&lt;"/>
    <symb name=">>"/>
    <symb name="&amp;"/>
    <symb name="|"/>
    <symb name="^"/>
    <symb name="~"/>
    <symb name="&lt;"/>
    <symb name=">"/>
    <symb name="&lt;="/>
    <symb name=">="/>
    <symb name="=="/>
    <symb name="!="/>
    <symb name="&lt;>"/>
   </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)?(&quot;{3}|&apos;{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="&amp;="/>
    <symb name="|="/>
    <symb name="^="/>
    <symb name=">>="/>
    <symb name="&lt;&lt;="/>
    <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

Sitz in: https://ohadsc.wordpress.com/2012/05/26/adding-syntax-highlighting-für-neue-sprachsprachen-zu-Eclipse-mit-der-farbenspeicherbibliothek/

2
macm

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:

  1. 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.

  2. Klicken Sie dann auf Hilfe> Neue Software installieren ...

  3. Klicken Sie oben rechts auf Hinzufügen.
  4. Klicken Sie auf Archiv ...
  5. Navigieren Sie zu dem Ort, an dem Sie das gezippte Archiv net.sourceforge.shelled-site-2.0.x.Zip gespeichert haben, und wählen Sie es aus.
  6. OK klicken. (Machen Sie sich keine Sorgen über das optionale Feld "Name". Eclipse benennt es automatisch.)
  7. Aktivieren Sie das Kontrollkästchen "Neues Shell-Skript".
  8. Weiter klicken.
  9. Klicken Sie erneut auf Weiter.
  10. Wählen Sie "Ich akzeptiere die Bedingungen der Lizenzvereinbarung".
  11. Klicken Sie auf Fertig stellen.
  12. Starten Sie Eclipse neu.
1
Steven

Es gibt jetzt ein dediziertes Bash-Skript-Plugin namens "Bash-Editor" ..__, das auf dem Eclipse-Marktplatz erhältlich ist:

 Bash editor log

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. 

1
hexadez

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.

0
ivanlan

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 )

 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.

 Shell script editor