Plug-in de script Bash pour Eclipse? [fermé]


174

Existe-t-il des bashplug-ins décents pour Eclipse? Ma seule exigence est la coloration syntaxique. J'ai cherché sur Google mais je n'ai rien vu qui ressemblait à "le" bash plug-in.


quel est votre OS? essayez-vous de l'exécuter en tant qu'émulateur de shell sur Windows? kind of like Cygwin
amphibient

Réponses:


140

ShellEd semble prometteur, met en évidence la syntaxe et a des critiques positives, même si je ne l'ai pas essayé moi-même. Il a été approuvé pour inclusion dans la distribution par Redhat. Il y a un peu plus d'informations sur la page du plugin ShellEd sur le site Eclipse, et les instructions d'installation sur leur wiki.

Notez que si vous n'utilisez pas une version à jour d'Eclipse (au moment d'écrire ces lignes, Juno), vous devrez utiliser une version plus ancienne, par exemple, la 2.0.1 est compatible avec Indigo.


1
J'utilise ce plugin, et c'est assez utile.
Romain Linsolas

5
Corrige moi si je me trompe. Actuellement, ShellEd ne semble pas prendre en charge la complétion de mots audio, la refactorisation ou le débogage, ce qui le rend presque identique à tout éditeur de texte
prenant en

3
Cela ne fonctionne pas avec Eclipse 4. Quelqu'un connaît-il un autre plugin?
Pratik Khadloya

7
ShellEd fonctionne parfaitement avec Eclipse 4.5. Pour installer, choisissez "Installer un nouveau logiciel ..." dans le menu Aide d'Eclipse et mettez cette URL: sourceforge.net/projects/shelled/files/shelled/update
fred727

6
Aujourd'hui, allez sur eclipse.org/dltk/install.php . Installez via le site de mise à jour standard eclipse dans votre eclipse (par exemple http://download.eclipse.org/releases/neon/) Recherchez ensuite Programming languageset Dynamic Languages Toolkit - ShellEd.
Torsten

36

EDIT (8/3/2013): Utilisez http://sourceforge.net/projects/shelled/files/shelled/update/ pour la dernière version

EDIT (25/02/2013): Pas besoin d'installer l'outil Linux pour shelled 2.0.2 sur Eclipse 4.2.1. En outre, pas besoin de télécharger le fichier zip. Voici le site de mise à jour de shelled 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/

ANCIEN POSTE:

J'aime aussi Shelled. Si vous l'installez maintenant, vous devez télécharger le fichier zip et le pointer dans l'assistant d'installation d'un nouveau logiciel dans Eclipse. Vous devrez également installer le plugin man à partir de

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

Lien direct vers le fichier zip: ppl.ug/tvjARs_cKQE/dl
AlikElzin-kilaka

Site
shelled

+1 C'est l'information la plus précieuse du jour. J'aurais aimé l'avoir avant de visser mon installation Juno SR2 il y a une heure ...
Alain Pannetier

1
+1 pour l'URL de téléchargement ShellEd exacte. Vous ne pouvez plus télécharger ShellEd dans Eclipse Marketplace. ShellEd fonctionne très bien.
La-comadreja

2
ShellEd est disponible sur le site de mise à jour standard d'Eclipse Mars download.eclipse.org/releases/mars ... il est disponible sous l'entrée Langages de programmation -> Dynamic Languages ​​Toolkit - ShellEd IDE .
Abdull

13

Débogueur pour Bash version 3 (Bourne à nouveau shell).
Plugin pour Eclipse. Ne fonctionnera qu'avec l'éditeur de script shell ShellEd. basheclipse


10

Suivez simplement les instructions officielles du guide d' installation de ShellEd


Cela n'a pas fonctionné pour moi: mis dans le site de mise à jour, il n'a trouvé que shelled, qui a rapidement refusé d'installer parce qu'il voulait un module d'interface utilisateur.
Rob

3
Comme il est indiqué dans leurs documents ( sourceforge.net/apps/trac/shelled/wiki/Documentation/… ), vous devez ajouter ce download.eclipse.org/technology/linuxtools/update aux sites de logiciels disponibles. Après cela, tout devrait bien fonctionner!
pedromanoel

Juillet 2014: shelled n'est plus disponible via l'URL / repo linuxtools pour eclipse
woohoo le

7

L' éditeur gratuit EclipseColorer peut faire la coloration syntaxique des scripts bash.

Cependant, il n'utilise pas la "vue Outline" d'Eclipse, c'est-à-dire qu'il ne le remplit pas d'une liste de définitions de fonctions. Parfois, la mise en évidence de la syntaxe s'arrête au milieu du script. Ensuite, la réouverture du script aide.


1
J'ai utilisé ShellEd pendant un certain temps, mais il s'enlisait avec de gros fichiers et j'ai trouvé ses choix d'auto-identification frustrants. EclipseColorer Editor fonctionne bien pour mes besoins. Il est également agréable d'avoir cette longue liste de plug-ins d'autres types de fichiers.
Demyn

1
J'ai également utilisé ShellEd pendant deux ans, mais il continue de gâcher l'indentation, a une habitude très ennuyeuse de plier tous les commentaires au départ (non configurable) et est très lent. Je viens de passer à EclipseColorer, semble fonctionner correctement.
Tw Bert

4

Égrené

Les solutions ci-dessous pour installer ShellEd ne fonctionnent pas pour moi. Beaucoup d'erreurs sur les dépendances. Solution trouvée qui fonctionne pour moi.

Système:

Linux Lubuntu 12.04

IDE:

Eclipse Kepler

Dans Eclipse, accédez à Aide> Installer un nouveau logiciel

Cliquez sur Ajouter ...

Ajoutez l'emplacement suivant, http://download.eclipse.org/releases/kepler , et nommez-le "Eclipse Kepler".

Cliquez sur OK.

Sélectionnez le site Eclipse Kepler nouvellement créé.

Développez la section Développement d'entreprise Web, XML, Java EE et OSGi en bas. Sélectionnez Adaptateurs serveur WST.

Cliquez sur Suivant et installez comme d'habitude.

Redémarrez Eclipse

Ensuite, ajoutez le dépôt ShellEd de la même manière que ci-dessus: http://sourceforge.net/projects/shelled/files/shelled/update/

Et installez-le.

Redémarrez Eclipse.

A également travaillé dans Eclipse Indigo comme indiqué ici: http://docs.wraithmonster.com/install-shelled

Prendre plaisir :)


