Plugin de script Bash para Eclipse? [fechadas]

174

Existem bashplug-ins decentes para o Eclipse? Meu único requisito é o destaque da sintaxe. Pesquisei no Google, mas não vi nada parecido com "o bash plug-in".

Stu Thompson
fonte
qual é o seu sistema operacional? você está tentando executar isso como um emulador de shell no Windows? tipo como Cygwin
anfíbio 28/09

Respostas:

140

O ShellEd parece promissor, destaca a sintaxe e tem críticas positivas, embora eu ainda não tenha tentado. Foi aprovado para inclusão na distribuição pela Redhat. Há um pouco mais de informações na página do plug-in ShellEd no site Eclipse e instruções de instalação em seu wiki.

Observe que, se você não estiver executando uma versão atualizada do Eclipse (até o momento, Juno), precisará usar uma versão mais antiga, por exemplo, a 2.0.1 é compatível com o Indigo.

ire_and_curses
fonte
1
Estou usando este plugin, e é bastante útil.
Romain Linsolas
5
Corrija-me se eu estiver errado. Atualmente, sem casca não parece apoiar audo-word-conclusão, refatoração, ou depuração, tornando-se quase o mesmo que qualquer editor de texto que tem destaque de sintaxe e trechos apoiar ..
kakyo
3
Ele não funciona com o Eclipse 4. Alguém conhece algum outro plugin?
Pratik Khadloya 18/03/2014
7
O ShellEd funciona perfeitamente com o Eclipse 4.5. Para instalar, selecione "Instalar novo software ..." no menu Ajuda do Eclipse e colocar este URL: sourceforge.net/projects/shelled/files/shelled/update
fred727
6
Atualmente, vá para eclipse.org/dltk/install.php . Instale através do site de atualização padrão do eclipse no seu eclipse (por exemplo http://download.eclipse.org/releases/neon/). Procure Programming languagese Dynamic Languages Toolkit - ShellEd.
Torsten
36

EDIT (3/8/2013): Use http://sourceforge.net/projects/shelled/files/shelled/update/ para a versão mais recente

EDIT (25/2/2013): Não é necessário instalar a ferramenta linux para o shell 2.0.2 no Eclipse 4.2.1. Além disso, não há necessidade de baixar o arquivo zip. Aqui está o site de atualização do shell 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/

POSTO ANTIGO:

Eu também gosto da Shelled. Se você instalá-lo agora, precisará fazer o download do arquivo zip e apontá-lo para o assistente de instalação de novo software no Eclipse. Você também precisará instalar o plugin man a partir de

http://download.eclipse.org/technology/linuxtools/update
AlikElzin-kilaka
fonte
Link direto para o arquivo zip: ppl.ug/tvjARs_cKQE/dl
AlikElzin-kilaka
Site com shell: sourceforge.net/projects/shelled
AlikElzin-kilaka 25/11/2012
+1 Esta é a informação mais valiosa de hoje. Eu desejei que eu tinha antes eu estraguei minha Juno SR2 instalar uma hora atrás ...
Alain Pannetier
1
+1 para o URL exato do download do ShellEd. Não é mais possível baixar o ShellEd no Eclipse Marketplace. ShellEd funciona muito bem.
La-comadreja
2
O ShellEd está disponível no site de atualização padrão do Eclipse Mars download.eclipse.org/releases/mars ... está disponível na entrada Linguagens de Programação -> Dynamic Languages ​​Toolkit - ShellEd IDE .
Abdull
13

Depurador para Bash versão 3 (Bourne novamente shell).
Plugin para Eclipse. Só funcionará com o editor de scripts shell ShellEd. basheclipse

avkosinsky
fonte
10

Basta seguir as instruções oficiais do InstallGuide do ShellEd

user819893
fonte
Não funcionou para mim: coloquei no site de atualização, ele encontrou apenas shell, que prontamente se recusou a instalar porque queria um módulo de interface do usuário.
Rob
3
Como está descrito nos documentos ( sourceforge.net/apps/trac/shelled/wiki/Documentation/… ), você deve adicionar este download.eclipse.org/technology/linuxtools/update aos sites de software disponíveis. Depois disso, a coisa deve funcionar muito bem!
pedromanoel 6/06/12
Julho de 2014: o shelled não está mais disponível no URL / repositório linuxtools para eclipse.
23414 woohoo
7

O EclipseColorer Editor gratuito pode destacar a sintaxe dos scripts bash.

No entanto, ele não usa a "Visualização de estrutura de tópicos" do Eclipse, ou seja, não a preenche com uma lista de definições de funções. Às vezes, o destaque da sintaxe para no meio do script. A reabertura do script ajuda.

knb
fonte
1
Eu usei o ShellEd por um tempo, mas ele fica atolado em arquivos grandes e achei suas opções de autoindent frustrantes. O EclipseColorer Editor está funcionando bem para meus propósitos. Também é bom ter essa lista grande de plug-ins de outros tipos de arquivos.
Demyn
1
Também usei o ShellEd por dois anos, mas ele continua atrapalhando a indentação, tem o hábito muito irritante de dobrar todos os comentários inicialmente (não configurável) e é muito lento. Acabei de mudar para EclipseColorer, parece funcionar bem.
Tw Bert
4

ShellEd

As soluções abaixo como instalar o ShellEd não funcionam para mim. Muito erro nas dependências. Solução encontrada que funciona para mim.

Sistema:

Linux Lubuntu 12.04

IDE:

Eclipse Kepler

No Eclipse, vá para Ajuda> Instalar Novo Software

Clique em Adicionar ...

Adicione o seguinte local, http://download.eclipse.org/releases/kepler , e chame-o de "Eclipse Kepler".

Clique OK.

Selecione o site Eclipse Kepler recém-criado.

Expanda a seção Desenvolvimento da Web, XML, Java EE e OSGi Enterprise na parte inferior. Selecione Adaptadores de servidor WST.

Clique em Avançar e instale como de costume.

Reinicie o Eclipse

Em seguida, adicione o repositório ShellEd da mesma forma como listado acima: http://sourceforge.net/projects/shelled/files/shelled/update/

E instale-o.

Reinicie o Eclipse.

Também trabalhou no Eclipse Indigo, como foi dito aqui: http://docs.wraithmonster.com/install-shelled

Aproveitar :)

