使用代码段管理器选择多行

时间:2016-06-27 14:08:08

标签: javascript ace-editor

我一直在使用Ace Editor的Snippet Manager来动态插入代码一段时间,并选择该插入中的某些文本。它已经工作得很好,但现在我尝试以相同的方式选择多行,但它只选择第一行中的文本。

工作原理:" ${1:"和结束" }"应该被选中。

这是有效的代码。它有多行,但在大括号中只选择了一行:

var singleStr = "\n<div>\n\t${1:Everything that should be selected is selected}\n</div>\n\n";

insertSingle.addEventListener( 'click', function (evnt) {
    ace.config.loadModule('ace/ext/language_tools', function () {
        editor.insertSnippet( singleStr );
    }); 
});

我无法在此处发布选择的图片,因为我没有足够的声誉。

这里的代码不起作用。同样,要插入多行,但这次选择(花括号内的文本)包含多行:

var insertMulti = document.querySelector('#insert_multi_line');
var multiStr = "<div>\n\t${1:Not everything that should be selected\n\tis selected}\n</div>";

insertMulti.addEventListener( 'click', function (evnt) {
    ace.config.loadModule('ace/ext/language_tools', function () {
        editor.insertSnippet( multiStr );
    }); 
});

multi-line selection not working

此处是(非)工作示例(点击按钮查看不同的插入内容):https://jsfiddle.net/ka7byd8z/3/

我需要能够使用许多不同类型的文本动态执行此操作,这就是我使用Snippet Manager的原因。如何插入选中多行的片段?理想情况下使用Snippet Manager或类似的东西。

0 个答案:

没有答案