Plugin skrip Bash untuk Eclipse? [Tutup]


174

Apakah ada bashplug-in yang layak untuk Eclipse? Satu-satunya persyaratan saya adalah penyorotan sintaksis. Saya sudah mencari di Google tetapi tidak melihat apa pun yang tampak seperti "the" bash plug-in.


apa OS kamu? apakah Anda mencoba menjalankan ini sebagai emulator shell di Windows? jenis seperti Cygwin
amfibi

Jawaban:


140

ShellEd terlihat menjanjikan, tidak menyoroti sintaks, dan memiliki ulasan positif, meskipun saya belum mencobanya sendiri. Itu disetujui untuk dimasukkannya distro oleh Redhat. Ada sedikit lebih banyak informasi di halaman plugin ShellEd di situs Eclipse, dan instruksi instalasi di wiki mereka.

Perhatikan bahwa jika Anda tidak menjalankan versi Eclipse yang terbaru (pada tulisan ini, Juno) Anda harus menggunakan versi yang lebih lama, misalnya 2.0.1 kompatibel dengan Indigo.


1
Saya menggunakan plugin ini, dan ini sangat berguna.
Romain Linsolas

5
Koreksi saya jika saya salah. Saat ini, ShellEd tampaknya tidak mendukung audo-word-completion, refactoring, atau debugging, menjadikannya hampir sama dengan editor teks mana pun yang memiliki penyorotan sintaks dan dukungan cuplikan ..
kakyo

3
Ini tidak berfungsi dengan Eclipse 4. Apakah ada yang tahu plugin lain?
Pratik Khadloya

7
ShellEd Berfungsi sempurna dengan Eclipse 4.5. Untuk menginstal, pilih "Instal perangkat lunak baru ..." dari menu Bantuan Eclipse dan letakkan URL ini: sourceforge.net/projects/shelled/files/shelled/update
fred727

6
Sekarang pergi ke eclipse.org/dltk/install.php . Instal melalui situs pembaruan standar gerhana di dalam gerhana Anda (mis. http://download.eclipse.org/releases/neon/) Kemudian cari Programming languagesdan Dynamic Languages Toolkit - ShellEd.
Torsten

36

EDIT (8/3/2013): Gunakan http://sourceforge.net/projects/shelled/files/shelled/update/ untuk versi terbaru

EDIT (2/25/2013): Tidak perlu menginstal alat linux untuk shelled 2.0.2 di Eclipse 4.2.1. Juga, tidak perlu mengunduh file zip. Inilah situs pembaruan shelled 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/

POST LAMA:

Saya suka Shelled juga. Jika Anda menginstalnya sekarang, Anda perlu mengunduh file zip dan mengarahkannya ke wizard pemasangan perangkat lunak baru di Eclipse. Anda juga harus menginstal plugin man

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

Tautan langsung ke file zip: ppl.ug/tvjARs_cKQE/dl
AlikElzin-kilaka

Situs yang
dikupas

+1 Ini adalah info paling berharga untuk hari ini. Saya berharap saya memilikinya sebelum saya mengacaukan Juno SR2 saya instal satu jam yang lalu ...
Alain Pannetier

1
+1 untuk URL unduhan ShellEd yang tepat. Anda tidak lagi dapat mengunduh ShellEd di Eclipse Marketplace. ShellEd bekerja dengan sangat baik.
La-comadreja

2
Dikupas tersedia di Eclipse Mars standar situs update download.eclipse.org/releases/mars ... itu tersedia di bawah entri Bahasa Pemrograman -> Dynamic Bahasa Toolkit - Dikuliti IDE .
Abdull

13

Debugger untuk Bash versi 3 (Bourne lagi shell).
Plugin untuk Eclipse. Hanya akan bekerja dengan editor skrip shell ShellEd. basheclipse


10

Cukup ikuti instruksi resmi dari ShellEd's InstallGuide


Tidak berfungsi untuk saya: taruh di situs pembaruan, hanya ditemukan dikupas, yang segera menolak untuk menginstal karena ingin modul ui.
Rob

3
Seperti yang tertulis di dokumen mereka ( sourceforge.net/apps/trac/shelled/wiki/Documentation/… ), Anda harus menambahkan unduhan ini.eclipse.org/technology/linuxtools/update ke Situs Perangkat Lunak yang Tersedia. Setelah itu, semuanya akan bekerja dengan baik!
pedromanoel

Juli 2014: shelled tidak lagi tersedia melalui linuxtools URL / repo untuk eclipse.
Woohoo

7

Editor EclipseColorer gratis dapat melakukan penyorotan sintaks untuk skrip bash.

Namun, itu tidak menggunakan "tampilan garis besar" Eclipse, yaitu itu tidak mengisinya dengan daftar definisi fungsi. Terkadang penyorotan sintaks berhenti di tengah skrip. Kemudian membuka kembali skrip membantu.


1
Saya menggunakan ShellEd untuk sementara waktu, tetapi macet dengan file besar dan saya menemukan pilihan autoindentnya membuat frustasi. Editor EclipseColorer berfungsi dengan baik untuk tujuan saya. Ini juga baik untuk memiliki plug-in daftar besar jenis file lainnya.
Demyn

1
Saya juga menggunakan ShellEd selama dua tahun, tetapi itu terus mengacaukan lekukan, memiliki kebiasaan yang sangat mengganggu melipat semua komentar pada awalnya (tidak dapat dikonfigurasi), dan sangat lambat. Baru saja beralih ke EclipseColorer, tampaknya berfungsi dengan baik.
Tw Bert

4

ShellEd

Solusi di bawah ini cara menginstal ShellEd tidak bekerja untuk saya. Banyak kesalahan pada dependensi. Menemukan solusi yang cocok untuk saya.

Sistem:

Linux Lubuntu 12.04

IDE:

Eclipse Kepler

Di Eclipse, pergi ke Bantuan> Instal Perangkat Lunak Baru

Klik Tambah ...

Tambahkan Lokasi berikut, http://download.eclipse.org/releases/kepler , dan beri nama "Eclipse Kepler".

Klik OK.

Pilih situs Eclipse Kepler yang baru dibuat.

Rentangkan bagian Pengembangan Web, XML, Java EE, dan OSGi Enterprise di bagian bawah. Pilih WST Server Adapters.

Klik Next, dan instal seperti biasa.

Mulai ulang Eclipse

Kemudian tambahkan repo ShellEd juga seperti yang tercantum di atas: http://sourceforge.net/projects/shelled/files/shelled/update/

Dan instal.

Mulai ulang Eclipse.

Juga bekerja di Eclipse Indigo seperti yang dikatakan di sini: http://docs.wraithmonster.com/install-shelled

Nikmati :)


