Bash script plugin para Eclipse? [cerrado]

174

¿Hay bashcomplementos decentes para Eclipse? Mi único requisito es resaltar la sintaxis. Busqué en Google pero no vi nada que pareciera "el" bash complemento.

Stu Thompson
fuente
cual es tu sistema operativo ¿Estás tratando de ejecutar esto como un emulador de shell en Windows? como Cygwin
anfibio

Respuestas:

140

ShellEd parece prometedor, resalta la sintaxis y tiene críticas positivas, aunque no lo he probado yo mismo. Fue aprobado para la inclusión de la distribución por Redhat. Hay un poco más de información en la página del complemento ShellEd en el sitio de Eclipse e instrucciones de instalación en su wiki.

Tenga en cuenta que si no está ejecutando una versión actualizada de Eclipse (al momento de escribir este artículo, Juno) deberá usar una versión anterior, por ejemplo 2.0.1 es compatible con Indigo.

ire_and_curses
fuente
1
Estoy usando este complemento, y es bastante útil.
Romain Linsolas
55
Corrígeme si me equivoco. Actualmente, ShellEd no parece admitir la finalización, refactorización o depuración de palabras de audo, por lo que es casi lo mismo que cualquier editor de texto que tenga resaltado de sintaxis y soporte de fragmentos ..
kakyo
3
No funciona con Eclipse 4. ¿Alguien conoce algún otro complemento?
Pratik Khadloya
77
ShellEd funciona perfectamente con Eclipse 4.5. Para instalar, elija "Instalar nuevo software ..." en el menú Ayuda de Eclipse y coloque esta URL: sourceforge.net/projects/shelled/files/shelled/update
fred727
66
Hoy en día vaya a eclipse.org/dltk/install.php . Instale a través del sitio de actualización estándar de eclipse dentro de su eclipse (por ejemplo http://download.eclipse.org/releases/neon/) Luego busque Programming languagesy Dynamic Languages Toolkit - ShellEd.
Torsten
36

EDITAR (8/3/2013): use http://sourceforge.net/projects/shelled/files/shelled/update/ para la última versión

EDITAR (25/02/2013): no es necesario instalar la herramienta de Linux para la versión 2.0.2 descascarada en Eclipse 4.2.1. Además, no es necesario descargar el archivo zip. Aquí está el sitio de actualización de Shelled 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/

ANTIGUO POSTE:

También me gusta Shelled. Si lo instala ahora, debe descargar el archivo zip y señalarlo en el asistente de instalación del nuevo software en Eclipse. También deberá instalar el complemento man desde

http://download.eclipse.org/technology/linuxtools/update
AlikElzin-kilaka
fuente
Enlace directo al archivo zip: ppl.ug/tvjARs_cKQE/dl
AlikElzin-kilaka
Sitio
encubierto
+1 Esta es la información más valiosa de hoy. Desearía tenerlo antes de atornillar mi instalación de Juno SR2 hace una hora ...
Alain Pannetier
1
+1 para la URL de descarga de ShellEd exacta. Ya no puede descargar ShellEd en Eclipse Marketplace. ShellEd funciona muy bien.
La-comadreja
2
ShellEd está disponible en el sitio de actualización estándar de Eclipse Mars download.eclipse.org/releases/mars ... está disponible en la entrada Lenguajes de programación -> Kit de herramientas de idiomas dinámicos - ShellEd IDE .
Abdull
13

Depurador para Bash versión 3 (Bourne nuevamente shell).
Complemento para Eclipse. Solo funcionará con el editor de scripts de shell ShellEd. basheclipse

avkosinsky
fuente
10

Simplemente siga las instrucciones oficiales de la Guía de instalación de ShellEd

usuario819893
fuente
No funcionó para mí: puesto en el sitio de actualización, encontró solo descascarado, que rápidamente se negó a instalar porque quería un módulo ui.
Rob
3
Como dice en sus documentos ( sourceforge.net/apps/trac/shelled/wiki/Documentation/… ), debe agregar esta descarga.eclipse.org/technology/linuxtools/update a los Sitios de software disponibles. Después de eso, ¡la cosa debería funcionar bien!
pedromanoel
Julio de 2014: desgranado ya no está disponible a través de linuxtools URL / repo para eclipse.
woohoo
7

El editor gratuito EclipseColorer puede resaltar la sintaxis de los scripts de bash.

Sin embargo, no utiliza la "Vista de esquema" de Eclipse, es decir, no la llena con una lista de definiciones de funciones. A veces, el resaltado de sintaxis simplemente se detiene en el medio del guión. Luego, reabrir el script ayuda.

knb
fuente
1
Usé ShellEd por un tiempo, pero se empantana con archivos grandes y encontré que sus elecciones de autoindent son frustrantes. EclipseColorer Editor está funcionando bien para mis propósitos. También es bueno tener esta lista grande de complementos de otros tipos de archivos.
Demyn
1
También usé ShellEd durante dos años, pero sigue arruinando la sangría, tiene el hábito muy molesto de doblar todos los comentarios inicialmente (no configurable) y es muy lento. Acabo de cambiar a EclipseColorer, parece funcionar bien.
Tw Bert
4

ShellEd

Las soluciones a continuación sobre cómo instalar ShellEd no funcionan para mí. Muchos errores en las dependencias. Solución encontrada que funciona para mí.

Sistema:

Linux Lubuntu 12.04

IDE:

Eclipse Kepler

En Eclipse, vaya a Ayuda> Instalar nuevo software

Haga clic en Agregar ...

Agregue la siguiente ubicación, http://download.eclipse.org/releases/kepler , y asígnele el nombre "Eclipse Kepler".

Haga clic en Aceptar.

Seleccione el sitio Eclipse Kepler recién creado.

Expanda la sección Desarrollo Web, XML, Java EE y OSGi Enterprise en la parte inferior. Seleccione Adaptadores de servidor WST.

Haga clic en Siguiente e instálelo como de costumbre.

Reiniciar Eclipse

Luego agregue el repositorio de ShellEd de la misma manera que se detalla anteriormente: http://sourceforge.net/projects/shelled/files/shelled/update/

E instalarlo.

Reinicie Eclipse.

También trabajé en Eclipse Indigo como se dice aquí: http://docs.wraithmonster.com/install-shelled

Disfruta :)

