Есть ли приличные плагины bash
для Eclipse? Мое единственное требование - подсветка синтаксиса. Я искал googled, но не видел ничего похожего на "плагин bash
.
Bash script плагин для Eclipse?
Ответ 1
ShellEd выглядит многообещающим, делает подсветку синтаксиса и имеет положительные отзывы, хотя я сам не пробовал. Это было одобрено для включения дистрибутива Redhat. Там немного больше информации о странице плагина ShellEd на сайте Eclipse и инструкции по установке в своей вики.
Обратите внимание, что если вы не используете обновленную версию Eclipse (начиная с этой записи, Juno), вам нужно использовать более старую версию, например 2.0.1 совместима с Indigo.
Ответ 2
EDIT (8/3/2013): используйте http://sourceforge.net/projects/shelled/files/shelled/update/ для последней версии
РЕДАКТИРОВАТЬ (2/25/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/
OLD POST:
Мне нравится Shelled. Если вы установите его сейчас, вам нужно загрузить zip файл и указать его в мастере установки нового программного обеспечения в Eclipse. Вам также потребуется установить плагин man из
http://download.eclipse.org/technology/linuxtools/update
Ответ 3
Отладчик для Bash версии 3 (Bourne again shell).
Плагин для Eclipse. Будет работать только с оболочкой script editor ShellEd. basheclipse
Ответ 4
Просто следуйте официальным инструкциям ShellEd InstallGuide
Ответ 5
Бесплатный EclipseColorer Editor может выделять синтаксис для сценариев bash.
Однако он не использует Eclipse "Outline view", то есть не заполняет его списком определений функций. Иногда подсветка синтаксиса просто останавливается в середине script. Затем снова открывается помощь script.
Ответ 6
шелушится
Решения ниже о том, как установить ShellEd, не работают для меня. Много ошибок в зависимостях. Найденное решение, которое работает для меня.
Система:
Linux Lubuntu 12.04
IDE:
Eclipse Kepler
В Eclipse откройте "Справка" > "Установить новое программное обеспечение"
Нажмите Добавить...
Добавьте следующее местоположение, http://download.eclipse.org/releases/kepler и назовите его "Eclipse Kepler".
Нажмите "ОК".
Выберите недавно созданный сайт Kepler Eclipse.
Разверните раздел "Развитие Интернета", "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
Наслаждайтесь:)
Ответ 7
Я воспроизведу хороший учебник здесь, потому что я потерял эту статью и потрачу некоторое время, чтобы найти ее снова!
Добавление подсветки синтаксиса для новых языков в Eclipse с помощью библиотеки Colorer
Скажем, у вас есть файл HRC, содержащий синтаксис и лексическую структуру некоторого языка программирования. Eclipse не поддерживает (например, D/Iptables или любой другой язык script).
Используя плагин EclipseColorer, вы можете легко добавить поддержку для него.
Перейдите в раздел Справка → Установить новое программное обеспечение и нажмите "Добавить". В поле "Имя" введите "Colorer" и в поле "Location" напишите http://colorer.sf.net/eclipsecolorer/
Выберите запись, которую вы только что добавили в работе: combo box, дождитесь заполнения списка компонентов и нажмите "Выбрать все"
Нажмите "Далее" и следуйте инструкциям
Как только плагин установлен, закройте Eclipse.
Скопируйте свой HRC файл в [EclipseFolder]\Plugins\net.sf.colorer_0.9.9\колорер\КПЧ\Авто\типа
[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)
Нажмите "ОК" и выберите новую добавленную запись в списке
В разделе связанных редакторов нажмите "Добавить..", выберите "Редактор цветных" и нажмите "ОК"
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="<<"/>
<symb name=">>"/>
<symb name="&"/>
<symb name="|"/>
<symb name="^"/>
<symb name="~"/>
<symb name="<"/>
<symb name=">"/>
<symb name="<="/>
<symb name=">="/>
<symb name="=="/>
<symb name="!="/>
<symb name="<>"/>
</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)?("{3}|'{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="&="/>
<symb name="|="/>
<symb name="^="/>
<symb name=">>="/>
<symb name="<<="/>
<symb name="**="/>
</keywords>
</scheme>
</type>
После этого вы должны сохранить файл как iptables.hcr и добавить внутри банку:
[EclipseFolder]/net.sf.colorer_0.9.9/colorer/hrc/common.jar
Ответ 8
В настоящее время существует специальный плагин bash-скрипта, который называется "Bash editor". Он доступен на торговой площадке затмения:
Вы можете найти его в https://marketplace.eclipse.org/content/bash-editor или у клиента Marketplace при поиске слова "bash".
Плагин также предоставляет отладчик. В официальном Bash Editor
списке воспроизведения YouTube вы можете найти несколько учебных пособий по использованию и т.д.
Ответ 9
ShellEd - хороший плагин для Eclipse.
Эта ссылка помогла мне установить ее: http://mattnorris.me/blog/install-eclipse-shelled-plugin/
Шаги:
-
Загрузить ShellEd: http://sourceforge.net/projects/shelled/files/latest/download - файл представляет собой архив с заархивированным именем, похожий на net.sourceforge.shelled-site-2.0.x.zip.
-
Затем нажмите "Справка" > "Установить новое программное обеспечение"...
- Нажмите "Добавить"... в правом верхнем углу.
- Нажмите "Архив"...
- Перейдите к месту сохранения zipped архива net.sourceforge.shelled-site-2.0.x.zip и выберите его.
- Нажмите "ОК". (Не беспокойтесь о дополнительном поле Name. Eclipse назовет его автоматически.)
- Установите новый флажок Shell Script.
- Нажмите "Далее".
- Нажмите "Далее" еще раз.
- Выберите "Я принимаю условия лицензионного соглашения".
- Нажмите "Готово".
- Перезапустить Eclipse.
Ответ 10
Я попробовал ShellEd, но он не узнал ни одного из моих сценариев оболочки, даже когда я перезапустил eclipse. Я добавил интерпретатор ksh и сделал его по умолчанию, но он не делал различий.
Наконец, я закрыл открытую вкладку и отобразил файл ksh, а затем снова открыл ее. Это заставило его работать правильно. Пользуясь им некоторое время, я также могу порекомендовать его.
Ответ 11
Это работает для меня в Oxygen.
1) Перейдите в раздел Справкa > Eclipse Marketplace... и найдите "DLTK". Вы найдете что-то вроде "Shell Script (DLTK) 5.8.0". Установите его и перезагрузите Eclipse.
(Или перетащите кнопку "Установить" с этой веб-страницы на ваш Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk)
2) Щелкните правой кнопкой мыши файл оболочки/пакета в Project Explorer > Open With > Other... и выберите Shell Script Editor. Вы также можете связать редактор со всеми файлами этого расширения.