Czy są jakieś przyzwoite bash
wtyczki do Eclipse? Moim jedynym wymaganiem jest podświetlanie składni. Wyszukałem w Google, ale nie widziałem niczego, co wyglądałoby jak „ta” bash
wtyczka.
Czy są jakieś przyzwoite bash
wtyczki do Eclipse? Moim jedynym wymaganiem jest podświetlanie składni. Wyszukałem w Google, ale nie widziałem niczego, co wyglądałoby jak „ta” bash
wtyczka.
Odpowiedzi:
ShellEd wygląda obiecująco, wyróżnia składnię i ma pozytywne recenzje, chociaż sam tego nie próbowałem. Został zatwierdzony do włączenia do dystrybucji przez Redhat. Jest trochę więcej informacji na stronie wtyczki ShellEd w witrynie Eclipse, a instrukcje instalacji na ich wiki.
Pamiętaj, że jeśli nie masz aktualnej wersji Eclipse (w chwili pisania tego tekstu, Juno), musisz użyć starszej wersji, na przykład 2.0.1 jest kompatybilny z Indigo.
http://download.eclipse.org/releases/neon/
) Następnie poszukaj Programming languages
i Dynamic Languages Toolkit - ShellEd
.
EDYCJA (03.08.2013): Użyj http://sourceforge.net/projects/shelled/files/shelled/update/, aby uzyskać najnowszą wersję
EDYCJA (25.02.2013): Nie trzeba instalować narzędzia linux dla shelled 2.0.2 na Eclipse 4.2.1. Nie ma też potrzeby pobierania pliku zip. Oto witryna aktualizacji shelled 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/
STARY POST:
Lubię też Shelled. Jeśli zainstalujesz go teraz, musisz pobrać plik zip i wskazać go w kreatorze instalacji nowego oprogramowania w Eclipse. Będziesz także musiał zainstalować wtyczkę man z
http://download.eclipse.org/technology/linuxtools/update
Debugger dla Bash w wersji 3 (ponownie powłoka Bourne'a).
Wtyczka do Eclipse. Działa tylko z edytorem skryptów powłoki ShellEd. basheclipse
Po prostu postępuj zgodnie z oficjalnymi instrukcjami z InstallGuide firmy ShellEd
Darmowy edytor EclipseColorer może wykonywać podświetlanie składni skryptów bash.
Jednak nie używa „widoku konspektu” Eclipse, tj. Nie wypełnia go listą definicji funkcji. Czasami podświetlanie składni po prostu zatrzymuje się w środku skryptu. Pomaga wtedy ponowne otwarcie skryptu.
Skorupowy
Poniższe rozwiązania dotyczące instalacji ShellEd nie działają dla mnie. Dużo błędów w zależnościach. Znalazłem rozwiązanie, które działa dla mnie.
System:
Linux Lubuntu 12.04.2018
IDE:
Eclipse Kepler
W Eclipse przejdź do Pomoc> Zainstaluj nowe oprogramowanie
Kliknij Dodaj ...
Dodaj następującą lokalizację, http://download.eclipse.org/releases/kepler i nazwij ją „Eclipse Kepler”.
Kliknij OK.
Wybierz nowo utworzoną witrynę Eclipse Kepler.
Rozwiń sekcję Web, XML, Java EE i OSGi Enterprise Development u dołu. Wybierz WST Server Adapters.
Kliknij Dalej i zainstaluj jak zwykle.
Uruchom ponownie Eclipse
Następnie dodaj repozytorium ShellEd podobnie jak wymienione powyżej: http://sourceforge.net/projects/shelled/files/shelled/update/
I zainstaluj.
Uruchom ponownie Eclipse.
Pracował również w Eclipse Indigo, jak powiedziano tutaj: http://docs.wraithmonster.com/install-shelled
Cieszyć się :)
Istnieje teraz dedykowana wtyczka do skryptu basha o nazwie „Edytor Bash”. Jest dostępny na targowisku Eclipse:
Możesz go znaleźć na https://marketplace.eclipse.org/content/bash-editor lub w kliencie marketplace podczas wyszukiwania hasła „bash”.
Wtyczka zapewnia również debugger. Inisde oficjalna Bash Editor
lista odtwarzania YouTube, w której można znaleźć kilka samouczków dotyczących użytkowania itp.
PS: Jestem autorem wspomnianej wtyczki.
Przedstawię tutaj dobry samouczek, ponieważ zgubiłem ten artykuł i potrzebuję trochę czasu, aby go ponownie znaleźć!
Dodanie podświetlania składni dla nowych języków do Eclipse za pomocą biblioteki Colorer
Załóżmy, że masz plik HRC zawierający składnię i strukturę leksykalną jakiegoś języka programowania, którego Eclipse nie obsługuje (na przykład D / Iptables lub inny język skryptowy).
Korzystając z wtyczki EclipseColorer, możesz łatwo dodać jej obsługę.
Idź do Pomoc -> Zainstaluj nowe oprogramowanie i kliknij Dodaj. W polu Nazwa wpisz Colorer, aw polu Lokalizacja wpisz http://colorer.sf.net/eclipsecolorer/
Wybierz wpis, który właśnie dodałeś w pracy z: pole kombi, poczekaj na wypełnienie listy składników i kliknij Wybierz wszystko
Kliknij Dalej i postępuj zgodnie z instrukcjami
Po zainstalowaniu wtyczki zamknij Eclipse.
Skopiuj plik HRC do [EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ types
[EclipseFolder] = /home/myusername/.eclipse
Otwórz swój ulubiony edytor tekstu
[EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ empty.hrc
Dodaj odpowiedni element prototypu. Na przykład, jeśli twój plik HRC to d.hrc, pusty.hrc będzie wyglądał następująco:
<?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>
Zapisz zmiany i zamknij edytor tekstu
Otwórz Eclipse i przejdź do Window -> Preferences -> General -> Editors -> File Associations
W sekcji typów plików kliknij Dodaj ... i wpisz odpowiedni typ pliku (na przykład .d)
Kliknij OK i kliknij nowo dodany wpis na liście
W sekcji powiązanych edytorów kliknij Dodaj ..., wybierz Edytor Colorer i naciśnij OK
ok, najtrudniejsze jest to, że musisz nauczyć się składni HCR.
Możesz zajrzeć do środka
[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar
aby dowiedzieć się, jak to zrobić i przejrzeć wiele innych plików hcr. W tej chwili nie znalazłem żadnej dokumentacji.
Mój prezent to podstawowe i niekompletne wyróżnienie składni iptables. Jeśli poprawisz się, podziel się ze mną.
<?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>
Następnie musisz zapisać plik jako iptables.hcr i dodać do jar:
[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar
ShellEd to dobra wtyczka do Eclipse.
Ten link pomógł mi go zainstalować: http://mattnorris.me/blog/install-eclipse-shelled-plugin/
Kroki:
Pobierz ShellEd: http://sourceforge.net/projects/shelled/files/latest/download - Plik jest spakowanym archiwum o nazwie np. Net.sourceforge.shelled-site-2.0.x.zip.
Następnie kliknij Pomoc> Zainstaluj nowe oprogramowanie ...
Próbowałem ShellEd, ale nie rozpoznał on żadnego z moich skryptów powłoki, nawet po ponownym uruchomieniu zaćmienia. Dodałem interpreter ksh i ustawiłem go jako domyślny, ale nie robiło to różnicy.
W końcu zamknąłem otwartą kartę i wyświetlałem plik ksh, a następnie ponownie go otworzyłem. To sprawiło, że działało poprawnie. Po pewnym czasie mogę go również polecić.
U mnie działa w Oxygen.
1) Przejdź do Help> Eclipse Marketplace ... i wyszukaj „DLTK”. Znajdziesz coś w rodzaju „Skrypt powłoki (DLTK) 5.8.0”. Zainstaluj go i zrestartuj Eclipse.
(Lub przeciągnij przycisk „Zainstaluj” z tej strony na Eclipse: https://marketplace.eclipse.org/content/shell-script-dltk )
2) Kliknij prawym przyciskiem myszy plik powłoki / wsadowy w Eksploratorze projektów> Otwórz za pomocą> Inne ... i wybierz Edytor skryptów powłoki. Możesz także powiązać edytor ze wszystkimi plikami tego rozszerzenia.