usuario3439968
fuente
No sé por qué, pero esto también resolvió el problema después de 2 instalaciones fallidas anteriores; Estoy en Eclipse Kepler en Mac OS X
Hans Z.
3

Ahora existe un complemento de script de bash dedicado llamado "Bash editor". Está disponible en el mercado eclipse:

Bash editor log

Puede encontrarlo en https://marketplace.eclipse.org/content/bash-editor o por el cliente del mercado al buscar "bash".

El complemento también proporciona un depurador. En la Bash Editor lista de reproducción oficial de YouTube de Inisde puede encontrar algunos tutoriales sobre el uso, etc.

PD: Soy el autor del complemento mencionado.

de-jcup
fuente
El complemento ya no es BETA, pero está marcado como productivo / estable
de-jcup
Enlace muerto Cambialo.
Balaji Boggaram Ramanarayan
No, no es un enlace inactivo: acabo de abrir marketplace.eclipse.org/content/bash-editor y responde completamente. ¿Quizás tienes problemas de proxy o de red?
de-jcup
Guau !! Está funcionando ahora. Gracias de todos modos. No estaba detrás del cortafuegos. Aprecio tu cambio.
Balaji Boggaram Ramanarayan
2

Reproduciré un buen tutorial aquí, porque perdí este artículo y me tomo un tiempo para encontrarlo nuevamente

Agregar resaltado de sintaxis para nuevos idiomas a Eclipse con la biblioteca Colorer

Supongamos que tiene un archivo HRC que contiene la sintaxis y la estructura léxica de algún lenguaje de programación que Eclipse no admite (por ejemplo, D / Iptables o cualquier otro lenguaje de script).

Usando el complemento EclipseColorer, puede agregar fácilmente soporte para él.

Vaya a Ayuda -> Instalar nuevo software y haga clic en Agregar. En el campo Nombre escriba Colorer y en el campo Ubicación escriba http://colorer.sf.net/eclipsecolorer/

Seleccione la entrada que acaba de agregar en el trabajo con: cuadro combinado, espere a que se complete la lista de componentes y haga clic en Seleccionar todo

