分享

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

 nxhujiee 2023-04-24 发布于宁夏

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

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

一、语法高亮(STX文件)

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

224418_aYcm_1425762.png

指定一种语言(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文件

  1. #TITLE=JavaScript
  2. ; JavaScript syntax file written by ES-Computing.
  3. ; This file is required for EditPlus to run correctly.
  4. #DELIMITER=,(){}[]-+*%/="'~!&|<>?:;.
  5. #QUOTATION1='
  6. #QUOTATION2="
  7. #QUOTATION3=/
  8. #CHECK_CLOSINGQUOTE=y
  9. #LINECOMMENT=//
  10. #LINECOMMENT2=
  11. #COMMENTON=/*
  12. #COMMENTOFF=*/
  13. #ESCAPE=\
  14. #CASE=y
  15. #NUMBER_PATTERN=cpp
  16. #KEYWORD=Reserved words
  17. abstract
  18. boolean
  19. break
  20. byte
  21. case
  22. catch
  23. char
  24. class
  25. const
  26. continue
  27. default
  28. delete
  29. do
  30. double
  31. else
  32. extends
  33. false
  34. final
  35. finally
  36. float
  37. for
  38. function
  39. goto
  40. if
  41. implements
  42. import
  43. in
  44. instanceof
  45. int
  46. interface
  47. long
  48. native
  49. new
  50. null
  51. package
  52. private
  53. protected
  54. public
  55. return
  56. short
  57. static
  58. super
  59. switch
  60. synchronized
  61. this
  62. throw
  63. throws
  64. transient
  65. true
  66. try
  67. typeof
  68. var
  69. void
  70. while
  71. with
  72. #KEYWORD=Built-in objects
  73. Anchor
  74. anchors
  75. Applet
  76. applets
  77. Area
  78. Array
  79. Button
  80. Checkbox
  81. Date
  82. document
  83. FileUpload
  84. Form
  85. forms
  86. Frame
  87. frames
  88. Hidden
  89. history
  90. Image
  91. images
  92. Link
  93. links
  94. Area
  95. location
  96. Math
  97. MimeType
  98. mimeTypes
  99. navigator
  100. options
  101. Password
  102. Plugin
  103. plugins
  104. Radio
  105. Reset
  106. Select
  107. String
  108. Submit
  109. Text
  110. Textarea
  111. window
  112. #

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=分组名”,下面每行放置一个关键字。可以将关键字分为多个不同的组,不同的组可以分别设置不同的语法高亮颜色

233316_mj7i_1425762.png

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

二、自动补全(ACP文件)

自动补全功能就是输入少量字符后,可以自动补全待输入的剩余部分代码。自动补全配置文件以acp为扩展名。

java.acp中的代码如下:

  1. #TITLE=Java/C#
  2. ; EditPlus Auto-completion file v1.0 written by ES-Computing.
  3. ; This file is provided as a default auto-completion file for Java and C#.
  4. #CASE=y
  5. #T=if
  6. if (^!)
  7. {
  8. }
  9. #T=while
  10. while (^!)
  11. {
  12. }
  13. #T=for
  14. for (^!; ; )
  15. {
  16. }
  17. #T=switch
  18. switch (^!)
  19. {
  20. case :
  21. }
  22. #T=do
  23. do
  24. {
  25. }
  26. while (^!);
  27. #T=class
  28. class ^!
  29. {
  30. }
  31. #T=try
  32. try
  33. {
  34.     ^!
  35. }
  36. catch ()
  37. {
  38. }
  39. #T=interface
  40. interface ^!
  41. {
  42. }
  43. #T=namespace
  44. namespace ^!
  45. {
  46. }
  47. #
  48. ; C# only
  49. #T=foreach
  50. foreach (^!)
  51. {
  52. }
  53. #T=get
  54. get
  55. {
  56.     ^!
  57. }
  58. #T=set
  59. set
  60. {
  61.     ^!
  62. }
  63. #T=lock
  64. lock (^!)
  65. {
  66. }
  67. #T=struct
  68. struct ^!
  69. {
  70. }
  71. #

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】界面中配置

234625_LW4K_1425762.png

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

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

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

  1. class ^! 
  2. {
  3.     public static void main(String[] args) 
  4.     {
  5.         System.out.println("Hello World!");
  6.     }
  7. }

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

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

235003_g4SZ_1425762.png

END

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多