Есть ли достойные bash
плагинов для Eclipse? Мое единственное требование - подсветка синтаксиса. Я погуглил, но не увидел ничего похожего на « bash
плагин».
Есть ли достойные bash
плагинов для Eclipse? Мое единственное требование - подсветка синтаксиса. Я погуглил, но не увидел ничего похожего на « bash
плагин».
Ответы:
ShellEd выглядит многообещающе, выделяет синтаксис и имеет положительные отзывы, хотя я сам не пробовал. Он был одобрен для включения в дистрибутив Redhat. Немного больше информации о странице плагина ShellEd на сайте Eclipse и инструкциях по установке на их вики.
Обратите внимание, что если вы не используете последнюю версию Eclipse (на момент написания этой статьи, Juno), вам нужно использовать более старую версию, например, 2.0.1 совместима с Indigo.
http://download.eclipse.org/releases/neon/
). Затем найдите Programming languages
и Dynamic Languages Toolkit - ShellEd
.
РЕДАКТИРОВАТЬ (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
Отладчик для Bash версии 3 (Bourne снова shell).
Плагин для Eclipse. Будет работать только с редактором сценариев оболочки ShellEd. basheclipse
Просто следуйте официальным инструкциям InstallGuide от ShellEd
Бесплатный редактор EclipseColorer может выполнять подсветку синтаксиса для скриптов bash.
Тем не менее, он не использует Eclipse «Outline view», то есть он не заполняет его списком определений функций. Иногда подсветка синтаксиса просто останавливается в середине скрипта. Тогда повторное открытие скрипта помогает.
шелушиться
Решения ниже, как установить 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
Наслаждаться :)
В настоящее время существует специальный плагин bash-скрипта, который называется «Bash editor». Это доступно на торговой площадке затмения:
Вы можете найти его по адресу https://marketplace.eclipse.org/content/bash-editor или по клиенту из торговой площадки при поиске «bash».
Плагин также предоставляет отладчик. В официальном Bash Editor
плейлисте YouTube Inisde вы можете найти несколько уроков по использованию и т. Д.
PS: я автор упомянутого плагина.
Я воспроизведу хороший урок здесь, потому что я потерял эту статью и потратил некоторое время, чтобы найти ее снова!
Добавление подсветки синтаксиса для новых языков в 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="<<"/>
<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 и добавить внутри jar:
[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar
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.
Затем нажмите Справка> Установить новое программное обеспечение ...
Я попробовал ShellEd, но он не распознал ни один из моих сценариев оболочки, даже когда я перезапустил затмение. Я добавил интерпретатор ksh и установил его по умолчанию, но он не изменился.
Наконец, я закрыл открытую вкладку с отображением файла ksh, а затем снова открыл ее. Это заставило его работать правильно. После некоторого использования я также могу порекомендовать его.
Это работает для меня в кислороде.
1) Перейдите в «Справка»> «Eclipse Marketplace ...» и найдите «DLTK». Вы найдете что-то вроде "Shell Script (DLTK) 5.8.0". Установите его и перезагрузите Eclipse.
(Или перетащите кнопку «Установить» с этой веб-страницы на Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk )
2) Щелкните правой кнопкой мыши файл оболочки / пакетный файл в Project Explorer> Открыть с помощью> Другой ... и выберите Редактор сценариев оболочки. Вы также можете связать редактор со всеми файлами этого расширения.