Plugin di script Bash per Eclipse? [chiuso]


174

Esistono bashplug-in decenti per Eclipse? Il mio unico requisito è l'evidenziazione della sintassi. Ho cercato su Google, ma non ho visto nulla di simile al " bash plug-in".


qual è il tuo sistema operativo? stai cercando di eseguire questo come emulatore di shell su Windows? un po 'come Cygwin
anfibio,

Risposte:


140

ShellEd sembra promettente, evidenzia la sintassi e ha recensioni positive, anche se non l'ho provato da solo. È stato approvato per l'inclusione distro da Redhat. Ci sono un po 'più di informazioni sulla pagina del plugin ShellEd sul sito Eclipse e istruzioni di installazione sul loro wiki.

Nota che se non stai utilizzando una versione aggiornata di Eclipse (al momento della stesura di questo articolo, Juno) dovrai utilizzare una versione precedente, ad esempio 2.0.1 è compatibile con Indigo.


1
Sto usando questo plugin ed è abbastanza utile.
Romain Linsolas,

5
Correggimi se sbaglio. Attualmente ShellEd non sembra supportare il completamento, il refactoring o il debug di audo-word, rendendolo quasi uguale a qualsiasi editor di testo che ha l'evidenziazione della sintassi e il supporto degli snippet ..
kakyo

3
Non funziona con Eclipse 4. Qualcuno conosce altri plugin?
Pratik Khadloya,

7
ShellEd funziona perfettamente con Eclipse 4.5. Per installare, scegli "Installa nuovo software ..." dal menu Aiuto di Eclipse e inserisci questo URL: sourceforge.net/projects/shelled/files/shelled/update
fred727

6
Oggi vai su eclipse.org/dltk/install.php . Installa tramite il sito di aggiornamento standard di eclipse all'interno della tua eclipse (ad es. http://download.eclipse.org/releases/neon/) Quindi cerca Programming languagese Dynamic Languages Toolkit - ShellEd.
Torsten,

36

EDIT (03/08/2013): utilizzare http://sourceforge.net/projects/shelled/files/shelled/update/ per l'ultima versione

EDIT (25/02/2013): non è necessario installare lo strumento Linux per shell 2.0.2 su Eclipse 4.2.1. Inoltre, non è necessario scaricare il file zip. Ecco il sito di aggiornamento di Shelled 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/

VECCHIO POST:

Mi piace anche Shelled. Se lo installi ora, devi scaricare il file zip e puntarlo nella procedura guidata di installazione del nuovo software in Eclipse. Dovrai anche installare il plugin man da

http://download.eclipse.org/technology/linuxtools/update

Link diretto al file zip: ppl.ug/tvjARs_cKQE/dl
AlikElzin-kilaka


+1 Questa è l'informazione più preziosa per oggi. Avrei voluto averlo prima di aver fregato l'installazione di Juno SR2 un'ora fa ...
Alain Pannetier,

1
+1 per l'URL di download ShellEd esatto. Non è più possibile scaricare ShellEd in Eclipse Marketplace. ShellEd funziona molto bene.
La-comadreja,

2
ShellEd è disponibile sul sito di aggiornamento standard di Eclipse Mars download.eclipse.org/releases/mars ... è disponibile sotto la voce Linguaggi di programmazione -> Dynamic Languages ​​Toolkit - ShellEd IDE .
Abdull

13

Debugger per Bash versione 3 (Bourne di nuovo shell).
Plugin per Eclipse. Funzionerà solo con l'editor di script di shell ShellEd. basheclipse


10

Segui le istruzioni ufficiali da InstallGuide di ShellEd


Non ha funzionato per me: messo nel sito di aggiornamento, ha trovato solo shell, che ha prontamente rifiutato di installare perché voleva un modulo UI.
Rob

3
Come indicato nei loro documenti ( sourceforge.net/apps/trac/shelled/wiki/Documentation/… ), è necessario aggiungere questo download.eclipse.org/technology/linuxtools/update ai siti di software disponibili. Dopodiché, le cose dovrebbero funzionare bene!
pedromanoel,

Luglio 2014: shelled non è più disponibile tramite linuxtools URL / repo per eclipse.
woohoo,

7

L' editor gratuito di EclipseColorer può eseguire l'evidenziazione della sintassi per gli script bash.

