自定义语言建议(功能参数提示)

参数提示可由用户自定义,如以下链接所示: http//docs.notepad-plus-plus.org/index.php/Auto_Completion#How_to_create_keyword_auto-completion_definition_files

如何创建关键字自动完成定义文件

从 5.0 版开始,Notepad ++支持所谓的 Calltips,并引入了一种存储自动完成数据的新方法。现在,所有内容都以 XML 格式存储,从而可以轻松扩展功能。通过这样做,自动完成和 calltip 数据组合在一个文件中。Notepad ++不再使用较旧的 .api 纯文本文件,如果存在,可以安全删除。

你可以从每个输入的 Settings -> Preferences -> Auto Completion -> Enable Auto-completion 中选择你希望拥有的自动完成的 srt:当前文档中的单词,当前语言中的函数或两者。

AutoComplete 文件位于“plugins \ APIs”文件夹中,可在 Notepad ++安装文件夹中找到,通常是 C:\Program Files\Notepad++

AutoComplete 文件的语法很简单,但确实有一些规则,最重要的是正确的语法和正确的排序。如果语法不正确,则无法加载 XML 文件,并且将禁用自动完成。在编辑自动完成文件时可以找到更正式的描述。

不正确的排序(见下文)可能导致自动完成功能表现不稳定,导致其在某些单词上失败。

用于识别关键字的基本字符集由字母组成(即 a-zA-Z0-9 数字和 underscore)。 […]

<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
   <AutoComplete language="C++">
       <Environment ignoreCase="no" startFunc="(" stopFunc=")" paramSeparator="," terminal=";" additionalWordChar = "."/>
       <KeyWord name="abs" func="yes">
           <Overload retVal="int" descr="Returns absolute value of given integer">
               <Param name="int number" />
           </Overload>
       </KeyWord>
   </AutoComplete>
</NotepadPlus>

上面给出了如何构建 XML 文件的一个小例子。NotepadPlus,AutoComplete 和 Environment 是单例元素,每个元素应该只有一个,并且所有元素都应该存在以保证正确性,尽管允许删除 <Environment> 元素。这样做会将所有值默认为上例中给出的值。

对于非函数的关键字,Keyword 标记为 autoclosing,仅具有 name 属性。要指示关键字可以显示在呼叫提示中,请添加属性 func,其值为 yes。在这种情况下,Keyword 标记是一个节点并包含其他标记。

然后,对于函数的每个重载,应该添加一个 Overload 元素,它指定函数的行为和参数。一个函数必须至少有一个 Overload,否则它不会显示为 calltip。retVal 属性必须存在并指定返回值的类型,但 descr 属性是可选的,并描述函数行为,如注释。

如果你愿意,可以在说明中添加换行符。对于函数采用的每个参数,可以添加 Param 元素。必须存在 name 属性,并指定参数的类型和/或参数的任何名称。

AutoComplete 元素中,你可以添加 language 属性但 Notepad ++不使用它,你可以根据需要添加它以获得完整性,并且可以使用你想要的任何字符串。