Haga clic en Siguiente y siga las instrucciones.

Una vez que se instala el complemento, cierre Eclipse.

Copie su archivo HRC a [EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ types

[EclipseFolder] = /home/myusername/.eclipse

Usa tu editor de texto favorito para abrir

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

Agregue el elemento prototipo apropiado. Por ejemplo, si su archivo HRC es d.hrc, empty.hrc se verá así:

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

Guarde los cambios y cierre el editor de texto.

Abra Eclipse y vaya a Ventana -> Preferencias -> General -> Editores -> Asociaciones de archivos

En la sección de tipos de archivo, haga clic en Agregar ... y complete el tipo de archivo apropiado (por ejemplo .d)

Haga clic en Aceptar y haga clic en su entrada recién agregada en la lista

En la sección de editores asociados, haga clic en Agregar ..., seleccione Colorer Editor y presione OK

ok, la parte difícil es que debes aprender sobre la sintaxis de HCR.

Puedes mirar en

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

para aprender cómo hacerlo y explorar muchos otros archivos de hcr. En este momento no encontré ninguna documentación.

Mi regalo es un resaltado de sintaxis básico e incompleto de iptables. Si mejora, por favor comparta conmigo.

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

Después de esto, debe guardar el archivo como iptables.hcr y agregarlo dentro del jar:

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

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

macm
fuente
Instalé EclipseColorer agregando a través de la ruta habitual de "Ayuda / Instalar / Agregar sitio" de Eclipse (sitio de eclipse: colorer.sf.net/eclipsecolorer ) y fue indoloro. Luego reinicié y Colorer rápidamente me mostró los scripts de bash con los que quería trabajar en sintaxis resaltada. Para alguien que solo quiere agregar colores a los scripts, esto parece menos complicado que instalar ShellEd por lo que veo en blogs y comentarios, pero solo intenté esto, no ambos.
Charles Ross
1

ShellEd es un buen complemento para Eclipse.

Este enlace me ayudó a instalarlo: http://mattnorris.me/blog/install-eclipse-shelled-plugin/

Pasos:

  1. Descargue ShellEd: http://sourceforge.net/projects/shelled/files/latest/download : el archivo es un archivo comprimido denominado algo así como net.sourceforge.shelled-site-2.0.x.zip.

  2. Luego haga clic en Ayuda> Instalar nuevo software ...

  3. Haga clic en Agregar ... en la esquina superior derecha.
  4. Haga clic en Archivo ...
  5. Navegue hasta donde guardó el archivo comprimido net.sourceforge.shelled-site-2.0.x.zip y selecciónelo.
  6. Haga clic en Aceptar. (No se preocupe por el campo Nombre opcional. Eclipse lo nombrará automáticamente).
  7. Seleccione la nueva casilla de verificación Shell Script.
  8. Haga clic en Siguiente.
  9. Haga clic en Siguiente nuevamente.
  10. Seleccione "Acepto los términos del acuerdo de licencia".
  11. Haz clic en Finalizar.
  12. Reinicie Eclipse.
Steven
fuente
0

Intenté ShellEd, pero no reconoció ninguno de mis scripts de shell, incluso cuando reinicié eclipse. Agregué el intérprete ksh y lo convertí en el predeterminado, pero no hizo ninguna diferencia.

Finalmente, cerré la pestaña que estaba abierta y mostraba un archivo ksh, luego lo volví a abrir. Eso lo hizo funcionar correctamente. Después de haberlo usado por un tiempo, también puedo recomendarlo.

ivanlan
fuente
0

A mí me funciona en oxígeno.

1) Vaya a Ayuda> Eclipse Marketplace ... y busque "DLTK". Encontrarás algo como "Shell Script (DLTK) 5.8.0". Instálelo y reinicie Eclipse.

(O arrastre el botón "Instalar" de esta página web a su Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk )

Shell Script (DLTK)

2) Haga clic derecho en el archivo de shell / lote en Project Explorer> Abrir con> Otro ... y seleccione Shell Script Editor. También puede asociar el editor con todos los archivos de esa extensión.

Editor de script de shell

Alexander Ishmuradov
fuente
Los repos ya no son válidos. Corrígelo.
Balaji Boggaram Ramanarayan