本文是我對EditPlus軟件的一個學習總結,包括EditPlus的語法高亮、自動補全、代碼模板三部分。php
我使用的EditPlus版本是:v3.80 (805) - 32bit
css
找到【Tools】菜單下的【Configure User Tools ...】,進入【Preference】界面,以下圖所示:html
指定一種語言(File types)和該語言的擴展名(File extensions),爲它們綁定一個語法高亮配置文件(Syntax file),就能夠設置語法高亮了。Editplus已經提供了一些經常使用語言的語法高亮文件,如C++有cpp.stx、Java有java.stx、C#有cs.stx,可是由於程序自帶的stx文件畢竟有限,不少語言都沒有本身的STX配置(好比結構化查詢語言SQL),所以不少時候須要咱們本身從網絡上下載一些stx文件,並配置在這裏。一些STX文件可能會比較大,比較大的緣由主要是有些STX配置將一些不經常使用的類也進行了關鍵詞高亮,如C#的配置文件cs.stx有5072行,java語言的java.stx也有3354行。java
例子:JavaScript的STX文件
網絡
#TITLE=JavaScript ; JavaScript syntax file written by ES-Computing. ; This file is required for EditPlus to run correctly. #DELIMITER=,(){}[]-+*%/="'~!&|<>?:;. #QUOTATION1=' #QUOTATION2=" #QUOTATION3=/ #CHECK_CLOSINGQUOTE=y #LINECOMMENT=// #LINECOMMENT2= #COMMENTON=/* #COMMENTOFF=*/ #ESCAPE=\ #CASE=y #NUMBER_PATTERN=cpp #KEYWORD=Reserved words abstract boolean break byte case catch char class const continue default delete do double else extends false final finally float for function goto if implements import in instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try typeof var void while with #KEYWORD=Built-in objects Anchor anchors Applet applets Area Array Button Checkbox Date document FileUpload Form forms Frame frames Hidden history Image images Link links Area location Math MimeType mimeTypes navigator options Password Plugin plugins Radio Reset Select String Submit Text Textarea window #
STX文件的生成格式能夠參見EditPlus的幫助文檔(EditPlus Online Manual),【Features】章節下的【Syntax Highlighting】章節。app
下面這段內容就翻譯自該章節:ide
配置項說明:
學習
一、#TITLE:STX文件的標題,這項配置必須放在STX文件的第一行,不然EditPlus沒法加載。
網站
二、#DELIMITER:定義區別關鍵字用的分隔符,不用專門去指定空格和Tab,由於它們是默認的分隔符。如Java語言的分隔符是 ,(){}[]-+*%/="'~!&|<>?:;.ui
三、#QUOTATION1:指定引用符號,只容許輸入一個字符,如java.stx中定義的 '
四、#QUOTATION2:指定另外一種引用符號,只容許輸入一個字符,如java.stx中定義的 "
五、#CONTINUE_QUOTE:是否容許引用符號在折行後仍然有效,爲y則是,爲n則否,n是默認值
六、#CHECK_CLOSINGQUOTE:是否僅當引用內容被封閉時才高亮其中的內容。爲y則是
七、#LINECOMMENT:指定一個字符串,該字符串存在時,後面的部分所有爲註釋,若是在最前面加^!,該字符串就僅會在出現於某行開頭時起做用,如java.stx中定義的//
八、#LINECOMMENT2:指定一個字符串,該字符串存在時,後面的部分所有爲註釋,若是在最前面加^!,該字符串就僅會在出現於某行開頭時起做用
九、#COMMENTON:指定一個用於開啓註釋用的字符串,如java.stx中的 /*
十、#COMMENTOFF:指定一個用於結束註釋用的字符串,如java.stx中的 */
十一、#COMMENTON2:另外一組指定一個用於開啓註釋用的字符串
十二、#COMMENTOFF2:另外一組指定一個用於結束註釋用的字符串
1三、#NESTED_COMMENT:若是語言容許嵌套註釋(nested block comments),則置爲y
注:舉例來講,由於C代碼是不容許嵌套註釋的,因此下面的C代碼只會認定註釋是從第一個/*和倒數第二個*/之間的部分,而不是第一個/*和最後一個*/之間的部分
/*something /* something else */*/
1四、#ESCAPE:指定轉義字符,只容許輸入一個字符,如java.stx中的 \
1五、#CASE:指定是否大小寫敏感,爲y則是,爲n則不是,默認是n
1六、#PREFIX1 - #PREFIX5:指定關鍵字前綴,任何帶有這些指定前綴的內容都會按關鍵字處理
1七、#SUFFIX1 - #SUFFIX5:指定關鍵字後綴,任何帶有這些指定後綴的內容都會按關鍵字處理
1八、#HTML_EMBEDDED:若是該語言爲HTML下的嵌入式腳本語言(如PHP),則置爲y
1九、#SCRIPT_BEGIN:#HTML_EMBEDDED被置爲y後,該設置配置標記HTML下嵌入式腳本語言開始的字符串。如php.stx的 <?
20、#SCRIPT_END:#HTML_EMBEDDED被置爲y後,該設置配置標記HTML下嵌入式腳本語言結束的字符串。如php.stx的 ?>
2一、#HEREDOC,爲Perl和PHP作的heredoc配置,例如 #HEREDOC=<<EOF
注:由於我沒有學過這兩種語言,因此這個配置我目前還處於只知其一;不知其二的狀態
2二、#AUTOCASE:置爲y時,程序會自動調整關鍵字的大小寫
2三、#AUTOCOMPLETE_QUOTE:置爲y時,容許自動補全引用符號
2四、#NUMBER_PATTERN:C/C++使用cpp,Pascal使用pas,彙編語言使用asm,CSS文件使用css
2五、#SPECIAL_STX:HTML文件使用html,C/C++文件使用cpp,Perl文件使用perl,其餘類型語言置空便可
其餘說明:
一、STX文件中,以分號(;)開頭的行是註釋行,若是有一個關鍵字的首字母就是分號,就須要在分號前添加轉義字符「^」
二、聲明關鍵字,第一行爲「#KEYWORD=分組名」,下面每行放置一個關鍵字。能夠將關鍵字分爲多個不一樣的組,不一樣的組能夠分別設置不一樣的語法高亮顏色
三、EditPlus的官方網站上提供了大量STX文件的下載服務:https://www.editplus.com/files.html
自動補全功能就是輸入少許字符後,能夠自動補全待輸入的剩餘部分代碼。自動補全配置文件以acp爲擴展名。
java.acp中的代碼以下:
#TITLE=Java/C# ; EditPlus Auto-completion file v1.0 written by ES-Computing. ; This file is provided as a default auto-completion file for Java and C#. #CASE=y #T=if if (^!) { } #T=while while (^!) { } #T=for for (^!; ; ) { } #T=switch switch (^!) { case : } #T=do do { } while (^!); #T=class class ^! { } #T=try try { ^! } catch () { } #T=interface interface ^! { } #T=namespace namespace ^! { } # ; C# only #T=foreach foreach (^!) { } #T=get get { ^! } #T=set set { ^! } #T=lock lock (^!) { } #T=struct struct ^! { } #
ACP文件的生成格式能夠參見EditPlus的幫助文檔(EditPlus Online Manual),【Features】章節下的【Auto Completion】章節。
下面是對ACP文件的一些說明:
一、#TITLE,當前ACP文件的名稱,如java.acp中的 #TITLE=Java/C#
二、#CASE,標記當前是否大小寫敏感,y則是,n則否,默認爲n
三、#T=模板名,設置一個模板,該模板一直到下一個模板聲明中間的代碼,都是自動生成時會顯示出來的代碼
四、符號^!表明着自動補全完畢後,編輯焦點應停留的位置
ACP文件寫好後,仍是在【Preference】界面中配置
代碼模板,就是在新生成某個代碼的文件時默認生成的代碼。
以java語言爲例,該語言的模板保存在文件template.java中,該文件內代碼以下:
class ^! { public static void main(String[] args) { System.out.println("Hello World!"); } }
其中字符串^!的位置,即爲代碼文件生成好後,編輯焦點默認應放的位置。
在【Preference】界面中能夠對某一種具體的語言究竟應使用哪種模板進行配置:
END