tidak tahu mengapa, tetapi ini memecahkan masalah bagi saya juga setelah 2 kali instalasi gagal; Saya menggunakan Eclipse Kepler di Mac OS X
Hans Z.

3

Sekarang ada plugin bash script khusus yang disebut "Bash editor". Ini tersedia di pasar gerhana:

Log editor bash

Anda dapat menemukannya di https://marketplace.eclipse.org/content/bash-editor atau oleh klien marketplace saat mencari "bash".

Plugin ini juga menyediakan debugger. Daftar Bash Editor putar YouTube resmi Inisde Anda dapat menemukan beberapa tutorial tentang penggunaan dll.

PS: Saya penulis plugin yang disebutkan.


Plugin tidak lagi BETA tetapi ditandai sebagai produktif / stabil
de-jcup

Tautan mati. Ubahlah.
Balaji Boggaram Ramanarayan

Tidak, ini bukan tautan mati: Saya baru saja membuka marketplace.eclipse.org/content/bash-editor dan ia merespons sepenuhnya. Mungkin Anda punya masalah proxy atau jaringan?
de-jcup

Wow !! Ini bekerja sekarang. Bagaimanapun, terima kasih. Saya tidak di belakang firewall. Hargai perputaran Anda.
Balaji Boggaram Ramanarayan

2

Saya akan mereproduksi tutorial yang baik di sini, karena saya kehilangan artikel ini dan membutuhkan waktu untuk menemukannya lagi!

Menambahkan penyorotan sintaks untuk bahasa baru ke Eclipse dengan pustaka Colorer

Katakanlah Anda memiliki file HRC yang mengandung sintaks dan struktur leksikal dari beberapa bahasa pemrograman yang tidak didukung Eclipse (misalnya D / Iptables atau bahasa skrip lainnya).

Menggunakan plugin EclipseColorer, Anda dapat dengan mudah menambahkan dukungan untuk itu.

Pergi ke Bantuan -> Instal Perangkat Lunak Baru dan klik Tambah .. Di bidang Nama tulis Colorer dan di bidang Lokasi tulis http://colorer.sf.net/eclipsecolorer/

Pilih entri yang baru saja Anda tambahkan dalam pekerjaan dengan: kotak kombo, tunggu daftar komponen untuk diisi dan klik Pilih Semua

Klik Berikutnya dan ikuti instruksi

Setelah plugin diinstal, tutup Eclipse.