Tuttavia, non utilizza la "Vista struttura" di Eclipse, ovvero non lo riempie di un elenco di definizioni di funzioni. A volte l'evidenziazione della sintassi si interrompe nel mezzo dello script. Quindi riaprire lo script aiuta.


1
Ho usato ShellEd per un po ', ma si impantana con file di grandi dimensioni e ho trovato frustranti le sue scelte autoindentanti. L'Editor EclipseColorer funziona bene per i miei scopi. È anche bello avere questo elenco di plug-in di altri tipi di file.
Demyn,

1
Ho anche usato ShellEd per due anni, ma continua a incasinare il rientro, ha l'abitudine molto fastidiosa di piegare inizialmente tutti i commenti (non configurabile) ed è molto lento. Appena passato a EclipseColorer, sembra funzionare bene.
Tw Bert,

4

sgusciate

Le soluzioni seguenti su come installare ShellEd non funzionano per me. Un sacco di errore sulle dipendenze. Ho trovato una soluzione che funziona per me.

Sistema:

Linux Lubuntu 12.04

IDE:

Eclipse Kepler

In Eclipse, vai su Aiuto> Installa nuovo software

Fai clic su Aggiungi ...

Aggiungi il seguente percorso, http://download.eclipse.org/releases/kepler , e chiamalo "Eclipse Kepler".

Clicca OK.

Seleziona il sito Eclipse Kepler appena creato.

Espandi la sezione Web, XML, Java EE e OSGi Enterprise Development nella parte inferiore. Seleziona Schede server WST.

Fai clic su Avanti e installa come al solito.

Riavvia Eclipse

Quindi aggiungere il repository ShellEd allo stesso modo come elencato sopra: http://sourceforge.net/projects/shelled/files/shelled/update/

E installalo.

Riavvia Eclipse.

Ha anche lavorato in Eclipse Indigo come detto qui: http://docs.wraithmonster.com/install-shelled

Godere :)


non so perché, ma questo ha risolto il problema anche per me dopo 2 installazioni non riuscite in precedenza; Sono su Eclipse Kepler su Mac OS X
Hans Z.

3

Ora esiste un plugin di script bash dedicato chiamato "Bash editor". È disponibile sul mercato eclipse:

Registro dell'editor Bash

Puoi trovarlo su https://marketplace.eclipse.org/content/bash-editor o dal client del marketplace quando cerchi "bash".

Il plugin fornisce anche un debugger. Nella Bash Editor playlist YouTube ufficiale puoi trovare alcuni tutorial sull'uso, ecc.

PS: sono l'autore del plugin menzionato.


Il plugin non è più BETA ma contrassegnato come produttivo / stabile
de-jcup

Collegamento morto. Cambiarlo.
Balaji Boggaram Ramanarayan,

No, non è un collegamento non funzionante: ho appena aperto marketplace.eclipse.org/content/bash-editor e risponde completamente. Forse hai problemi di proxy o di rete?
de-jcup,

Wow !! Sta lavorando adesso. Comunque grazie. Non ero dietro il firewall. Apprezzo il tuo inversione di tendenza.
Balaji Boggaram Ramanarayan,

2

Qui riprodurrò un buon tutorial, perché ho perso questo articolo e mi ci vuole del tempo per ritrovarlo!

Aggiunta dell'evidenziazione della sintassi per le nuove lingue a Eclipse con la libreria Colorer

Supponi di avere un file HRC contenente la sintassi e la struttura lessicale di alcuni linguaggi di programmazione che Eclipse non supporta (ad esempio D / Iptables o qualsiasi altro linguaggio di script).

Utilizzando il plug-in EclipseColorer, è possibile aggiungere facilmente supporto per esso.

Vai su Aiuto -> Installa nuovo software e fai clic su Aggiungi. Nel campo Nome scrivi Colorer e nel campo Posizione scrivi http://colorer.sf.net/eclipsecolorer/

Seleziona la voce che hai appena aggiunto nella casella combinata work with: attendi che l'elenco dei componenti si compili e fai clic su Select All

Fai clic su Avanti e segui le istruzioni

Una volta installato il plug-in, chiudere Eclipse.

