Bash скрипт плагин для Eclipse? [закрыто]


174

Есть ли достойные bashплагинов для Eclipse? Мое единственное требование - подсветка синтаксиса. Я погуглил, но не увидел ничего похожего на « bash плагин».


какая у тебя ОС? Вы пытаетесь запустить это как эмулятор оболочки в Windows? вроде как Cygwin
амфибия

Смотрите также: stackoverflow.com/questions/5324471/…
Frosty Z

Ответы:


140

ShellEd выглядит многообещающе, выделяет синтаксис и имеет положительные отзывы, хотя я сам не пробовал. Он был одобрен для включения в дистрибутив Redhat. Немного больше информации о странице плагина ShellEd на сайте Eclipse и инструкциях по установке на их вики.

Обратите внимание, что если вы не используете последнюю версию Eclipse (на момент написания этой статьи, Juno), вам нужно использовать более старую версию, например, 2.0.1 совместима с Indigo.


1
Я использую этот плагин, и он довольно полезен.
Ромен Линсолас

5
Поправьте меня если я ошибаюсь. В настоящее время ShellEd, по-видимому, не поддерживает завершение слов, реорганизацию или отладку, что делает его почти таким же, как любой текстовый редактор, который имеет подсветку синтаксиса и поддержку фрагментов ..
kakyo

3
Он не работает с Eclipse 4. Кто-нибудь знает какой-либо другой плагин?
Пратик Хадлоя

7
ShellEd отлично работает с Eclipse 4.5. Чтобы установить, выберите «Установить новое программное обеспечение ...» в меню справки Eclipse и
введите

6
В настоящее время перейдите на eclipse.org/dltk/install.php . Установите через стандартный сайт обновлений eclipse в вашем eclipse (например http://download.eclipse.org/releases/neon/). Затем найдите Programming languagesи Dynamic Languages Toolkit - ShellEd.
Торстен

36

РЕДАКТИРОВАТЬ (8/3/2013): используйте http://sourceforge.net/projects/shelled/files/shelled/update/ для последней версии

РЕДАКТИРОВАТЬ (25.02.2013): Не нужно устанавливать инструмент linux для шеллбла 2.0.2 на Eclipse 4.2.1. Также не нужно скачивать 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


+1 Это самая ценная информация на сегодня. Хотелось бы, чтобы он был у меня до того, как я прикрутил установку Juno SR2 час назад ...
Ален Паннетье,

1
+1 для точного URL загрузки ShellEd. Вы больше не можете загружать ShellEd в Eclipse Marketplace. ShellEd работает очень хорошо.
La-comadreja

2
ShellEd доступен на стандартном сайте обновлений Eclipse Mars download.eclipse.org/releases/mars ... он доступен в разделе Языки программирования -> Набор инструментов динамических языков - IDE ShellEd .
Абдул

13

Отладчик для Bash версии 3 (Bourne снова shell).
Плагин для Eclipse. Будет работать только с редактором сценариев оболочки ShellEd. basheclipse


10

Просто следуйте официальным инструкциям InstallGuide от ShellEd


У меня не сработало: поместил на сайт обновления, он нашел только шелл, который быстро отказался от установки, потому что хотел модуль пользовательского интерфейса.
Роб

3
Как сказано в их документах ( sourceforge.net/apps/trac/shelled/wiki/Documentation/… ), вы должны добавить этот файл download.eclipse.org/technology/linuxtools/update на доступные сайты программного обеспечения. После этого все должно работать нормально!
Педроманоэль

Июль 2014: шелл больше не доступен через linuxtools URL / repo для eclipse.
Woohoo

7

Бесплатный редактор EclipseColorer может выполнять подсветку синтаксиса для скриптов bash.

Тем не менее, он не использует Eclipse «Outline view», то есть он не заполняет его списком определений функций. Иногда подсветка синтаксиса просто останавливается в середине скрипта. Тогда повторное открытие скрипта помогает.


1
Некоторое время я использовал ShellEd, но он увязал с большими файлами, и я обнаружил, что его автоматический выбор отступает. Редактор EclipseColorer хорошо работает для моих целей. Также приятно иметь в этом плагине большой список файлов других типов.
Демын

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 Enterprise Development внизу. Выберите серверные адаптеры WST.

Нажмите Далее и установите как обычно.

Перезапустите Eclipse

Затем добавьте репозиторий ShellEd, как указано выше: http://sourceforge.net/projects/shelled/files/shelled/update/

И установить его.

Перезапустите Eclipse.

Также работал в Eclipse Indigo, как сказано здесь: http://docs.wraithmonster.com/install-shelled

Наслаждаться :)


