自定義語言建議(功能引數提示)

引數提示可由使用者自定義,如以下連結所示: 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 ++不使用它,你可以根據需要新增它以獲得完整性,並且可以使用你想要的任何字串。