Eclipse的Bash脚本插件?[关闭]


174

是否有bash用于Eclipse的不错的插件?我唯一的要求是语法突出显示。我在Google上搜索过,但没有看到任何类似于“该” bash插件的内容。


您的操作系统是什么?您是否要在Windows上将其作为Shell模拟器运行?有点像Cygwin
两栖游戏,2012年

Answers:


140

ShellEd看起来很有前途,可以突出显示语法,并具有积极的评价,尽管我自己还没有尝试过。它已被Redhat 批准用于发行版。Eclipse网站上的ShellEd插件页面上有更多信息,以及安装说明。,其Wiki上。

请注意,如果您没有运行Eclipse的最新版本(在撰写本文时,Juno),则需要使用旧版本,例如2.0.1与Indigo兼容。


1
我正在使用此插件,它非常有用。
罗曼·林索拉斯

5
如我错了请纠正我。目前,炮轰似乎并不支持AUDO-字完成,重构,或调试,使它几乎相同,有任何文本编辑器语法高亮和片段支持..
kakyo

3
它不适用于Eclipse4。有人知道其他插件吗?
Pratik Khadloya 2014年

7
ShellEd可与Eclipse 4.5完美配合。要安装,请从Eclipse帮助菜单中选择“安装新软件...”,然后输入以下URL:sourceforge.net/projects/shelled/files/shelled/update
fred727

6
现在去eclipse.org/dltk/install.php。通过Eclipse中的Eclipse标准更新站点进行安装(例如http://download.eclipse.org/releases/neon/),然后查找Programming languagesDynamic Languages Toolkit - ShellEd
Torsten

36

编辑(8/3/2013):使用http://sourceforge.net/projects/shelled/files/shelled/update/获取最新版本

编辑(2/25/2013):无需在Eclipse 4.2.1上安装带壳2.0.2的Linux工具。另外,无需下载zip文件。这是带壳的2.0.2的更新站点:http : //sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/

旧帖子:

我也喜欢Shelled。如果现在安装它,则需要下载zip文件,并在Eclipse中的“安装新软件”向导中指向它。您还需要从以下位置安装man插件

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

直接链接到zip文件:ppl.ug/tvjARs_cKQE/dl
AlikElzin-kilaka 2012年


+1这是当今最有价值的信息。我希望在一小时前拧紧Juno SR2之前就拥有它
Alain Pannetier 2013年

1
+1为确切的ShellEd下载URL。您不能再在Eclipse Marketplace中下载ShellEd。ShellEd效果很好。
La-comadreja 2014年

2
ShellEd可在标准Eclipse Mars 更新站点 download.eclipse.org/releases/mars ...上找到,它可在条目Programming Languages- > Dynamic Languages Toolkit-ShellEd IDE下找到
阿卜杜勒

13

Bash版本3的调试器(再次使用Bourne shell)。
Eclipse插件。仅适用于Shell脚本编辑器ShellEd。


10

只需遵循ShellEd的InstallGuide中的官方说明


对我不起作用:放在更新站点中,它发现只有带壳的,由于要使用ui模块而立即拒绝安装。
罗布(Rob)2012年

3
正如他们在其文档(sourceforge.net/apps/trac/shelled/wiki/Documentation/…)中所说,您必须将此download.eclipse.org/technology/linuxtools/update添加到Available Software Sites。之后,一切应该正常!
pedromanoel 2012年

2014年7月:带壳的Eclipse不再可以通过linuxtools URL / repo获得。
woohoo 2014年

7

免费的EclipseColorer编辑器可以对bash脚本进行语法高亮显示。

但是,它不使用Eclipse的“概述视图”,即它没有用函数定义列表填充它。有时,语法高亮仅在脚本中间停止。然后重新打开脚本会有所帮助。


1
我使用ShellEd已有一段时间,但是它陷入了大型文件的泥潭,我发现它的自动缩进选择令人沮丧。EclipseColorer Editor对于我的目的来说运行良好。将该插件包含很多其他文件类型也很不错。
Demyn 2013年

1
我也使用ShellEd了两年,但是它总是使缩进变得混乱,并且非常讨厌最初折叠所有注释(不可配置)的习惯,而且速度很慢。刚切换到EclipseColorer,似乎工作正常。
Tw Bert

4

壳牌

以下如何安装ShellEd的解决方案对我不起作用。依赖项上有很多错误。找到了适合我的解决方案。

系统:

Linux Lubuntu 12.04

IDE:

日蚀开普勒

在Eclipse中,转到帮助>安装新软件

点击添加...

添加以下位置http://download.eclipse.org/releases/kepler,并将其命名为“ Eclipse Kepler”。

单击确定。

选择新创建的Eclipse Kepler站点。

展开底部的Web,XML,Java EE和OSGi企业开发部分。选择WST服务器适配器。

单击下一步,然后像往常一样安装。

重新启动Eclipse

然后像上面列出的一样添加ShellEd存储库:http : //sourceforge.net/projects/shelled/files/shelled/update/

并安装它。

重新启动Eclipse。

也可以在Eclipse Indigo中使用,如下所示:http : //docs.wraithmonster.com/install-shelled

请享用 :)


