如何将生成的Lilypond语言语法配置导入AWS Cloud9 IDE
AWS Cloud9 接入自定义Lilypond语法支持的补全步骤
你之前的操作仅完成了Ace编辑器语法模式文件的生成,缺少Cloud9侧的模式注册、插件配置、加载生效三个核心环节,完整操作流程如下:
- 第一步:整理生成的语法资产
执行完你列的三条命令后,会在Ace源码的src/mode目录下生成lilypond.js核心语法文件,部分场景下还会在src/snippets目录生成对应代码片段文件,把这两个文件单独备份留存即可,不需要改动Ace仓库的其他源码。 - 第二步:创建Cloud9自定义语法插件
进入Cloud9对应环境的工作区根目录,新建路径.c9/plugins/mode-lilypond,把备份的两个语法文件放入该目录,随后在目录下新建plugin.js注册文件,写入以下配置:
define(function(require, exports, module) { var Plugin = require("core/plugin").Plugin; module.exports = Plugin({ dev: true, name: "lilypond-syntax-mode", autoEnable: true, enable: function() { var modeList = require("ext/modelist"); modeList.addMode({ name: "Lilypond", extensions: ["ly", "ily", "lily"], path: "plugins/mode-lilypond/lilypond" }); } }); });
- 第三步:修正语法文件的依赖路径
用Ace工具生成的lilypond.js默认引用的是Ace源码目录下的相对路径,直接放到Cloud9里会报依赖错误,打开该文件,把头部所有require("../xxx/xxx")格式的引用,统一改成require("ace/xxx/xxx")的绝对模块路径,比如把require("../lib/oop")改成require("ace/lib/oop"),把require("./text_highlight_rules")改成require("ace/mode/text_highlight_rules")。 - 第四步:加载插件并重启生效
打开Cloud9的首选项面板,找到实验性功能分类下的「加载自定义插件」配置项,在输入框填入插件路径plugins/mode-lilypond/plugin.js后点击添加,随后刷新浏览器页面重启IDE即可。
验证方式:重启后打开任意后缀为.ly/.ily/.lily的文件,编辑器右下角的语言选择栏会自动识别为Lilypond模式,语法高亮正常显示即配置成功。如果没有自动识别,手动在语言列表里选中Lilypond即可。
内容的提问来源于stack exchange,提问作者Okomikeruko
相关产品推荐
相关产品推荐

