手动添加片段到 react-ace 编辑器

Manually adding snippets to react-ace editor

是否可以通过react-ace组件手动添加片段。

例如,将片段 myFun 添加到 javascript:

# Function
snippet myFun
    function ${1?:function_name}(${2:argument}) {
                let x = 'test';
        ${3:// body...}
    } 

我查看了文档、常见问题解答和类似问题 here and

挖源码后,可以用ace.define(..):

import ace from 'brace';
import snippet from '../lib/json-snippet'

ace.define('ace/snippets/json', ['require', 'exports', 'module'], (e,t,n) => {
  (t.snippetText = snippet), (t.scope = 'json');
});

片段示例:

const snippet = '# AddNode\n\
snippet addn\n\
    {\n\
        "nodeName": "${1:node_name}",\n\
        "algorithmName": "${2:algo_name}",\n\
        "input": []\n\
    }\n\
';

export default snippet;

查看演示 here