VOCALOID Job Plugin Helper
 
VOCALOID插件编写助手
Version. 0.1.3 Preview
一款能够为VOCALOID Job Plugin插件编写提供辅助的VSCode插件
主要功能
- 代码补全
- 悬停提示
- 常见操作模板代码
- 快速在编辑器中打开API文档(在线)
- 跳转定义(须在项目文件中增加所提供的doc文档)
使用/注意事项
- 在输入note,noteex,noteEx,note_ex和field结尾的词组加.时可以自动属性补全
- 跳转定义需将的doc.zip文件解压后,把doc文件夹放某处,并在设置中配置doc文件夹地址jobPlugin.docLocation,例如:"jobPlugin.docLocation": "d:/doc"doc.zip下载
- 在lua文件的编辑器右键就可以看到打开VOCALOID Job Plugin文档的选项
- 插件提供的文档是在Google上面找到的疑似机翻文档,但是总比日文版看的清楚就放进去了,目前也没有人翻译成中文。
提供的模板代码
NoteEditTemplate(音符编辑模板)
VSSeekToBeginNote()
idx = 1
retCode, noteEx = VSGetNextNoteEx()
while (retCode == 1) do
    noteExList[idx] = noteEx
    retCode, noteEx = VSGetNextNoteEx()
    idx = idx + 1
end
noteCount = table.getn(noteExList)
if (noteCount == 0) then
    VSMessageBox('你需要选择一个音符', 0)
    return 0
end
for idx = 1, noteCount do
    local note = noteExList[idx]
    if (note.posTick >= beginPosTick and note.posTick + note.durTick <= endPosTick) then
    -- 选中区域的音符操作
    end
end
ControlEditTemplate(参数编辑模板)
for posTick = beginPosTick, endPosTick do
    -- 在posTick位置编辑参数
end
NewDialogTemplate(新建对话框模板)
VSDlgSetDialogTitle('title')
local dlgStatus
local field = {}
field.name = ''
field.caption = ''
field.initialVal = ''
field.type = 0
dlgStatus = VSDlgAddField(field)
-- 继续在此处添加对话框选项(模板代码)
dlgStatus = VSDlgDoModal()
if (dlgStatus == 2) then
    return 0
end
if ((dlgStatus ~= 1) and (dlgStatus ~= 2)) then
    return 1
end
NewDialogFieldTemplate(新建对话框选项模板)
field.name = ''
field.caption = ''
field.initialVal = ''
field.type = 0
dlgStatus = VSDlgAddField(field)
function manifest(插件描述模板)
function manifest()
    myManifest = {
        name = "JobPluginName",
        comment = "JobPluginDescription",
        author = "AuthorName",
        pluginID = "{RandomUUID}",
        pluginVersion = "1.0.0.1",
        apiVersion = "3.0.0.1",
    }
    return myManifest
end
function main(插件主函数模板)
function main(processParam, envParam)
    local beginPosTick = processParam.beginPosTick
    local endPosTick = processParam.endPosTick
    local songPosTick = processParam.songPosTick
    local scriptDir = envParam.scriptDir
    local scriptName = envParam.scriptName
    local tempDir = envParam.tempDir
    -- statement
    return 0
end
开发人员
更新日志
- 添加doc文档文件夹设置项
- 更新了跳转定义的文件位置
- 增加了音符和对话框选项的属性补全
以后可能会做
唠嗑