EditPlus的语法高亮、自动补全、代码模板用法总结

本文是我对EditPlus软件的一个学习总结,包括EditPlus的语法高亮、自动补全、代码模板三部分。

我使用的EditPlus版本是:v3.80 (805) - 32bit

一、语法高亮(STX文件)

找到【Tools】菜单下的【Configure User Tools ...】,进入【Preference】界面,如下图所示:

EditPlus的语法高亮、自动补全、代码模板用法总结_第1张图片

指定一种语言(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行。

例子: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】章节。

下面这段内容就翻译自该章节:

配置项说明:

1、#TITLE:STX文件的标题,这项配置必须放在STX文件的第一行,否则EditPlus无法加载。

2、#DELIMITER:定义区别关键字用的分隔符,不用专门去指定空格和Tab,因为它们是默认的分隔符。如Java语言的分隔符是 ,(){}[]-+*%/="'~!&|<>?:;.

3、#QUOTATION1:指定引用符号,只允许输入一个字符,如java.stx中定义的 '

4、#QUOTATION2:指定另一种引用符号,只允许输入一个字符,如java.stx中定义的 "

5、#CONTINUE_QUOTE:是否允许引用符号在折行后仍然有效,为y则是,为n则否,n是默认值

6、#CHECK_CLOSINGQUOTE:是否仅当引用内容被封闭时才高亮其中的内容。为y则是

7、#LINECOMMENT:指定一个字符串,该字符串存在时,后面的部分全部为注释,如果在最前面加^!,该字符串就仅会在出现于某行开头时起作用,如java.stx中定义的//

8、#LINECOMMENT2:指定一个字符串,该字符串存在时,后面的部分全部为注释,如果在最前面加^!,该字符串就仅会在出现于某行开头时起作用

9、#COMMENTON:指定一个用于开启注释用的字符串,如java.stx中的 /*

10、#COMMENTOFF:指定一个用于结束注释用的字符串,如java.stx中的 */

11、#COMMENTON2:另一组指定一个用于开启注释用的字符串

12、#COMMENTOFF2:另一组指定一个用于结束注释用的字符串

13、#NESTED_COMMENT:如果语言允许嵌套注释(nested block comments),则置为y

注:举例来说,因为C代码是不允许嵌套注释的,所以下面的C代码只会认定注释是从第一个/*和倒数第二个*/之间的部分,而不是第一个/*和最后一个*/之间的部分

/*something /* something else */*/

14、#ESCAPE:指定转义字符,只允许输入一个字符,如java.stx中的 \

15、#CASE:指定是否大小写敏感,为y则是,为n则不是,默认是n

16、#PREFIX1 - #PREFIX5:指定关键字前缀,任何带有这些指定前缀的内容都会按关键字处理

17、#SUFFIX1 - #SUFFIX5:指定关键字后缀,任何带有这些指定后缀的内容都会按关键字处理

18、#HTML_EMBEDDED:如果该语言为HTML下的嵌入式脚本语言(如PHP),则置为y

19、#SCRIPT_BEGIN:#HTML_EMBEDDED被置为y后,该设置配置标记HTML下嵌入式脚本语言开始的字符串。如php.stx的 <?

20、#SCRIPT_END:#HTML_EMBEDDED被置为y后,该设置配置标记HTML下嵌入式脚本语言结束的字符串。如php.stx的 ?>

21、#HEREDOC,为Perl和PHP做的heredoc配置,例如 #HEREDOC=<<EOF

注:因为我没有学过这两种语言,所以这个配置我目前还处于一知半解的状态

22、#AUTOCASE:置为y时,程序会自动调整关键字的大小写

23、#AUTOCOMPLETE_QUOTE:置为y时,允许自动补全引用符号

24、#NUMBER_PATTERN:C/C++使用cpp,Pascal使用pas,汇编语言使用asm,CSS文件使用css

25、#SPECIAL_STX:HTML文件使用html,C/C++文件使用cpp,Perl文件使用perl,其他类型语言置空即可

其他说明:

1、STX文件中,以分号(;)开头的行是注释行,如果有一个关键字的首字母就是分号,就需要在分号前添加转义字符“^”

2、声明关键字,第一行为“#KEYWORD=分组名”,下面每行放置一个关键字。可以将关键字分为多个不同的组,不同的组可以分别设置不同的语法高亮颜色

EditPlus的语法高亮、自动补全、代码模板用法总结_第2张图片

3、EditPlus的官方网站上提供了大量STX文件的下载服务:https://www.editplus.com/files.html

二、自动补全(ACP文件)

自动补全功能就是输入少量字符后,可以自动补全待输入的剩余部分代码。自动补全配置文件以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文件的一些说明:

1、#TITLE,当前ACP文件的名称,如java.acp中的 #TITLE=Java/C#

2、#CASE,标记当前是否大小写敏感,y则是,n则否,默认为n

3、#T=模板名,设置一个模板,该模板一直到下一个模板声明中间的代码,都是自动生成时会显示出来的代码

4、符号^!代表着自动补全完毕后,编辑焦点应停留的位置

ACP文件写好后,还是在【Preference】界面中配置

EditPlus的语法高亮、自动补全、代码模板用法总结_第3张图片

三、代码模板(template.指定类型文件扩展名)

代码模板,就是在新生成某个代码的文件时默认生成的代码。

以java语言为例,该语言的模板保存在文件template.java中,该文件内代码如下:

class ^! 
{
    public static void main(String[] args) 
    {
        System.out.println("Hello World!");
    }
}

其中字符串^!的位置,即为代码文件生成好后,编辑焦点默认应放的位置。

在【Preference】界面中可以对某一种具体的语言究竟应使用哪一种模板进行配置:

EditPlus的语法高亮、自动补全、代码模板用法总结_第4张图片

END

你可能感兴趣的:(自动补全,Editplus,代码模板,语法高亮)