ฉันจะเชื่อมโยงไฟล์โฮสต์ Windows ใน Notepad ++ กับภาษาที่ระบุได้อย่างไร


0

ฉันต้องการเปิดไฟล์โฮสต์ Windows ใน Notepad ++ และเชื่อมโยงกับภาษาการเขียนโปรแกรมโดยอัตโนมัติเช่น Perl น่าเสียดายเนื่องจากไฟล์โฮสต์ไม่มีนามสกุลฉันไม่แน่ใจว่าจะทำอย่างไร

คำตอบ:


2

หากไฟล์ไม่มีส่วนขยายจะไม่สามารถตั้งค่าให้เปิดด้วยแอปพลิเคชันเฉพาะสำหรับความรู้ของฉันได้อย่างไรก็ตามเมื่อคุณเปิดไฟล์ใน notepad ++ มาก่อนคุณสามารถเปิดไฟล์สำรองและจะแสดงเอกสารใน "เปิดไฟล์ล่าสุด" ใต้แท็บไฟล์ นี่เป็นวิธีที่ง่ายที่สุดในการเปิดไฟล์ที่ไม่มีนามสกุล


1
คำถามคือเกี่ยวกับวิธีเชื่อมโยงภาษากับไฟล์โฮสต์ใน notepad ++ ไม่ใช่วิธีเชื่อมโยงกับ notepad ++
Máté Juhász

Notepad ++ มีคุณสมบัติที่มีประโยชน์ซึ่งคุณสามารถเลือกภาษาที่ไฟล์นั้นอยู่ แต่เมื่อคุณตัดสินใจด้วยตนเองในไฟล์ที่ไม่มีส่วนขยายแล้วมันจะไม่สามารถบันทึกได้ .. เว้นแต่คุณจะเปิดไฟล์จากเนื้อหาล่าสุด ในกรณีนั้นระบบจะกำหนดภาษาล่าสุดที่คุณใช้กับไฟล์โดยอัตโนมัติ ดังนั้นฉันรู้ว่าคำตอบของฉันดูเหมือนจะไม่ทั้งหมดที่งดงาม แต่ก็ใช้งานได้

1
ที่จริงแล้วสิ่งนี้ ไม่ ทำงานโชคไม่ดี
vertigoelectric

0

ฉันพบปัญหานี้เมื่อหลายปีที่แล้วและได้รับบางสิ่งที่สามารถใช้การได้:

  • ก่อนอื่นฉันก็คว้า โฮสต์ภาษาผู้ใช้ (สิ่งนี้แตกต่างจากที่ฉันใช้ แต่ควรใช้งานได้) เพิ่มสคริปต์ลงในไฟล์ 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 เครดิตส่วนใหญ่ไปที่ใครก็ตามที่เขียนว่าในเวลา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.