Copia il tuo file HRC in [EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ types

[EclipseFolder] = /home/myusername/.eclipse

Usa il tuo editor di testo preferito per aprire

[EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ HRC \ auto \ empty.hrc

Aggiungi l'elemento prototipo appropriato. Ad esempio, se il tuo file HRC è d.hrc, empty.hrc avrà questo aspetto:

<?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>

Salvare le modifiche e chiudere l'editor di testo

Apri Eclipse e vai su Finestra -> Preferenze -> Generale -> Editor -> Associazioni di file

Nella sezione tipi di file, fai clic su Aggiungi ... e compila il tipo di file appropriato (ad esempio .d)

Fare clic su OK e fare clic sulla voce appena aggiunta nell'elenco

Nella sezione degli editor associati, fai clic su Aggiungi .., seleziona Colorer Editor e premi OK

ok, la parte difficile è che devi conoscere la sintassi HCR.

Puoi guardare dentro

[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar

per imparare come farlo ed esplorare molti altri file hcr. In questo momento non ho trovato alcuna documentazione.

Il mio regalo è un momento saliente della sintassi di iptables di base e incompleto. Se migliora, per favore condividi con me.

<?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>

Dopo questo è necessario salvare il file come iptables.hcr e aggiungere all'interno del vaso:

[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar

Basato in: https://ohadsc.wordpress.com/2012/05/26/adding-syntax-highlighting-for-new-languages-to-eclipse-with-the-colorer-library/


Ho installato EclipseColorer aggiungendo tramite il solito percorso "Aiuto / Installa / Aggiungi sito" di Eclipse (sito eclipse: colorer.sf.net/eclipsecolorer ) ed è stato indolore. Quindi ho riavviato e Colorer mi ha mostrato molto rapidamente gli script bash con cui volevo lavorare con la sintassi e la gentilezza evidenziata. Per chi vuole solo aggiungere colori agli script, questo sembra meno complicato rispetto all'installazione di ShellEd da quello che vedo nei blog e nei commenti, ma ho provato solo questo, non entrambi.
charles ross

1

ShellEd è un buon plugin per Eclipse.

Questo link mi ha aiutato a installarlo: http://mattnorris.me/blog/install-eclipse-shelled-plugin/

passi:

  1. Scarica ShellEd: http://sourceforge.net/projects/shelled/files/latest/download - Il file è un archivio zippato chiamato qualcosa come net.sourceforge.shelled-site-2.0.x.zip.

  2. Quindi fai clic su Guida> Installa nuovo software ...

  3. Fai clic su Aggiungi ... in alto a destra.
  4. Fai clic su Archivia ...
  5. Passare al punto in cui è stato salvato l'archivio zippato net.sourceforge.shelled-site-2.0.x.zip e selezionarlo.
  6. Clicca OK. (Non preoccuparti per il campo Nome opzionale. Eclipse lo nominerà automaticamente.)
  7. Seleziona la nuova casella di controllo Script Shell.
  8. Fai clic su Avanti.
  9. Fai di nuovo clic su Avanti.
  10. Seleziona "Accetto i termini del contratto di licenza".
  11. Fai clic su Fine.
  12. Riavvia Eclipse.

0

Ho provato ShellEd, ma non ha riconosciuto nessuno dei miei script di shell, anche quando ho riavviato l'eclissi. Ho aggiunto l'interprete ksh e l'ho reso predefinito, ma non ha fatto differenza.

Alla fine ho chiuso la scheda che era aperta e visualizzava un file ksh, quindi l'ho riaperta. Ciò ha fatto funzionare correttamente. Dopo averlo usato per un po ', posso anche consigliarlo.


0

Funziona per me in Oxygen.

1) Vai su Aiuto> Eclipse Marketplace ... e cerca "DLTK". Troverai qualcosa come "Shell Script (DLTK) 5.8.0". Installalo e riavvia Eclipse.

(Oppure trascina il pulsante "Installa" da questa pagina Web su Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk )

Shell Script (DLTK)

2) Fare clic con il tasto destro del mouse sul file shell / batch in Esplora progetti> Apri con> Altro ... e selezionare Shell Script Editor. Puoi anche associare l'editor a tutti i file di tale estensione.

Editor di script Shell


I repository non sono più validi. Correggilo.
Balaji Boggaram Ramanarayan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.