【问题标题】:Ace Editor auto completion, less priority for local snippets / text王牌编辑器自动完成,本地片段/文本的优先级较低
【发布时间】:2015-08-19 09:24:53
【问题描述】:

我正在为一个项目使用 Ace 编辑器,但我遇到了一个小问题。

我使用 addCompleter 函数将一些关键字、宏和内容添加到编辑器中。但是一旦它们被写入,本地完成者似乎会覆盖所有这些。就像在这个例子中一样,你第一次键入时会出现带有元标记“NOT LOCAL”的“MOM_Abort”。第二次已经是“本地”了。

为什么这对我来说如此重要:在实际项目中,我会在它们旁边显示有关关键字的文档,但是当 Ace Editor 用局部变量覆盖它们时它们就会消失。我尝试了一些东西,但没有发现有效。

我希望局部变量的优先级较低,因为我不想将它们全部删除,这可能吗?

这是我的 Ace 编辑器代码:

http://jsfiddle.net/9eh00xtc/1/

var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
var langTools = ace.require("ace/ext/language_tools");

editor.setOptions({
  enableBasicAutocompletion: true,
  enableLiveAutocompletion: true,
  enableSnippets: true,
});

var completer = {
  getCompletions: function(editor, session, pos, prefix, callback) {
    var completions = [];
    completions.push({
      caption: "MOM_Abort",
      snippet: "MOM_Abort",
      meta: "NOT LOCAL"
    });
    callback(null, completions);
  }
}
langTools.addCompleter(completer);
#editor {
  height: 300px;
}
<script src="http://rawgit.com/ajaxorg/ace-builds/master/src-noconflict/ace.js"></script>
<script src="http://rawgit.com/ajaxorg/ace-builds/master/src-noconflict/ext-language_tools.js"></script>

<pre id="editor" style="font-family: courier;"></pre>

【问题讨论】:

    标签: javascript autocomplete editor ace-editor


    【解决方案1】:

    完成按分数排序(请参阅:issue)。因此,只需将 score 字段添加到您的完成中并将其设置为 1000。这将使它们首先显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多