Плагін 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
Виправте мене, якщо я помиляюся. В даний час, лущиться , здається, не підтримує AUDO-слово-завершення, рефакторінга, або налагодження, що робить його майже так само , як в будь-якому текстовому редакторі , який має підсвічування синтаксису і підтримка сніпети ..
kakyo

3
Він не працює з Eclipse 4. Хтось знає будь-який інший плагін?
Пратік Хадлоя

7
ShellEd чудово працює з Eclipse 4.5. Щоб встановити, виберіть "Встановити нове програмне забезпечення ..." у меню довідки Eclipse та
введіть

6
Сьогодні перейдіть до eclipse.org/dltk/install.php . Встановіть через стандартний сайт оновлення затемнення в межах затемнення (наприклад http://download.eclipse.org/releases/neon/) Потім знайдіть Programming languagesі Dynamic Languages Toolkit - ShellEd.
Торстен

36

EDIT (3.08.2013). Використовуйте http://sourceforge.net/projects/shelled/files/shelled/update/ для останньої версії

EDIT (25.02.2013): Не потрібно встановлювати інструмент Linux для обстріляного 2.0.2 на Eclipse 4.2.1. Також не потрібно завантажувати поштовий файл. Ось сайт оновлень захищеного 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/

СТАРИЙ ПОШТ:

Мені подобається і Шеллд. Якщо ви встановите його зараз, вам потрібно завантажити zip-файл і вказати на нього в майстрі встановлення нового програмного забезпечення в Eclipse. Вам також потрібно встановити плагін man від

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

Пряме посилання на zip-файл: ppl.ug/tvjARs_cKQE/dl
AlikElzin-kilaka

Обстріляний сайт: sourceforge.net/projects/shelled
AlikElzin-kilaka

+1 Це найцінніша інформація на сьогодні. Я хотів, щоб це було до того, як я накрутив установку Juno SR2 годину тому ...
Ален Паннетьє

1
+1 для точної URL-адреси завантаження ShellEd. Ви більше не можете завантажувати ShellEd на Eclipse Marketplace. ShellEd працює дуже добре.
La-comadreja

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


10

Просто дотримуйтесь офіційних інструкцій від InstallGuide ShellEd


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

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

Липень 2014 року: обстріляні файли більше не доступні через linuxtools URL / repo для затемнення.
woohoo

7

Безкоштовний редактор EclipseColorer може робити підсвічування синтаксису для скриптів bash.

Однак він не використовує "Контурний вигляд" Eclipse, тобто не заповнює його переліком визначень функцій. Іноді виділення синтаксису просто зупиняється посередині сценарію. Потім повторне відкриття сценарію допомагає.


1
Я використовував ShellEd деякий час, але він забився великими файлами, і я виявив, що його вибір автоінтенденту буде неприємним. EclipseColorer редактор добре працює для моїх цілей. Також непогано мати цей плагіни великий список інших типів файлів.
Демін

1
Я також використовував ShellEd протягом двох років, але він постійно псує відступи, має дуже дратівливу звичку складати всі коментарі спочатку (не налаштовуються), і дуже повільно. Щойно перейшов на EclipseColorer, здається, працює нормально.
Tw Bert

4

ShellEd

Нижче наведено рішення, як встановити 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.

Клацніть Далі та встановіть, як зазвичай.

Перезапустіть затемнення

Потім додайте ShellEd repo так само, як зазначено вище: http://sourceforge.net/projects/shelled/files/shelled/update/

І встановити його.

Перезапустіть затемнення.

Також працював у Eclipse Indigo, як тут сказано: http://docs.wraithmonster.com/install-shelled

Насолоджуйтесь :)


не знаю чому, але це вирішило проблему і для мене після 2 невдалих встановлень раніше; Я на Eclipse Kepler на Mac OS X
Hans Z.

3

Зараз існує спеціалізований плагін bash script під назвою "Bash editor". Він доступний на ринку затемнення:

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

Ви можете знайти його за адресою https://marketplace.eclipse.org/content/bash-editor або клієнтом на ринку під час пошуку "bash".

Плагін також забезпечує відладчик. У офіційному Bash Editor списку відтворення YouTube Inisde ви можете знайти підручники щодо використання тощо.

PS: Я є автором згаданого плагіна.


Плагін більше не BETA, але позначений як продуктивний / стабільний
de-jcup

Мертве посилання. Зміни це.
Баладжі Боггарам Раманараян

Ні, це не мертве посилання: я щойно відкрив marketplace.eclipse.org/content/bash-editor, і він реагує повною мірою. Можливо, у вас виникли проблеми з проксі або мережею?
de-jcup

Ого !! Його працює зараз. У будь-якому випадку, дякую. Я не був позаду брандмауера. Вдячний за поворот.
Баладжі Боггарам Раманараян

2

Я відтворять тут хороший підручник, тому що я втратив цю статтю і потребую певного часу, щоб її знову знайти!

Додавання виділення синтаксису для нових мов у Eclipse за допомогою бібліотеки Colorer

Скажімо, у вас є файл HRC, що містить синтаксис та лексичну структуру деякої мови програмування. Eclipse не підтримує (наприклад, D / Iptables або будь-яку іншу мову скрипта).

Використовуючи плагін EclipseColorer, ви можете легко додати його.

Перейдіть у Довідку -> Встановіть нове програмне забезпечення та натисніть кнопку Додати .. У полі Ім'я напишіть Колор і в полі Розташування напишіть http://colorer.sf.net/eclipsecolorer/

Виберіть запис, який ви тільки що додали в роботі з: комбо, зачекайте, поки список компонентів заповниться та натисніть кнопку Вибрати все

Клацніть Далі та дотримуйтесь інструкцій

Після встановлення плагіна закрийте Eclipse.

Скопіюйте файл HRC у [EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ type

[EclipseFolder] = /home/myusername/.eclipse

Використовуйте улюблений текстовий редактор, щоб відкрити

[EclipseFolder] \ плагіни \ 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>

Збережіть зміни та закрийте текстовий редактор

Відкрийте затемнення та перейдіть у вікно -> Налаштування -> Загальне -> Редактори -> Асоціації файлів

У розділі типів файлів натисніть кнопку Додати .. та заповніть відповідний тип файлу (наприклад, .d)

Натисніть кнопку ОК та натисніть щойно доданий запис у списку

У розділі пов'язаних редакторів натисніть кнопку Додати .., виберіть Редактор кольорів та натисніть OK

ОК, важка частина полягає в тому, що ви повинні дізнатися про синтаксис 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 і додати всередину банку:

[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 "Довідка / Встановлення / Додати сайт" (затемнення сайту: colorer.sf.net/eclipsecolorer ), і це було безболісно. Тоді я перезапустив, і Colorer дуже швидко показав мені баш сценарії, з якими я хотів працювати в синтаксисі. Для того, хто просто хоче додати кольори до сценаріїв, це здається менш заплутаним, ніж установка 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. Перейдіть до місця збереження архіву zipped net.sourceforge.shelled-site-2.0.x.zip та виберіть його.
  6. Натисніть кнопку ОК. (Не турбуйтеся про необов'язкове поле Ім'я. Eclipse буде називати його автоматично.)
  7. Установіть новий прапорець сценарію оболонки.
  8. Клацніть Далі.
  9. Клацніть Далі ще раз.
  10. Виберіть "Я приймаю умови ліцензійної угоди".
  11. Клацніть Готово.
  12. Перезапустіть затемнення.

0

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

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


0

Це працює для мене в Oxygen.

1) Перейдіть до Довідки> Eclipse Marketplace ... і знайдіть "DLTK". Ви знайдете щось на кшталт "Shell Script (DLTK) 5.8.0". Встановіть його та перезавантажте Eclipse.

(Або перетягніть кнопку "Встановити" з цієї веб-сторінки на Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk )

Сценарій оболонки (DLTK)

2) Клацніть правою кнопкою миші на оболонці / пакетному файлі в Провіднику проектів> Відкрити за допомогою> Інше ... і виберіть редактор сценаріїв оболонки. Ви також можете пов’язати редактор з усіма файлами цього розширення.

Редактор скриптів Shell


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