ทำ Notepad ++ ให้จำภาษาใดไฟล์หนึ่งโดยเฉพาะหรือไม่


10

ฉันมีไฟล์จำนวนมากที่ฉันต้องการให้มีสีต่างกันแม้ว่าจะมีนามสกุลเดียวกัน ตัวอย่างเช่นฉันมีไฟล์ * .config บางไฟล์ที่เป็นไฟล์ Python และบางไฟล์เป็นไฟล์ XML เมื่อฉันเปิดพวกเขาฉันต้องเปลี่ยนภาษาเป็น Python หรือ XML ด้วยตนเอง

มันจะดีถ้าเช่น Notepad ++ จะจำได้ว่า c: \ foo \ bar \ whatevs.config ควรใช้สไตล์ Python แต่ c: \ hey \ ho \ boo.config ควรใช้การใส่สไตล์ XML

มีวิธีใดใน Notepad ++ ที่จะพูดว่า "จำภาษาที่ใช้ในครั้งล่าสุดที่เปิดไฟล์" ปลั๊กอินอาจ?


คุณประสบปัญหาโดยการใช้นามสกุลไฟล์ที่ถูกต้องหรือไม่?
iglvzx

1
ฉันมีแอพ Python ที่ใช้ไฟล์. config ซึ่งเป็นไฟล์ Python จริงๆและ. NET ใช้ไฟล์. config ที่เป็นไฟล์ XML จริงๆ อีกตัวอย่างหนึ่งฉันมีไฟล์ markdown ที่ใช้นามสกุล. txt เพราะมันซิงค์กับแอพ Android ที่ไม่เข้าใจว่าไฟล์. md คืออะไร
mhenry1384

ฉันเห็น. มันจำภาษาที่คุณตั้งไว้เมื่อคุณปิด Notepad ++ โดยที่เปิดไฟล์แล้วเปิด Notepad ++ ใหม่ได้หรือไม่
iglvzx

2
ที่จริงแล้วมันจะทำอย่างไรถ้าคุณมีการ "ตรวจสอบเซสชั่นปัจจุบันสำหรับการเปิดตัวต่อไป" การตรวจสอบ แต่จะลืมเมื่อคุณปิดไฟล์และเปิดใหม่
mhenry1384

คำตอบ:


12

มีตัวเลือก GUI ในการตั้งค่าลิงก์คงที่ระหว่างนามสกุลไฟล์และภาษา (แทนที่จะแก้ไข%APPDATA% langs.xmlไฟล์หรือ%PROGRAMFILES% langs.model.xmlไฟล์ด้วยตนเองตามที่แนะนำ @ jakub.g):

หากคุณไปที่การตั้งค่า -> ตัวกำหนดค่าสไตล์ -> เลือกภาษาทางซ้ายจากนั้นที่ด้านล่างของหน้าจอสองกล่องข้อความปรากฏขึ้น:

Style Configurator

ในตัวอย่างนี้ฉันเพิ่ม "config" ลงในUser ext.กล่องข้อความดังนั้นเมื่อใดก็ตามที่ฉันเปิดไฟล์ที่มีนามสกุลไฟล์. config การเน้นไวยากรณ์ XML จะถูกเลือกโดยอัตโนมัติภายใต้เมนูภาษา

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

หากคุณต้องการจดจำการเน้นไวยากรณ์ที่เลือกสำหรับแต่ละไฟล์ฉันเชื่อว่าตัวเลือกเดียวคือการเลือกช่องทำเครื่องหมาย: การตั้งค่า -> การตั้งค่า -> MISC -> จำเซสชันปัจจุบันสำหรับการเปิดตัวครั้งต่อไป


มันไม่ได้บันทึกไว้ เมื่อคุณปิดและเปิดแผ่นจดบันทึก ++ อีกครั้งการเปลี่ยนแปลงจะหายไป
r3wt

@ r3wt ฉันเชื่อว่าคุณจำเป็นต้องมีrun as administratorมิฉะนั้นจะไม่มีสิทธิ์ในการบันทึกการตั้งค่าลงในโปรไฟล์ผู้ใช้ของคุณ
wweicker

สิ่งนี้จะไม่สามารถใช้ได้กับนามสกุลไฟล์ที่สร้างขึ้น คุณต้องลบส่วนขยายออกจากส่วนขยายของภาษาด้วยตนเองในไฟล์ langs.xml ไฟล์ดังกล่าวสามารถอยู่ใน% APPDATA% / Notepad ++ หรือไดเร็กทอรีการติดตั้ง Notepad ++ หรือในที่เก็บข้อมูลบนคลาวด์ของคุณเช่น DropBox, OneDrive หรือ GoogleDrive หากคุณมีการตั้งค่าในตัวเลือก Cloud ที่เปิดใช้งาน
Ian Stanway

สิ่งนี้ใช้ได้กับภาษาที่กำหนดเองหรือไม่ ฉันไม่พบของฉันที่ใดก็ได้ในรายการ
Fabian Röling

1

นี่ไม่ใช่สิ่งที่คุณต้องการ แต่นำไปใช้กับความคิดเห็นของคุณเกี่ยวกับไฟล์. txt เป็นไฟล์ Markdown ตัวเลือกหนึ่งที่เป็นไปได้คือการตั้ง Markdown เป็นภาษาสำหรับไฟล์. txt ทั้งหมด

สิ่งนี้ถือว่าติดตั้งmarkdown_npp แก้ไขไฟล์ต่อไปนี้ด้วยความเสี่ยงของคุณ (ทำสำเนาสำรองก่อนที่จะแก้ไขไฟล์เหล่านี้):

  • เปิด langs.xml จาก% appdata% \ Notepad ++
    • ลบส่วนขยายtxtจากภาษาปกติ:
      • ก่อน: <Language name="normal" ext="txt" />
      • หลังจาก: <Language name="normal" ext="" />
  • เปิด userDefineLang.xml จาก% appdata% \ Notepad ++
    • เพิ่มนามสกุลtxtให้กับภาษา Markdown:
      • ก่อน: <UserLang name="Markdown" ext="md">
      • หลังจาก: <UserLang name="Markdown" ext="md txt">
  • รีสตาร์ท Notepad ++

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

0

ในการเพิ่มการเชื่อมต่อคงที่ระหว่างส่วนขยายและภาษาให้เปิดโฟลเดอร์ NPP (เช่นC:\Program hFiles\Notepad++) มีไฟล์ XML หลายไฟล์ แก้ไขพวกเขา (ฉันจำไม่ได้ว่าตรงไหนlangs.xmlหรือlangs.model.xml)

ตัวอย่าง: <Language name="cpp" ext="h hpp hxx cpp cxx cc">

ค้นหาภาษาที่คุณต้องการและเพิ่มส่วนขยาย

อย่างไรก็ตามฉันไม่ทราบวิธีการทำให้ส่วนขยายเดียวกันแตกต่างกันไปตามโฟลเดอร์

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