Eclipse用のまともなbash
プラグインはありますか?私の唯一の要件は、構文の強調表示です。グーグルで調べましたが、"the"bash
プラグインのようなものは見ませんでした。
ShellEd は有望に見え、構文の強調表示を行い、肯定的なレビューがありますが、私はそれを試していません。 Redhatによるディストリビューションのインクルードでは 承認済み でした。 Eclipseサイトの ShellEdプラグインページ と、Wikiの インストール手順 にもう少し情報があります。
Eclipseの最新バージョン(この記事の執筆時点ではJuno)を実行していない場合、古いバージョンを使用する必要があることに注意してください。たとえば、2.0.1はIndigoと互換性があります。
編集(2013年8月3日): http://sourceforge.net/projects/shelled/files/shelled/を使用update / 最新バージョンの場合
EDIT(2013年2月25日):Eclipse 4.2.1にシェル2.0.2のLinuxツールをインストールする必要はありません。また、Zipファイルをダウンロードする必要もありません。 shelled 2.0.2の更新サイトは次のとおりです。 http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/
古い投稿:
Shelledも好きです。今すぐインストールする場合は、Eclipseの新しいソフトウェアのインストールウィザードでZipファイルをダウンロードしてポイントする必要があります。また、manプラグインをインストールする必要があります
http://download.Eclipse.org/technology/linuxtools/update
Bashバージョン3のデバッガー(Bourne again Shell)。
Eclipse用プラグイン。 ShellスクリプトエディターShellEdでのみ動作します。 basheclipse
ShellEdのInstallGuide の公式の指示に従ってください。
無料の EclipseColorer Editor は、bashスクリプトの構文強調表示を行うことができます。
ただし、Eclipseの「アウトラインビュー」は使用しません。つまり、Eclipseには関数定義のリストが表示されません。スクリプトの途中で構文の強調表示が停止する場合があります。次に、スクリプトを再度開くと役立ちます。
ShellEd
ShellEdをインストールする方法の下のソリューションは、私にとっては機能しません。依存関係に関する多くのエラー。私に合ったソリューションを見つけました。
システム:
Linux Lubuntu 12.04
IDE:
Eclipse Kepler
Eclipseで、[ヘルプ]> [新しいソフトウェアのインストール]に移動します
追加...をクリックします.
次の場所、 http://download.Eclipse.org/releases/kepler を追加し、「Eclipse Kepler」という名前を付けます。
OKをクリックします。
新しく作成された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
楽しい :)
私はこの記事を失い、再び見つけるのに時間がかかるので、ここで良いチュートリアルを再現します!
Colorerライブラリを使用してEclipseに新しい言語の構文強調表示を追加する
Eclipseがサポートしていないプログラミング言語(D/Iptablesまたはその他のスクリプト言語など)の構文と字句構造を含むHRCファイルがあるとします。
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\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>
変更を保存し、テキストエディターを閉じます
Eclipseを開き、[ウィンドウ]-> [設定]-> [一般]-> [エディタ]-> [ファイルの関連付け]に移動します。
[ファイルタイプ]セクションで、[追加...]をクリックし、適切なファイルタイプ(たとえば.d)を入力します。
[OK]をクリックし、リストに新しく追加したエントリをクリックします
関連するエディターセクションで、[追加...]をクリックし、[カラーエディター]を選択して[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として保存し、jar内に追加する必要があります。
[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar
現在、「Bashエディター」と呼ばれる専用のbashスクリプトプラグインが存在します。 Eclipseマーケットプレイスで入手できます。
https://marketplace.Eclipse.org/content/bash-editor で見つけることができます。または、「bash」を検索するときにマーケットプレイスクライアントで見つけることができます。
プラグインは現在ベータ版としてタグ付けされていますが、安定しています。
ShellEdはEclipseの優れたプラグインです。
このリンクはそれをインストールするのに役立ちました: http://mattnorris.me/blog/install-Eclipse-shelled-plugin/
手順:
ShellEdのダウンロード: http://sourceforge.net/projects/shelled/files/latest/download -ファイルは、netなどの名前のzip形式のアーカイブです。 sourceforge.shelled-site-2.0.x.Zip。
次に、[ヘルプ]> [新しいソフトウェアのインストール...]をクリックします。
ShellEdを試しましたが、Eclipseを再起動しても、シェルスクリプトは認識されませんでした。 kshインタープリターを追加してデフォルトにしましたが、違いはありませんでした。
最後に、開いていてkshファイルを表示しているタブを閉じてから、再度開きました。それが正常に動作するようになりました。しばらく使用した後、私はそれをお勧めすることもできます。
それは酸素で私のために動作します。
1)[ヘルプ]> [Eclipse Marketplace ...]に移動し、「DLTK」を検索します。 「Shell Script(DLTK)5.8.0」のようなものが見つかります。インストールしてEclipseを再起動します。
(または、このWebページからEclipseに「インストール」ボタンをドラッグアンドドロップします。 https://marketplace.Eclipse.org/content/Shell-script-dltk )
2)Project ExplorerでShell/batchファイルを右クリックし、Open With> Other ...を選択して、Shell Script Editorを選択します。エディターをその拡張子のすべてのファイルに関連付けることもできます。