ACE 编辑器添加带有换行符的代码段

ACE Editor adding Snippet with new line character

我正在尝试为 ACE 编辑器添加片段,我能够通过如下手动添加片段来实现。

ace.define("ace/snippets/c_cpp",["require","exports","module"], 
function(require, exports, module) {
"use strict";

# std::vector\n\
snippet vector\n\
std::vector<${1:T}> ;\n\
# std::deque\n\
snippet deque\n\
std::deque<${1:T}> ;\n\
...

一切正常,直到我在片段中添加一个新行,然后它就不起作用了,因为编辑器使用新行作为分隔片段的标记。

#if\n\
snippet if\n\
if(${1:a}>${2:b}){ \n  } else { }\n\

然后它只显示这个并在换行符后停止。我找不到在代码段中使用换行符的正确方法。

if(${1:a}>${2:b}){

我也试过 \n 并在编辑器中得到了这个而不是换行符。

\n

您需要使用制表符缩进代码段中的每一行,如下所示:

exports.snippetText =  "\
snippet cl\n\
\tclass ${1:$FILE_NAME} {\n\
\t\t${2:contents}\n\
\t}\n\
"