我正在尝试在 ace 编辑器中添加 php 自定义代码段,但自定义代码段在编辑器中不可用



我正在尝试在ace编辑器中添加php自定义代码段。我在"ace-master/lib/ace/snippets/php.snippets"中添加了下面的片段,然后使用"node Makefile.dryice.js"构建项目。

Snippet rett 返回真; 片段 retf 返回假; 代码段test_snippet 回显"这是一个测试片段";

构建项目后,自定义代码段正确添加到"ace-master/build/src/snippets/php.js"中,如下所示

代码段 rett\ 返回真;\ 代码段引用\ 返回假;\ 代码段 test_snippet\ 回显 \"这是一个测试片段\";";

但是,自定义代码段在编辑器中不可用。尽管其他片段工作正常。 我尝试清除浏览器缓存,重新启动Apache,重新加载编辑器等。

一个可能的问题可能是您使用空格而不是制表符进行缩进。 另一个问题可能是由 ace 中的错误引起的,当它在行尾是 html 时,它将整行视为 html,并且该行不包含 php 片段。

但通常更好的方法是在代码中添加片段,而不是重建 ace

var snippetManager = require("ace/snippets").snippetManager
var text = 'snippet rettn
treturn true;n
snippet retfn
treturn false;n
snippet test_snippetn
techo "This is a test snippet";";'
var snippets = snippetManager.parseSnippetFile(text, "php");
snippetManager.register(snippets, "php");

甚至直接将片段添加为 JSON

snippetManager.register([
{
"tabTrigger": "rett",
"name": "rett",
"content": "return true;"
},
{
"tabTrigger": "retf",
"name": "retf",
"content": "return false;"
},
{
"tabTrigger": "test_snippet",
"name": "test_snippet",
"content": "echo "This is a test snippet";";"
}
], "php")

最新更新