簡體   English   中英

CodeMirror編輯器自動完成預定義單詞

[英]CodeMirror editor autocompletion for predefined words

我有一個使用CodeMirror編輯器輸入數據的網站。 我想添加一個非常簡單的自動完成功能:我有一些以@符號開頭的單詞(@ cat,@ dog,@ bird等),並且我希望編輯器在用戶鍵入@或@c時顯示帶有這些單詞的下拉菜單-我該怎么辦這個? 我看到了自動完成插件,但是他們需要按ctrl + space並可以使用架構...因此,任何幫助都將非常有用!

謝謝!

方法如下(假設您已加載CodeMirror和show-hint插件):

// Dummy mode that puts words into their own token
// (You probably have a mode already)
CodeMirror.defineMode("mylanguage", function() {
  return {token: function(stream, state) {
    if (stream.match(/[@\w+]/)) return "variable";
    stream.next();
    return null;
  }};
});
// Register an array of completion words for this mode
CodeMirror.registerHelper("hintWords", "mylanguage",
                          ["@cat", "@dog", "@bird"]);

// Create an editor
var editor = CodeMirror(document.body, {mode: "mylanguage"});
// When an @ is typed, activate completion
editor.on("inputRead", function(editor, change) {
  if (change.text[0] == "@")
    editor.showHint();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM