ฉันต้องการเปิดไฟล์โฮสต์ Windows ใน Notepad ++ และเชื่อมโยงกับภาษาการเขียนโปรแกรมโดยอัตโนมัติเช่น Perl น่าเสียดายเนื่องจากไฟล์โฮสต์ไม่มีนามสกุลฉันไม่แน่ใจว่าจะทำอย่างไร
ฉันต้องการเปิดไฟล์โฮสต์ Windows ใน Notepad ++ และเชื่อมโยงกับภาษาการเขียนโปรแกรมโดยอัตโนมัติเช่น Perl น่าเสียดายเนื่องจากไฟล์โฮสต์ไม่มีนามสกุลฉันไม่แน่ใจว่าจะทำอย่างไร
คำตอบ:
หากไฟล์ไม่มีส่วนขยายจะไม่สามารถตั้งค่าให้เปิดด้วยแอปพลิเคชันเฉพาะสำหรับความรู้ของฉันได้อย่างไรก็ตามเมื่อคุณเปิดไฟล์ใน notepad ++ มาก่อนคุณสามารถเปิดไฟล์สำรองและจะแสดงเอกสารใน "เปิดไฟล์ล่าสุด" ใต้แท็บไฟล์ นี่เป็นวิธีที่ง่ายที่สุดในการเปิดไฟล์ที่ไม่มีนามสกุล
ฉันพบปัญหานี้เมื่อหลายปีที่แล้วและได้รับบางสิ่งที่สามารถใช้การได้:
ก่อนอื่นฉันก็คว้า โฮสต์ภาษาผู้ใช้ (สิ่งนี้แตกต่างจากที่ฉันใช้ แต่ควรใช้งานได้) เพิ่มสคริปต์ลงในไฟล์ userDefineLang.xml ใน "% appdata% / Roaming / Notepad ++" หรือใน "Program Files (x86) / Notepad ++" ที่จะช่วยให้การตั้งค่าภาษาสำหรับการเน้นไวยากรณ์ไฟล์โฮสต์ด้วยตนเอง
รับและกำหนดค่าต่อไป PythonScript ส่วนขยายสำหรับ Notepad ++ (ใช้ได้ผ่านทางโปรแกรมจัดการปลั๊กอิน) หลังจากติดตั้งแล้วให้ไปที่หัวข้อ "ปลั๊กอิน" และเลือก "การกำหนดค่า ... " ที่ด้านล่างของรายการ "การเริ่มต้น:" เลือก "ATSTARTUP" เพื่อให้สคริปต์เริ่มต้นทำงานอัตโนมัติเปิดขึ้นเมื่อคุณเปิด Notepad ++
จากนั้นฉันก็ได้ Modeline Parser ส่วนขยาย. ดาวน์โหลดและปฏิบัติตามคำแนะนำใน README โดยพื้นฐานแล้วให้คัดลอกเนื้อหาลงในโฟลเดอร์ปลั๊กอินของคุณ (ไม่ว่า PythonScript จะอยู่ที่ใด) จากนั้นให้คุณแก้ไข "startup.py" ในไดเรกทอรี "สคริปต์" ของ PythonScript และเพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของมัน:
import ModelineParser_dll
import ModelineFoldmethod # If you want to use the example option to fold based on indent
import ModelineLanguageDetectors # If you want to use the example language detectors
ModelineParser_dll.modeline_start()
ซึ่งรวมถึงและเปิดตัว Modeline Parser
สุดท้ายคุณต้องบอก Modeline Parser ว่าไฟล์โฮสต์มีลักษณะอย่างไรและจะทำอย่างไรกับไฟล์ ในการทำเช่นนั้นให้เข้าไปในไดเรกทอรี "lib" ของ PythonScripts และแก้ไข "ModelineLanguageDetectors.py" หลังจากรายการ 'makefile' เริ่มต้นให้เพิ่มสิ่งที่คล้ายกันมากสำหรับไฟล์โฮสต์ของคุณ:
ModelineParser_dll.modeline_add_preparse(lambda settings, name, path, text:
fnmatch.fnmatch(name, 'hosts*') and settings.__setitem__('language','hosts')
)
จากนั้นในตอนท้ายของไฟล์นั้นเชื่อมโยงไฟล์โฮสต์ของคุณกับภาษาผู้ใช้โฮสต์ที่เราเพิ่มในขั้นตอนแรก เพิ่มรายการสำหรับภาษาในพจนานุกรมในพารามิเตอร์ของการเรียกเมธอด modeline_add_languages:
'hosts': 'Hosts',
หลังจากนั้นปิดและรีสตาร์ท Notepad ++ หากเปิดอยู่ เปิดอีกครั้งและลองเปิดไฟล์โฮสต์ของคุณ ควรมีการเน้นไวยากรณ์โดยอัตโนมัติ ฉันพบบางสิ่งตามคำแนะนำเหล่านี้เมื่อหลายปีก่อน แต่ไม่สามารถหาได้จาก Google เครดิตส่วนใหญ่ไปที่ใครก็ตามที่เขียนว่าในเวลา