Salin file HRC Anda ke [EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ types

[EclipseFolder] = /home/myusername/.eclipse

Gunakan editor teks favorit Anda untuk membuka

[EclipseFolder] \ plugins \ net.sf.colorer_0.9.9 \ colorer \ hrc \ auto \ empty.hrc

Tambahkan elemen prototipe yang sesuai. Misalnya, jika file HRC Anda adalah d.hrc, empty.hrc akan terlihat seperti ini:

<?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>

Simpan perubahan dan tutup editor teks

Buka Eclipse dan pergi ke Window -> Preferences -> General -> Editor -> Asosiasi File

Di bagian jenis file, klik Tambah .. dan isi jenis file yang sesuai (misalnya .d)

Klik OK dan klik entri Anda yang baru ditambahkan dalam daftar

Di bagian editor terkait, klik Tambah .., pilih Colorer Editor dan tekan OK

ok, bagian yang sulit adalah Anda harus belajar tentang sintaks HCR.

Anda bisa melihat

[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar

untuk mempelajari bagaimana melakukannya dan menjelajahi banyak file hcr lainnya. Saat ini saya tidak menemukan dokumentasi.

Hadiah saya adalah highlight sintaksis iptables dasar dan tidak lengkap. Jika Anda meningkatkan, silakan berbagi dengan saya.

<?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>

Setelah ini, Anda harus menyimpan file sebagai iptables.hcr dan menambahkan di dalam toples:

[EclipseFolder] /net.sf.colorer_0.9.9/colorer/hrc/common.jar

Berbasis di: https://ohadsc.wordpress.com/2012/05/26/adding-syntax-highlighting-for-new-languages-to-eclipse-with-the-colorer-library/


Saya memasang EclipseColorer dengan menambahkan melalui rute Eclipse "Help / Install / Add Site" yang biasa (situs eclipse: colorer.sf.net/eclipsecolorer ) dan itu tidak menyakitkan. Kemudian saya memulai kembali dan Colorer dengan sangat cepat menunjukkan kepada saya skrip bash yang ingin saya kerjakan dengan sintaks yang disorot. Untuk orang yang hanya ingin menambahkan warna ke skrip, ini tampaknya kurang berbelit-belit daripada menginstal ShellEd dari apa yang saya lihat di blog dan komentar, tetapi saya hanya mencoba ini, bukan keduanya.
charles ross

1

ShellEd adalah plugin yang bagus untuk Eclipse.

Tautan ini membantu saya menginstalnya: http://mattnorris.me/blog/install-eclipse-shelled-plugin/

Langkah:

  1. Unduh ShellEd: http://sourceforge.net/projects/shelled/files/latest/download - File ini adalah arsip zip bernama sesuatu seperti net.sourceforge.shelled-site-2.0.x.zip.

  2. Kemudian klik Bantuan> Instal Perangkat Lunak Baru ...

  3. Klik Tambah ... di kanan atas.
  4. Klik Arsipkan ...
  5. Arahkan ke tempat Anda menyimpan arsip zip zip.sourceforge.shelled-site-2.0.x.zip dan pilih.
  6. Klik OK. (Jangan khawatir tentang bidang Nama opsional. Eclipse akan menamainya secara otomatis.)
  7. Pilih kotak centang Shell Script baru.
  8. Klik Berikutnya.
  9. Klik Berikutnya lagi.
  10. Pilih "Saya menerima ketentuan perjanjian lisensi."
  11. Klik Selesai.
  12. Mulai ulang Eclipse.

0

Saya mencoba ShellEd, tetapi tidak mengenali skrip shell saya, bahkan ketika saya memulai kembali gerhana. Saya menambahkan interpreter ksh dan menjadikannya default, tetapi tidak membuat perbedaan.

Akhirnya, saya menutup tab yang terbuka dan menampilkan file ksh, lalu membukanya kembali. Itu membuatnya bekerja dengan benar. Setelah menggunakannya sebentar, saya juga bisa merekomendasikannya.


0

Ini bekerja untuk saya dalam Oksigen.

1) Pergi ke Bantuan> Eclipse Marketplace ... dan cari "DLTK". Anda akan menemukan sesuatu seperti "Script Shell (DLTK) 5.8.0". Instal dan reboot Eclipse.

(Atau seret tombol "Instal" dari halaman web ini ke Eclipse Anda: https://marketplace.eclipse.org/content/shell-script-dltk )

Script Shell (DLTK)

2) Klik kanan pada file shell / batch di Project Explorer> Open With> Other ... dan pilih Shell Script Editor. Anda juga dapat mengaitkan editor dengan semua file dari ekstensi itu.

Editor skrip shell


Repo tidak lagi valid. Perbaiki itu.
Balaji Boggaram Ramanarayan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.