1.Notepad plus與語(yǔ)言相關(guān)的配置文件主要有:
langs.xml :
所有支持的語(yǔ)言
langs.model.xml :
跟langs.xml的內(nèi)容一樣酝锅,大概是備份文件吧
r語(yǔ)言為例,說(shuō)明其格式(我刪掉了很多關(guān)鍵詞)
<Language name="r" ext="r s splus" commentLine="#">
<Keywords name="instre1">if else repeat while function for in next break TRUE FALSE NULL NA Inf NaN</Keywords>
<Keywords name="instre2">abbreviate abline</Keywords>
<Keywords name="type1">acme aids</Keywords>
</Language>
userDefineLang.xml :
用戶自定義文件
- 1.如userDefineLang_ANSYS.xml是ansys語(yǔ)言定義
- 2.可以在notepad++的官網(wǎng)下載锭魔,也可自己定義生成(GUI菜單:語(yǔ)言-自定義語(yǔ)言格式)
stylers.xml和stylers.model.xml:
默認(rèn)的主題文件,其他的主題文件在themes里痴颊,每種語(yǔ)言的格式
<LexerType name="r" desc="r" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="INSTRUCTION WORD" styleID="2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="BASE WORD" styleID="3" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre2" />
<WordsStyle name="KEYWORD" styleID="4" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
<WordsStyle name="NUMBER" styleID="5" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="6" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING2" styleID="7" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="8" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="INFIX" styleID="10" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="9" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
</LexerType>
2.代碼提示、補(bǔ)全:
notepad++\plugins\APIs路徑下的配置文件
3.代碼自動(dòng)完成
- 用quicktext插件,所有的自定義語(yǔ)言被看成一種书释,不能單獨(dú)各自定義。這與notepad++自己的內(nèi)部機(jī)制有關(guān)赊窥,不管安裝什么插件都一樣爆惧。他們并不能識(shí)別你是自定義的什么語(yǔ)言。
- 我試過(guò)zen.conding,snipptes,都沒(méi)用的
-
間接實(shí)現(xiàn):
notepad++里面不是有很多不用的語(yǔ)言嗎锨能?把里需要的語(yǔ)言定義成它扯再!
步驟(以markdown偽裝成makefile語(yǔ)言為例):
刪除自定義的markdown語(yǔ)言
在GUI-設(shè)置-語(yǔ)言格式設(shè)置里,選定makefile,在左下方的自定義后綴名里加md MD
在langs.model.xml和langs.xml中的關(guān)鍵詞修改成markdown的(實(shí)現(xiàn)了代碼關(guān)鍵詞的設(shè)置址遇,用于自動(dòng)補(bǔ)全和顏色高亮)
在notepad++\plugins\APIs路徑下熄阻,仿照已存在的語(yǔ)言文件,定義函數(shù)名(用于自動(dòng)補(bǔ)全)
在quicktext類似的插件里倔约,定義makefile的代碼替換秃殉。
注意:
- 我試過(guò)將上述提到的文件的makefile都替換成markdown,在GUI-語(yǔ)言里浸剩,依然是makefile,沒(méi)有markdown
建議:
- 感覺(jué)钾军,自己定義的語(yǔ)言只能被當(dāng)成一種語(yǔ)言(只在代碼替換時(shí)),不是很大的問(wèn)題乒省,擔(dān)心沖突巧颈?
應(yīng)該還好吧,畢竟我自定義的就ansys命令流(APDL),SAS,Markdown