не знаю почему, но это решило проблему и для меня после 2 неудачных установок ранее; Я нахожусь на Eclipse Kepler на Mac OS X
Ханс З.

3

В настоящее время существует специальный плагин bash-скрипта, который называется «Bash editor». Это доступно на торговой площадке затмения:

Журнал редактора Bash

Вы можете найти его по адресу https://marketplace.eclipse.org/content/bash-editor или по клиенту из торговой площадки при поиске «bash».

Плагин также предоставляет отладчик. В официальном Bash Editor плейлисте YouTube Inisde вы можете найти несколько уроков по использованию и т. Д.

PS: я автор упомянутого плагина.


Плагин больше не является бета
-версией,

Мертвая ссылка. Измени это.
Баладжи Боггарам Раманараян

Нет, это не мертвая ссылка: я только что открыл marketplace.eclipse.org/content/bash-editor, и он полностью отвечает. Может быть, у вас проблемы с прокси или сетью?
de-jcup

Вот это да !! Теперь работает. В любом случае, спасибо. Я не был за брандмауэром. Цените ваш поворот.
Баладжи Боггарам Раманараян

2

Я воспроизведу хороший урок здесь, потому что я потерял эту статью и потратил некоторое время, чтобы найти ее снова!

Добавление подсветки синтаксиса для новых языков в Eclipse с библиотекой Colorer

Допустим, у вас есть файл 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 \ колорер \ КПЧ \ Авто \ 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).

Нажмите «ОК» и выберите новую запись в списке.

В соответствующем разделе редакторов нажмите «Добавить», выберите «Colorer Editor» и нажмите «ОК».

Хорошо, сложная часть заключается в том, что вы должны узнать о синтаксисе 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/


Я установил EclipseColorer, добавив через обычный маршрут Eclipse «Help / Install / Add Site» (eclipse site: colorer.sf.net/eclipsecolorer ), и это было безболезненно. Затем я перезапустился, и Colorer очень быстро показал мне сценарии bash, с которыми я хотел работать, в синтаксисе выделил приятность. Для того, кто просто хочет добавить цвета в сценарии, это кажется менее запутанным, чем установка ShellEd из того, что я вижу в блогах и комментариях, но я попробовал только это, а не оба.
Чарльз Росс

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 Script.
  8. Нажмите кнопку "Далее.
  9. Нажмите Далее еще раз.
  10. Выберите «Я принимаю условия лицензионного соглашения».
  11. Нажмите Готово.
  12. Перезапустите Eclipse.

0

Я попробовал ShellEd, но он не распознал ни один из моих сценариев оболочки, даже когда я перезапустил затмение. Я добавил интерпретатор ksh и установил его по умолчанию, но он не изменился.

Наконец, я закрыл открытую вкладку с отображением файла ksh, а затем снова открыл ее. Это заставило его работать правильно. После некоторого использования я также могу порекомендовать его.


0

Это работает для меня в кислороде.

1) Перейдите в «Справка»> «Eclipse Marketplace ...» и найдите «DLTK». Вы найдете что-то вроде "Shell Script (DLTK) 5.8.0". Установите его и перезагрузите Eclipse.

(Или перетащите кнопку «Установить» с этой веб-страницы на Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk )

Shell Script (DLTK)

2) Щелкните правой кнопкой мыши файл оболочки / пакетный файл в Project Explorer> Открыть с помощью> Другой ... и выберите Редактор сценариев оболочки. Вы также можете связать редактор со всеми файлами этого расширения.

Редактор сценариев оболочки


Репо больше не действительны. Исправь это.
Баладжи Боггарам Раманараян
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.