不知道为什么,但是在之前两次安装失败后,这也为我解决了这个问题;我在Mac OS X上使用Eclipse Kepler
HansZ。2014年

3

现在有一个专用的bash脚本插件,称为“ Bash编辑器”。在日食市场上可以买到:

Bash编辑器日志

搜索“ bash”时,可以在https://marketplace.eclipse.org/content/bash-editor上找到它,也可以通过市场客户端来找到它。

该插件还提供了调试器。您可以在Inisde Bash Editor YouTube官方播放列表中找到有关用法等的一些教程。

PS:我是上述插件的作者。


该插件不再是测试版,而是标记为高效/稳定的
dejcup,

无效链接。更改。
Balaji Boggaram Ramanarayan

不,它不是一个死链接:我只是打开marketplace.eclipse.org/content/bash-editor,它会完全响应。也许您遇到代理或网络问题?
de-jcup

哇 !!现在正在工作。不管怎样,谢谢。我没有在防火墙后面。感谢您的周转。
Balaji Boggaram Ramanarayan

2

我将在此处复制一个很好的教程,因为我丢失了这篇文章,花了一些时间再次找到它!

使用Colorer库将新语言的语法突出显示添加到Eclipse

假设您有一个HRC文件,其中包含Eclipse不支持的某些编程语言的语法和词法结构(例如D / Iptables或任何其他脚本语言)。

使用EclipseColorer插件,您可以轻松添加对其的支持。

转到“帮助”->“安装新软件”,然后单击“添加”。在“名称”字段中写入Colorer,在“位置”字段中写入http://colorer.sf.net/eclipsecolorer/

选择您刚刚在使用方式中添加的条目:组合框,等待组件列表填充,然后单击全选。

单击下一步,然后按照说明进行操作

安装插件后,关闭Eclipse。

将您的HRC文件复制到[EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ types

[EclipseFolder] = /home/myusername/.eclipse

使用您喜欢的文本编辑器打开

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

添加适当的原型元素。例如,如果您的HRC文件是d.hrc,则empty.hrc将如下所示:

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

保存更改并关闭文本编辑器

打开Eclipse并转到窗口->首选项->常规->编辑器->文件关联

在“文件类型”部分中,单击“添加..”并填写适当的文件类型(例如,.d)

单击确定,然后单击列表中新添加的条目

在关联的编辑器部分中,单击添加。,选择着色器编辑器,然后按确定

好的,困难的部分是您必须了解HCR语法。

你可以看看

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

学习如何做并浏览其他许多hcr文件。目前,我没有找到任何文档。

我的礼物是iptables语法的基本和不完整。如果您有所改善,请与我分享。

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

之后,您必须将文件另存为iptables.hcr并添加到jar中:

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

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


我通过使用通常的Eclipse“帮助/安装/添加站点”路由(Eclipse站点:colorer.sf.net/eclipsecolorer)添加了EclipseColorer,它很轻松。然后我重新启动,Colorer很快就向我展示了我想使用的bash脚本,以突出显示的语法很好看。对于只想在脚本中添加颜色的人而言,这似乎比从我在博客和评论中看到的安装ShellEd所花费的时间要少,但是我只是尝试了一次,而不是两者都尝试。
查尔斯·罗斯(Charles Ross)

1

ShellEd是Eclipse的一个很好的插件。

该链接帮助我安装了它:http : //mattnorris.me/blog/install-eclipse-shelled-plugin/

脚步:

  1. 下载ShellEd:http : //sourceforge.net/projects/shelled/files/latest/download-该文件是一个压缩的存档文件,名称类似于net.sourceforge.shelled-site-2.0.x.zip。

  2. 然后单击帮助>安装新软件...

  3. 点击右上角的添加...。
  4. 点击存档...
  5. 导航到压缩存档文件net.sourceforge.shelled-site-2.0.x.zip的保存位置,然后选择它。
  6. 单击确定。(不必担心可选的Name字段。Eclipse将自动为它命名。)
  7. 选中新的Shell脚本复选框。
  8. 点击下一步。
  9. 再次单击下一步。
  10. 选择“我接受许可协议的条款”。
  11. 单击完成。
  12. 重新启动Eclipse。

0

我尝试了ShellEd,但是即使重新启动eclipse,它也无法识别我的任何Shell脚本。我添加了ksh解释器并将其设置为默认值,但没有区别。

最后,我关闭了打开的选项卡并显示ksh文件,然后重新打开它。这使其正常工作。使用一段时间后,我也可以推荐它。


0

在氧气中对我有用。

1)转到帮助> Eclipse Marketplace ...并搜索“ DLTK”。您会发现类似“ Shell脚本(DLTK)5.8.0”的内容。安装它并重新启动Eclipse。

(或将“安装”按钮从此网页拖放到Eclipse:https : //marketplace.eclipse.org/content/shell-script-dltk

Shell脚本(DLTK)

2)在“项目资源管理器”中右键单击shell /批处理文件>“打开方式”>“其他...”,然后选择“ Shell脚本编辑器”。您还可以将编辑器与该扩展名的所有文件关联。

Shell脚本编辑器


回购协议不再有效。改正它。
Balaji Boggaram Ramanarayan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.