Je ne sais pas pourquoi, mais cela a également résolu le problème pour moi après 2 installations infructueuses plus tôt; Je suis sur Eclipse Kepler sur Mac OS X
Hans Z.18

3

Il existe maintenant un plugin de script bash dédié appelé "éditeur Bash". Il est disponible sur le marché éclipse:

Journal de l'éditeur Bash

Vous pouvez le trouver sur https://marketplace.eclipse.org/content/bash-editor ou par client marketplace lors de la recherche de "bash".

Le plugin fournit également un débogueur. Inisde Bash Editor playlist officielle YouTube, vous pouvez trouver des tutoriels sur l'utilisation, etc.

PS: je suis l'auteur du plugin mentionné.


Le plugin n'est plus BETA mais marqué comme productif / stable
de-jcup

Lien mort. Changes le.
Balaji Boggaram Ramanarayan

Non, ce n'est pas un lien mort: je viens d'ouvrir marketplace.eclipse.org/content/bash-editor et il répond pleinement. Peut-être avez-vous des problèmes de proxy ou de réseau?
de-jcup

Sensationnel !! Ça marche maintenant. Bref, merci. Je n'étais pas derrière un pare-feu. Appréciez votre redressement.
Balaji Boggaram Ramanarayan

2

Je vais reproduire ici un bon tutoriel, car j'ai perdu cet article et prend du temps pour le retrouver!

Ajout de la coloration syntaxique des nouvelles langues à Eclipse avec la bibliothèque Colorer

Supposons que vous ayez un fichier HRC contenant la syntaxe et la structure lexicale d'un langage de programmation qu'Eclipse ne prend pas en charge (par exemple D / Iptables ou tout autre langage de script).

En utilisant le plugin EclipseColorer, vous pouvez facilement en ajouter une prise en charge.

Allez dans Aide -> Installer un nouveau logiciel et cliquez sur Ajouter. Dans le champ Nom, écrivez Colorer et dans le champ Emplacement, écrivez http://colorer.sf.net/eclipsecolorer/

Sélectionnez l'entrée que vous venez d'ajouter dans le travail avec: zone de liste déroulante, attendez que la liste des composants se remplisse et cliquez sur Sélectionner tout

Cliquez sur Suivant et suivez les instructions

Une fois le plugin installé, fermez Eclipse.