user3439968
fonte
não sei por que, mas isso também resolveu o problema depois de duas instalações malsucedidas anteriormente; Estou no Eclipse Kepler no Mac OS X
Hans Z.
3

Existe agora um plug-in de script bash dedicado chamado "Editor Bash". Está disponível no mercado eclipse:

Log do editor Bash

Você pode encontrá-lo em https://marketplace.eclipse.org/content/bash-editor ou pelo cliente do marketplace ao pesquisar "bash".

O plug-in também fornece um depurador. Na Bash Editor lista de reprodução oficial do YouTube da Inisde, você pode encontrar alguns tutoriais sobre o uso etc.

PS: Eu sou o autor do plugin mencionado.

de-jcup
fonte
O plug-in não é mais BETA, mas está marcado como produtivo / estável
de-jcup
Link morto. Mude.
Balaji Boggaram Ramanarayan
Não, não é um elo morto: acabei de abrir marketplace.eclipse.org/content/bash-editor e ele responde totalmente. Talvez você tenha problemas de proxy ou de rede?
de-jcup
Uau !! Está funcionando agora. De qualquer forma, obrigado. Eu não estava atrás de firewall. Aprecie sua resposta.
Balaji Boggaram Ramanarayan
2

Vou reproduzir um bom tutorial aqui, porque perdi este artigo e levo algum tempo para encontrá-lo novamente!

Adicionando realce de sintaxe para novos idiomas ao Eclipse com a biblioteca Colorer

Digamos que você tenha um arquivo HRC contendo a sintaxe e a estrutura lexical de alguma linguagem de programação que o Eclipse não suporta (por exemplo, D / Iptables ou qualquer outra linguagem de script).

Usando o plug-in EclipseColorer, você pode adicionar facilmente suporte a ele.

Vá para Ajuda -> Instalar novo software e clique em Adicionar. No campo Nome, escreva Colorer e, no local, escreva http://colorer.sf.net/eclipsecolorer/

Selecione a entrada que você acabou de adicionar no trabalho com: caixa de combinação, aguarde o preenchimento da lista de componentes e clique em Selecionar Tudo

