มีbash
ปลั๊กอินที่เหมาะสมสำหรับ Eclipse หรือไม่? ความต้องการเฉพาะของฉันคือการเน้นไวยากรณ์ ฉัน googled เกี่ยวกับ แต่ไม่เห็นสิ่งที่ดูเหมือน" bash
ปลั๊กอิน "
มีbash
ปลั๊กอินที่เหมาะสมสำหรับ Eclipse หรือไม่? ความต้องการเฉพาะของฉันคือการเน้นไวยากรณ์ ฉัน googled เกี่ยวกับ แต่ไม่เห็นสิ่งที่ดูเหมือน" bash
ปลั๊กอิน "
คำตอบ:
ShellEdดูมีแนวโน้มว่าจะเน้นไวยากรณ์และมีความเห็นเชิงบวกแม้ว่าฉันจะไม่ได้ลองด้วยตัวเอง มันได้รับการอนุมัติสำหรับการรวม distro โดย Redhat มีข้อมูลเพิ่มเติมเล็กน้อยในหน้าปลั๊กอิน ShellEdบนไซต์ Eclipse และคำแนะนำในการติดตั้งในบนวิกิของพวกเขา
โปรดทราบว่าหากคุณไม่ได้ใช้งาน Eclipse รุ่นล่าสุด (ณ วันที่เขียนนี้ Juno) คุณจะต้องใช้เวอร์ชั่นที่เก่ากว่าเช่น 2.0.1 เข้ากันได้กับ Indigo
http://download.eclipse.org/releases/neon/
) จากนั้นมองหาและProgramming languages
Dynamic Languages Toolkit - ShellEd
แก้ไข (8/3/2556): ใช้http://sourceforge.net/projects/shelled/files/shelled/update/สำหรับรุ่นล่าสุด
แก้ไข (2/25/2013): ไม่จำเป็นต้องติดตั้งเครื่องมือ linux สำหรับ shelled 2.0.2 บน Eclipse 4.2.1 นอกจากนี้ไม่จำเป็นต้องดาวน์โหลดไฟล์ zip นี่คือเว็บไซต์อัปเดตของ shelled 2.0.2: http://sourceforge.net/projects/shelled/files/shelled/ShellEd%202.0.2/update/
โพสต์เก่า:
ฉันชอบ Shelled เช่นกัน หากคุณติดตั้งทันทีคุณต้องดาวน์โหลดไฟล์ zip และชี้ไปที่ตัวช่วยสร้างซอฟต์แวร์ใหม่ใน Eclipse คุณจะต้องติดตั้งปลั๊กอินของมนุษย์ด้วย
http://download.eclipse.org/technology/linuxtools/update
ดีบักเกอร์สำหรับ Bash เวอร์ชัน 3 (Bourne shell อีกครั้ง)
ปลั๊กอินสำหรับ Eclipse จะทำงานกับตัวแก้ไขสคริปต์เชลล์ ShellEd เท่านั้น basheclipse
เพียงทำตามคำแนะนำอย่างเป็นทางการจากInstallGuide ของ ShellEd
EclipseColorer Editorฟรีสามารถทำการเน้นไวยากรณ์สำหรับสคริปต์ทุบตี
อย่างไรก็ตามมันไม่ได้ใช้ "มุมมองเค้าร่าง" ของ Eclipse นั่นคือมันไม่ได้เติมรายการของนิยามฟังก์ชัน บางครั้งการเน้นไวยากรณ์จะหยุดกลางสคริปต์ จากนั้นเปิดสคริปต์อีกครั้งช่วย
ตะพาบ
โซลูชันด้านล่างวิธีติดตั้ง ShellEd ไม่ทำงานสำหรับฉัน ข้อผิดพลาดมากมายในการอ้างอิง พบวิธีแก้ปัญหาที่เหมาะกับฉัน
ระบบ:
Linux Lubuntu 12.04
IDE:
Eclipse Kepler
ใน Eclipse ไปที่วิธีใช้> ติดตั้งซอฟต์แวร์ใหม่
คลิกเพิ่ม ...
เพิ่มตำแหน่งที่ตั้งต่อไปนี้http://download.eclipse.org/releases/keplerและตั้งชื่อว่า "Eclipse Kepler"
คลิกตกลง
เลือกไซต์ Eclipse Kepler ที่สร้างขึ้นใหม่
ขยายส่วนของเว็บ, XML, Java EE และ OSGi Enterprise Development ที่ด้านล่าง เลือกเซิร์ฟเวอร์อะแดปเตอร์ WST
คลิกถัดไปและติดตั้งเหมือนปกติ
รีสตาร์ท Eclipse
จากนั้นเพิ่ม repo ของ ShellEd เช่นเดียวกันตามที่ระบุไว้ด้านบน: http://sourceforge.net/projects/shelled/files/shelled/update/
และทำการติดตั้ง
รีสตาร์ท Eclipse
ยังทำงานใน Eclipse Indigo ตามที่กล่าวไว้ที่นี่: http://docs.wraithmonster.com/install-shelled
สนุก :)
ขณะนี้มีปลั๊กอินสคริปต์ทุบตีเฉพาะที่เรียกว่า "ตัวแก้ไข Bash" มีให้ที่ตลาด eclipse:
คุณสามารถค้นหาได้ที่https://marketplace.eclipse.org/content/bash-editorหรือลูกค้าตลาดเมื่อค้นหา "bash"
ปลั๊กอินนี้ยังให้บริการดีบักเกอร์ Inisde เป็นทางการBash Editor
เพลย์ลิสต์ YouTubeคุณสามารถค้นหาแบบฝึกหัดเกี่ยวกับการใช้งาน ฯลฯ
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] \ ปลั๊กอิน \ net.sf.colorer_0.9.9 \ colorer \ HRC \ อัตโนมัติ \ 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 และไปที่ Window -> Preferences -> General -> Editors -> File Associations
ในส่วนประเภทไฟล์คลิกเพิ่ม .. และกรอกประเภทไฟล์ที่เหมาะสม (เช่น. 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 จากนั้นเปิดอีกครั้ง นั่นทำให้มันทำงานได้อย่างถูกต้อง หลังจากใช้ไปซักพักผมก็สามารถแนะนำได้
มันใช้งานได้สำหรับฉันใน Oxygen
1)ไปที่ความช่วยเหลือ> Eclipse Marketplace ... และค้นหา "DLTK" คุณจะพบบางสิ่งเช่น "Shell Script (DLTK) 5.8.0" ติดตั้งและรีบูต Eclipse
(หรือลากปุ่ม "ติดตั้ง" จากหน้าเว็บนี้ไปยัง Eclipse ของคุณ: https://marketplace.eclipse.org/content/shell-script-dltk )
2)คลิกขวาที่ไฟล์ shell / batch ใน Project Explorer> Open With> Other ... และเลือก Shell Script Editor คุณยังสามารถเชื่อมโยงตัวแก้ไขกับไฟล์ทั้งหมดของนามสกุลนั้น