Copiez votre fichier HRC dans [EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ types

[EclipseFolder] = /home/myusername/.eclipse

Utilisez votre éditeur de texte préféré pour ouvrir

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

Ajoutez l'élément prototype approprié. Par exemple, si votre fichier HRC est d.hrc, empty.hrc ressemblera à ceci:

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

Enregistrez les modifications et fermez l'éditeur de texte

Ouvrez Eclipse et allez dans Fenêtre -> Préférences -> Général -> Editeurs -> Associations de fichiers

Dans la section types de fichiers, cliquez sur Ajouter .. et indiquez le type de fichier approprié (par exemple .d)

Cliquez sur OK et cliquez sur votre entrée nouvellement ajoutée dans la liste

Dans la section des éditeurs associés, cliquez sur Ajouter .., sélectionnez Colorer Editor et appuyez sur OK

ok, le plus dur est que vous devez apprendre la syntaxe HCR.

Vous pouvez regarder

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

pour savoir comment faire et explorer de nombreux autres fichiers hcr. En ce moment, je n'ai trouvé aucune documentation.

Mon cadeau est un surlignage de syntaxe iptables basique et incomplet. Si vous vous améliorez, partagez avec moi.

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

Après cela, vous devez enregistrer le fichier sous iptables.hcr et ajouter à l'intérieur du pot:

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

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


J'ai installé EclipseColorer en ajoutant via la route habituelle "Aide / Installation / Ajout de site" d'Eclipse (site eclipse: colorer.sf.net/eclipsecolorer ) et c'était indolore. Puis j'ai redémarré et Colorer m'a très vite montré les scripts bash avec lesquels je voulais travailler dans une syntaxe soulignée de gentillesse. Pour celui qui veut juste ajouter des couleurs aux scripts, cela semble moins compliqué que d'installer ShellEd à partir de ce que je vois dans les blogs et les commentaires, mais je n'ai essayé que cela, pas les deux.
charles ross

1

ShellEd est un bon plugin pour Eclipse.

Ce lien m'a aidé à l'installer: http://mattnorris.me/blog/install-eclipse-shelled-plugin/

Pas:

  1. Téléchargez ShellEd: http://sourceforge.net/projects/shelled/files/latest/download - Le fichier est une archive zippée nommée quelque chose comme net.sourceforge.shelled-site-2.0.x.zip.

  2. Cliquez ensuite sur Aide> Installer un nouveau logiciel ...

  3. Cliquez sur Ajouter ... en haut à droite.
  4. Cliquez sur Archiver ...
  5. Accédez à l'emplacement où vous avez enregistré l'archive zippée net.sourceforge.shelled-site-2.0.x.zip et sélectionnez-le.
  6. Cliquez sur OK. (Ne vous inquiétez pas du champ Nom facultatif. Eclipse le nommera automatiquement.)
  7. Cochez la nouvelle case Shell Script.
  8. Cliquez sur Suivant.
  9. Cliquez à nouveau sur Suivant.
  10. Sélectionnez «J'accepte les termes du contrat de licence».
  11. Cliquez sur Terminer.
  12. Redémarrez Eclipse.

0

J'ai essayé ShellEd, mais il ne reconnaîtrait aucun de mes scripts shell, même lorsque j'ai redémarré eclipse. J'ai ajouté l'interpréteur ksh et en ai fait la valeur par défaut, mais cela n'a fait aucune différence.

Enfin, j'ai fermé l'onglet qui était ouvert et affichant un fichier ksh, puis je l'ai rouvert. Cela a fait fonctionner correctement. Après l'avoir utilisé pendant un certain temps, je peux également le recommander.


0

Cela fonctionne pour moi dans Oxygen.

1) Allez dans Aide> Eclipse Marketplace ... et recherchez «DLTK». Vous trouverez quelque chose comme "Shell Script (DLTK) 5.8.0". Installez-le et redémarrez Eclipse.

(Ou faites glisser le bouton «Installer» de cette page Web vers votre Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk )

Script de shell (DLTK)

2) Cliquez avec le bouton droit sur le fichier shell / batch dans l'Explorateur de projets> Ouvrir avec> Autre ... et sélectionnez Éditeur de script Shell. Vous pouvez également associer l'éditeur à tous les fichiers de cette extension.

Éditeur de script Shell


Les dépôts ne sont plus valides. Corrige le.
Balaji Boggaram Ramanarayan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.