Clique em Avançar e siga as instruções

Depois que o plug-in estiver instalado, feche o Eclipse.

Copie seu arquivo HRC para [EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ types

[EclipseFolder] = /home/myusername/.eclipse

Use seu editor de texto favorito para abrir

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

Adicione o elemento protótipo apropriado. Por exemplo, se o seu arquivo HRC for d.hrc, empty.hrc terá a seguinte aparência:

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

Salve as alterações e feche o editor de texto

Abra o Eclipse e vá para Janela -> Preferências -> Geral -> Editores -> Associações de Arquivos

Na seção tipos de arquivo, clique em Adicionar .. e preencha o tipo de arquivo apropriado (por exemplo .d)

Clique em OK e clique na entrada recém-adicionada na lista

Na seção editores associados, clique em Adicionar .., selecione Editor de cores e pressione OK.

ok, a parte difícil é que você deve aprender sobre a sintaxe do HCR.

Você pode procurar

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

para aprender como fazê-lo e explorar muitos outros arquivos da hcr. Neste momento não encontrei nenhuma documentação.

Meu presente é um destaque básico e incompleto da sintaxe do iptables. Se você melhorar, por favor, compartilhe comigo.

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

Depois disso, você deve salvar o arquivo como iptables.hcr e adicionar dentro do jar:

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

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

macm
fonte
Instalei o EclipseColorer adicionando através da rota usual "Ajuda / Instalação / Adicionar site" do Eclipse (site eclipse: colorer.sf.net/eclipsecolorer ) e era indolor. Em seguida, reiniciei e o Colorer rapidamente me mostrou os scripts do bash com os quais eu queria trabalhar, com destaque na sintaxe. Para quem quer apenas adicionar cores aos scripts, isso parece menos complicado do que instalar o ShellEd do que vejo em blogs e comentários, mas tentei apenas isso, não os dois.
Charles Ross
1

ShellEd é um bom plugin para o Eclipse.

Este link me ajudou a instalá-lo: http://mattnorris.me/blog/install-eclipse-shelled-plugin/

Passos:

  1. Faça o download do ShellEd: http://sourceforge.net/projects/shelled/files/latest/download - O arquivo é um archive compactado com o nome de net.sourceforge.shelled-site-2.0.x.zip.

  2. Em seguida, clique em Ajuda> Instalar novo software ...

  3. Clique em Adicionar ... no canto superior direito.
  4. Clique em Arquivar ...
  5. Navegue até onde você salvou o arquivo compactado zip net.sourceforge.shelled-site-2.0.x.zip e selecione-o.
  6. Clique OK. (Não se preocupe com o campo Nome opcional. O Eclipse o nomeará automaticamente.)
  7. Marque a nova caixa de seleção Shell Script.
  8. Clique em Next.
  9. Clique em Avançar novamente.
  10. Selecione "Aceito os termos do contrato de licença".
  11. Clique em Finish.
  12. Reinicie o Eclipse.
Steven
fonte
0

Eu tentei o ShellEd, mas ele não reconheceu nenhum dos meus scripts de shell, mesmo quando reiniciei o eclipse. Eu adicionei o intérprete ksh e o tornei o padrão, mas não fez diferença.

Por fim, fechei a guia que estava aberta e exibia um arquivo ksh e depois o reabri. Isso fez funcionar corretamente. Depois de usá-lo por um tempo, também posso recomendá-lo.

ivanlan
fonte
0

Funciona para mim em oxigênio.

1) Vá para Ajuda> Eclipse Marketplace ... e procure por "DLTK". Você encontrará algo como "Shell Script (DLTK) 5.8.0". Instale-o e reinicie o Eclipse.

(Ou arraste o botão "Instalar" desta página da web para o Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk )

Script de shell (DLTK)

2) Clique com o botão direito do mouse no arquivo shell / lote em Project Explorer> Abrir com> Outros ... e selecione Shell Script Editor. Você também pode associar o editor a todos os arquivos dessa extensão.

Editor de scripts Shell

Alexander Ishmuradov
fonte
Os repositórios não são mais válidos. Corrija isto.
Balaji Boggaram Ramanarayan