代码拉取完成,页面将自动刷新
{
"name": "trpg-replay-generator-log",
"displayName": "回声工坊扩展",
"description": "文字视频(例如TRPG replay、视觉小说)制作软件「回声工坊」的辅助扩展,围绕整理剧本文件(跑团Log文件)提供了很多便利功能",
"version": "2.0.2",
"engines": {
"vscode": "^1.74.0"
},
"publisher": "yxChangingSelf",
"repository": {
"url": "https://github.com/ChangingSelf/trpg-replay-generator-log"
},
"license": "MIT",
"homepage": "https://www.wolai.com/yxchangingself/PjcZ7xwNTKB2VJ5AJYggv",
"categories": [
"Programming Languages",
"Themes",
"Snippets",
"Linters"
],
"icon": "images/icon.png",
"activationEvents": [
"onLanguage:rgl",
"onLanguage:plaintext"
],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "trpg-replay-generator-log.testCommand",
"title": "TRGL: Test Command # 用户可以无视的测试命令"
},
{
"command": "trpg-replay-generator-log.insertDialogueLine",
"title": "TRGL: Insert Dialogue Line # 插入和当前行同角色名的对话行"
},
{
"command": "trpg-replay-generator-log.count",
"title": "TRGL: Count # 统计剧本文件信息"
},
{
"command": "trpg-replay-generator-log.openDocument",
"title": "TRGL: Open Document # 打开回声工坊文档"
},
{
"command": "trpg-replay-generator-log.chatWithDiceBot",
"title": "TRGL: Chat With DiceBot # 询问答疑骰郎问题"
},
{
"command": "trpg-replay-generator-log.correctTypos",
"title": "TRGL: Correct Typos # 文本纠错(需开通阿里云文本纠错服务)"
},
{
"command": "trpg-replay-generator-log.checkDialogLineLength",
"title": "TRGL: Check Dialog Line Length # 找出超出字数的行"
},
{
"command": "trpg-replay-generator-log.defineMedia",
"title": "TRGL: Define Media # 一键生成媒体定义文件"
},
{
"command": "trpg-replay-generator-log.defineCharacter",
"title": "TRGL: Define Character # 一键生成角色配置文件"
},
{
"command": "trpg-replay-generator-log.replaceAngleBrackets",
"title": "TRGL: Replace Angle Brackets # 替换尖括号为方括号"
},
{
"command": "trpg-replay-generator-log.editAudioBox",
"title": "TRGL: Edit Audio Box # 批量编辑音效框"
},
{
"command": "trpg-replay-generator-log.editContent",
"title": "TRGL: Edit Content # 批量编辑对话行文本内容"
},
{
"command": "trpg-replay-generator-log.replaceDiceMaidLine",
"title": "TRGL: Replace DiceMaid Line # 一键替换骰娘文本为骰子动画行"
},
{
"command": "trpg-replay-generator-log.convertLog",
"title": "TRGL: Convert Log # 转换跑团Log格式(QQ、猫爷TRPG等Log转换为回声工坊格式)"
},
{
"command": "trpg-replay-generator-log.adjustSoundEffectsTimeInBatches",
"title": "TRGL: Adjust Sound Effects Time In Batches # 批量调整音效时长"
},
{
"command": "trpg-replay-generator-log.playVideo",
"title": "TRGL: Play Video # 播放预览视频"
},
{
"command": "trpg-replay-generator-log.exportVideo",
"title": "TRGL: Export Video # 导出视频"
},
{
"command": "trpg-replay-generator-log.synthesizedSpeech",
"title": "TRGL: Synthesized Speech # 合成语音"
},
{
"command": "trpg-replay-generator-log.exportXML",
"title": "TRGL: Export XML # 导出XML文件"
},
{
"command": "trpg-replay-generator-log.openMediaView",
"title": "TRGL: Open Media View # 打开媒体视图(待实装)"
},
{
"command": "trpg-replay-generator-log.refreshTreeView",
"title": "TRGL: Refresh TreeView # 刷新侧边栏树视图",
"icon": "$(refresh)"
},
{
"command": "trpg-replay-generator-log.importLocalSound",
"title": "TRGL: Import Local Sound # 导入本地wav语音"
},
{
"command": "trpg-replay-generator-log.copyLog",
"title": "TRGL: Copy Log # 以不同格式复制Log文件文本"
},
{
"command": "trpg-replay-generator-log.insertCharacter",
"title": "插入角色差分(带角色框)",
"icon": "$(array)"
},
{
"command": "trpg-replay-generator-log.insertCharacterWithoutBox",
"title": "插入角色差分",
"icon": "$(debug-line-by-line)"
},
{
"command": "trpg-replay-generator-log.insertBackground",
"title": "插入背景",
"icon": "$(debug-line-by-line)"
},
{
"command": "trpg-replay-generator-log.insertAudio",
"title": "插入音效",
"icon": "$(debug-line-by-line)"
},
{
"command": "trpg-replay-generator-log.jumpToOutlineNode",
"title": "跳转大纲节点"
},
{
"command": "trpg-replay-generator-log.previewBackgroundNode",
"title": "预览背景",
"icon": "$(eye)"
},
{
"command": "trpg-replay-generator-log.addBackgroundNode",
"title": "新增背景媒体",
"icon": "$(add)"
},
{
"command": "trpg-replay-generator-log.addAudioNode",
"title": "新增音效媒体",
"icon": "$(add)"
}
],
"languages": [
{
"id": "rgl",
"aliases": [
"RGL"
],
"extensions": [
".rgl"
],
"configuration": "./language-configuration.json"
}
],
"grammars": [
{
"language": "rgl",
"scopeName": "source.rgl",
"path": "./syntaxes/rgl.tmLanguage.json"
}
],
"themes": [
{
"label": "RGL Dark Theme",
"uiTheme": "vs-dark",
"path": "./themes/rgl-theme-color-theme.json"
},
{
"label": "RGL Light Theme",
"uiTheme": "vs",
"path": "./themes/rgl-light-theme-color-theme.json"
}
],
"snippets": [
{
"language": "rgl",
"path": "./snippets.json"
}
],
"configuration": [
{
"order": 0,
"title": "文件路径",
"properties": {
"trpg-replay-generator-log.path.ProjectPath": {
"order": -1,
"type": "string",
"default": "",
"description": "回声工坊2的.rgpj项目文件的完整路径。如果配置了该项,将会把其中的角色和媒体加入侧边栏资源管理以及自动补全当中。该项会优先于1.0的角色配置文件和媒体定义文件被使用"
},
"trpg-replay-generator-log.path.RplGenCorePath": {
"order": 0,
"type": "string",
"default": "",
"description": "回声工坊的RplGenCore.exe文件所在路径(包含文件名),例如:D:/TRPG-Replay-Generator/RplGenCore.exe"
},
"trpg-replay-generator-log.path.MediaObjDefineFilePath": {
"order": 1,
"type": "string",
"default": "./media.txt",
"description": "媒体定义文件所在路径(包含文件名),例如:「F:/TRPG-Replay-Project/ModName/media.txt」。也支持相对log文件的路径,例如「./media.txt」"
},
"trpg-replay-generator-log.path.CharacterTableFilePath": {
"order": 2,
"type": "string",
"default": "./characterTable.tsv",
"description": "角色配置文件所在路径(包含文件名),例如:「F:/TRPG-Replay-Project/ModName/characterTable.tsv」。也支持相对log文件的路径,例如「./characterTable.tsv」"
},
"trpg-replay-generator-log.path.LogFilePath": {
"order": 3,
"type": "string",
"default": "",
"description": "跑团日志文件所在路径(包含文件名),例如:「F:/TRPG-Replay-Project/ModName/log.rgl」"
},
"trpg-replay-generator-log.path.OutputPath": {
"order": 4,
"type": "string",
"default": "",
"description": "输出路径,例如:F:/TRPG-Replay-Project/ModName/output/"
},
"trpg-replay-generator-log.path.TimeLine": {
"order": 5,
"type": "string",
"default": "",
"description": "timeline文件的路径,timeline文件是由主程序生成在输出路径的工程文件;"
}
}
},
{
"order": 1,
"title": "视频选项",
"properties": {
"trpg-replay-generator-log.video.FramePerSecond": {
"order": 2,
"type": "number",
"default": 30,
"description": "播放的帧率,单位是fps;默认值是30fps"
},
"trpg-replay-generator-log.video.WindowWidth": {
"order": 0,
"type": "number",
"default": 1920,
"description": "窗体的宽,默认值是1920"
},
"trpg-replay-generator-log.video.WindowHeight": {
"order": 1,
"type": "number",
"default": 1080,
"description": "窗体的高,默认值是1080"
},
"trpg-replay-generator-log.video.Zorder": {
"order": 3,
"type": "string",
"default": "BG2,BG1,Am3,Am2,Am1,AmS,Bb,BbS",
"markdownDescription": "修改图层顺序参数,可以改变各个图层的重叠关系。默认的图层顺序为`BG2,BG1,Am3,Am2,Am1,AmS,Bb,BbS`,顺序为从下到上,即*背景*在最下层,*气泡*在最上层,*立绘*在中间,其中主立绘在其他立绘上层。主要的修改需求可能是要求立绘覆盖在气泡的上层,因此,可以将本项设置为 `BG2,BG1,Bb,Am3,Am2,Am1,AmS,BbS`"
},
"trpg-replay-generator-log.video.Quality": {
"order": 4,
"type": "number",
"default": 24,
"description": "导出为mp4视频时的质量,即ffmpeg程序的crf值;取值范围为0-51,越小对应越高的视频质量,通常合理范围为18-28;默认值是24"
}
}
},
{
"order": 2,
"title": "语音Key",
"properties": {
"trpg-replay-generator-log.key.aliyun.AccessKey": {
"order": 1,
"type": "string",
"default": "your_AccessKey",
"description": "阿里云账号的AccessKey ID,使用阿里云音源执行语音合成时所需要的"
},
"trpg-replay-generator-log.key.aliyun.AccessKeySecret": {
"order": 2,
"type": "string",
"default": "your_AccessKeySecret",
"description": "阿里云账号的AccessKeySecret 密钥,使用阿里云音源执行语音合成时所需要的"
},
"trpg-replay-generator-log.key.aliyun.Appkey": {
"order": 0,
"type": "string",
"default": "your_Appkey",
"description": "阿里云语音合成应用的Appkey,使用阿里云音源执行语音合成时所需要的"
},
"trpg-replay-generator-log.key.Azure.Azurekey": {
"order": 3,
"type": "string",
"default": "your_Azurekey",
"description": "微软Azure认知语音服务的Key,使用Azure音源执行语音合成时所需要的"
},
"trpg-replay-generator-log.key.Azure.ServRegion": {
"order": 4,
"type": "string",
"default": "eastasia",
"description": "微软Azure认知语音服务的服务地区,使用Azure音源执行语音合成时所需要的;默认是东亚地区"
}
}
},
{
"order": 3,
"title": "标志",
"properties": {
"trpg-replay-generator-log.flag.FixScreenZoom": {
"order": 0,
"type": "boolean",
"default": true,
"description": "取消系统缩放。仅在windows系统上生效。使用该标志以消除由于windows系统缩放倍率,而导致的窗体尺寸异常。"
},
"trpg-replay-generator-log.flag.SynthesisAnyway": {
"order": 1,
"type": "boolean",
"default": false,
"description": "先执行语音合成。若勾选了该选项,则会在播放视频或导出之前先进行语音合成"
},
"trpg-replay-generator-log.flag.ExportXML": {
"order": 2,
"type": "boolean",
"default": false,
"description": "导出XML。若勾选了该选项,则执行导出视频命令不导出视频,而是会导出为可以导入PR的XML"
}
}
},
{
"order": 4,
"title": "悬停提示",
"properties": {
"trpg-replay-generator-log.hover.Enable": {
"order": 0,
"type": "boolean",
"default": true,
"description": "悬停提示总开关。关闭后其他悬停提示设置不再启用"
},
"trpg-replay-generator-log.hover.EnableDialogLine": {
"order": 1,
"type": "boolean",
"default": true,
"description": "对话行悬停提示的开关。"
},
"trpg-replay-generator-log.hover.EnableConfigLine": {
"order": 2,
"type": "boolean",
"default": true,
"description": "设置行悬停提示的开关。"
},
"trpg-replay-generator-log.hover.EnableBackgroundLine": {
"order": 3,
"type": "boolean",
"default": true,
"description": "背景行悬停提示的开关。"
},
"trpg-replay-generator-log.hover.EnableAnimationLine": {
"order": 4,
"type": "boolean",
"default": true,
"description": "动画行悬停提示的开关。"
}
}
},
{
"order": 5,
"title": "侧边栏",
"properties": {
"trpg-replay-generator-log.treeview.parseOutlineByComment": {
"order": 0,
"type": "boolean",
"default": false,
"description": "大纲栏是否基于折叠标记来解析跳转节点"
}
}
},
{
"order": 6,
"title": "错误诊断",
"properties": {
"trpg-replay-generator-log.diagnostic.LineLength": {
"order": 0,
"type": "integer",
"default": 20,
"description": "指定对话行内容文本的**单行长度**,用于悬停提示的自动换行以及显示行长超限的警告,设置为负数(例如-1)则视作行长为正无穷(相当于关闭对应功能)"
},
"trpg-replay-generator-log.diagnostic.TotalLength": {
"order": 1,
"type": "integer",
"default": 100,
"description": "指定对话行内容文本的**总长度**,用于显示行长超限的警告,设置为负数(例如-1)则视作行长为正无穷(相当于关闭对应功能)"
},
"trpg-replay-generator-log.diagnostic.PolyphoneList": {
"order": 2,
"type": "string",
"default": "茄刨弹颤扒散数参会簸吓胖耙伺好咳处囤缝澄扇得屏几卷乐了吭粘畜称弄俩露重率空泊朝膀校强塞辟倒单折喝着蕃量沓烊载曝宁和省拗度哄丧差扎埋盛伧创伯疟看行艾把传荷涨奇炮给冠干巷薄恶便宿号藏轧卡调模没舍殷还系假降脯间石劲",
"description": "多音字表,用于标注对话行中的多音字,可以自行添加或者删除需要识别的多音字"
},
"trpg-replay-generator-log.diagnostic.PolyphoneSeverity": {
"order": 3,
"type": "string",
"default": "Hint",
"enum": [
"None",
"Hint",
"Information",
"Warning",
"Error"
],
"enumDescriptions": [
"关闭",
"仅仅是灰色虚线提示",
"蓝色波浪线",
"黄色波浪线",
"红色波浪线"
],
"description": "多音字标注的等级。不同等级代表不同的提示强度。除了None和Hint等级之外的等级都会当做问题显示在“问题”那一栏中"
}
}
}
],
"walkthroughs": [
{
"id": "ExtensionTutorial",
"title": "回声工坊插件基础教程",
"description": "一步步教你如何使用本插件辅助制作replay视频",
"steps": [
{
"id": "README",
"title": "查看本插件的图文帮助文档",
"description": "你可以在下面这个网址中找到比插件商店页面更详细的图文教程\n[图文帮助文档](https://www.wolai.com/oPvjzFX3gQDZjV5JLAxpuR)",
"completionEvents": [],
"media": {
"markdown": "README.md"
}
},
{
"id": "ChangeLanguage",
"title": "修改vscode的显示语言为中文",
"description": "你可以在插件商店(就是你安装这个插件时打开的页面)搜索“Chinese”,下载量最高的那个插件就是你需要安装的中文插件。\n安装它,然后会有个提示框在右下角弹出来问你要不要修改语言为中文,点击Change Language and Reset那个按钮修改语言\n或者点击这句话下面的按钮修改语言\n[修改显示语言](command:workbench.action.configureLocale)",
"media": {
"image": "images/icon.png",
"altText": "图片丢失"
},
"completionEvents": [
"onExtensionInstalled:ms-ceintl.vscode-language-pack-zh-hans",
"onCommand:workbench.action.configureLocale"
]
},
{
"id": "OpenFolder",
"title": "打开文件夹",
"description": "vscode可以打开文件或者文件夹。\n点击侧边栏最上方的文件图标打开“资源管理器”,你可以看到你已经打开的文件夹。\n如果你没有打开文件夹,可以点击vscode给出的按钮打开你打算用来制作replay的文件夹。\n虽然不打开文件夹也可以编辑log文件,但是侧边栏的资源管理器可以很方便地以树状结构显示和跳转你的项目文件夹的文件,很方便,为什么不试试看呢?\n[打开文件夹](command:workbench.action.files.openFolder)",
"media": {
"image": "images/icon.png",
"altText": "图片丢失"
},
"completionEvents": [
"onCommand:workbench.action.files.openFolder"
]
},
{
"id": "OpenFile",
"title": "打开文件",
"description": "打开文件夹之后,你可以点击资源管理器的树状图当中的各个文件。\n如果是文本文件就可以在编辑器中打开以查看与编辑;\n如果是图片则可以预览。\n试试看吧!",
"media": {
"image": "images/icon.png",
"altText": "图片丢失"
},
"completionEvents": []
},
{
"id": "CreateFile",
"title": "新建rgl剧本文件",
"description": "你可以点击资源管理器中的新建文件的图标,或者打开右键菜单,或者打开vscode顶部的【文件】菜单来新建一个文件或者文件夹。\n选中某个文件夹时新建文件或文件夹,会让它们生成在选中的文件夹里面。\n新建的文件没有后缀名(或者称为扩展名),你需要在文件名字后面加上。\n例如:“新建文件.rgl”、“LogFile.txt”、“episode1.rgl”\n由于本插件支持rgl文件的语法高亮以及各种其他辅助功能,因此需要将后缀名改为“.rgl”才能更好地使用本插件。\n选中文件后使用键盘F2按键或者右键菜单都可以重命名文件\n[文件后缀名是什么?](https://www.wolai.com/9QKAUz4VvohigMJFH7BJVJ)",
"media": {
"image": "images/icon.png",
"altText": "图片丢失"
},
"completionEvents": []
},
{
"id": "OpenExampleProject",
"title": "打开回声工坊示例项目,查看语法高亮",
"description": "你可以用vscode打开回声工坊软件目录(“目录”即“文件夹”)下的“toy”文件夹\n预览其中的rgl文件,你可以看到文件的不同要素都被染成了不同的颜色,这就是[语法高亮](https://www.wolai.com/pyeK3jgTLwzyAoGFv6nmue)\n[打开文件夹](command:workbench.action.files.openFolder)",
"media": {
"image": "images/syntaxHighlight.png",
"altText": "语法高亮"
},
"completionEvents": []
},
{
"id": "AutoNewLine",
"title": "让过长的对话行自动换行",
"description": "这是vscode自带功能,使用组合键Alt+Z或者在顶部菜单栏【查看】中选择“自动换行”,就可以实现一行字数过多时自动换到下一行,从而不需要横向滚动\n[切换自动换行](command:editor.action.toggleWordWrap)",
"media": {
"image": "images/icon.png",
"altText": "图片丢失"
},
"completionEvents": [
"onCommand:editor.action.toggleWordWrap"
]
},
{
"id": "Snippets",
"title": "使用代码片段",
"description": "你可以在rgl文件中输入一些触发词来触发代码片段,它可以帮你快速输入一些东西\n[更多代码片段演示动画](https://www.wolai.com/fJGojMQjUbuvjbXu549yyr)",
"media": {
"image": "images/snippetsUsage.gif",
"altText": "代码片段用法演示"
},
"completionEvents": []
},
{
"id": "ColorThemes",
"title": "修改颜色主题",
"description": "在本插件的插件商店页面点击“设置颜色主题”按钮就可以设置颜色主题,本插件提供了深色和浅色两种颜色主题\n不同的颜色主题有着不同的语法高亮,选一个你看着舒服的\n当然,你也可以使用其他的颜色主题,而非插件自带的\n[设置颜色主题](command:workbench.action.selectTheme)",
"media": {
"image": "images/icon.png",
"altText": "图片丢失"
},
"completionEvents": [
"onCommand:workbench.action.selectTheme"
]
},
{
"id": "FoldMark",
"title": "使用折叠标记",
"description": "在想要折叠的起始行和末尾行分别加上 `#s`和 `#e`的注释,即可对中间的内容进行折叠\n可以嵌套,而且这两个边界标记后面可以加注释,例如 `#s 这是折叠的起始行,意思是start`,`#e 这是折叠的末尾行,意思是end。`",
"media": {
"image": "images/foldMark.gif",
"altText": "折叠标记"
},
"completionEvents": []
},
{
"id": "Hovering",
"title": "悬停提示",
"description": "鼠标移动到rgl文件的各个元素并悬停时,会出现相应的说明文字。可以在插件设置中关闭。",
"media": {
"image": "images/Hovering.gif",
"altText": "悬浮提示"
},
"completionEvents": []
},
{
"id": "ChangeSettings",
"title": "修改插件设置",
"description": "ctrl+逗号或者点击左下角的齿轮图标就能找到全局设置。\n在侧边栏找到本插件名字,或者在上方搜索框中搜索,接着找到你想要修改的设置即可",
"media": {
"image": "images/ChangeSettings.gif",
"altText": "修改设置"
},
"completionEvents": []
},
{
"id": "StatusBar",
"title": "状态栏",
"description": "当你的光标停留在rgl文件内时,可以在状态栏(最底下的条)的左侧看到该剧本文件的一些统计信息",
"media": {
"image": "images/StatusBar.png",
"altText": "图片丢失"
},
"completionEvents": []
},
{
"id": "UseCommand",
"title": "使用命令",
"description": "本插件的更多辅助功能做成了命令的形式。vscode命令的使用方法是:ctrl+shift+p唤出命令面板,输入命令名字,enter键确认。\n打开命令面板的其他方式:\n- 右键菜单中“命令面板”选项\n- 菜单栏【帮助】>【显示所有命令】\n[打开命令面板](command:workbench.action.showCommands)\n[查看所有命令](https://www.wolai.com/bs7j9tAbqMCGZX8VNqMFKw)",
"media": {
"markdown": "README.md"
},
"completionEvents": [
"onCommand:workbench.action.showCommands"
]
}
]
}
],
"viewsContainers": {
"activitybar": [
{
"id": "rgl-explorer",
"title": "回声工坊资源管理器",
"icon": "images/icon2.png"
}
]
},
"views": {
"rgl-explorer": [
{
"id": "rglOutline",
"name": "大纲",
"visibility": "visible"
},
{
"id": "rglCharacter",
"name": "可用角色",
"visibility": "collapsed"
},
{
"id": "rglBackground",
"name": "可用背景媒体",
"visibility": "collapsed"
},
{
"id": "rglAudio",
"name": "可用音效",
"visibility": "collapsed"
}
]
},
"viewsWelcome": [
{
"view": "rglOutline",
"contents": "目前还没有检测到大纲节点。大纲节点默认是背景行,即“<background>”行,也可以在设置中改为使用折叠标记,可以嵌套",
"when": "editorLangId != rgl"
},
{
"view": "rglCharacter",
"contents": "目前没有检测到回声工坊的log文件,请检查是否已经打开了文件或者文件夹,是否将剧本文件的后缀名从“.txt”改为了“.rgl”\n[打开文件](command:workbench.action.files.openFile)\n[打开文件夹](command:workbench.action.files.openFolder)",
"when": "editorLangId != rgl"
},
{
"view": "rglBackground",
"contents": "目前没有找到媒体定义文件或是没有定义背景,请确保你已经在插件设置中配置好了媒体定义文件的路径\n[打开设置](command:workbench.action.openSettings2)",
"when": "editorLangId != rgl"
},
{
"view": "rglAudio",
"contents": "目前没有找到媒体定义文件或是没有定义音效,请确保你已经在插件设置中配置好了媒体定义文件的路径\n[打开设置](command:workbench.action.openSettings2)",
"when": "editorLangId != rgl"
}
],
"menus": {
"view/title": [
{
"command": "trpg-replay-generator-log.refreshTreeView",
"group": "navigation",
"when": "view == rglBackground || view == rglCharacter || view == rglAudio || view == rglOutline"
},
{
"command": "trpg-replay-generator-log.addBackgroundNode",
"group": "navigation",
"when": "view == rglBackground"
},
{
"command": "trpg-replay-generator-log.addAudioNode",
"group": "navigation",
"when": "view == rglAudio"
}
],
"view/item/context": [
{
"command": "trpg-replay-generator-log.insertCharacter",
"when": "view == rglCharacter",
"group": "inline"
},
{
"command": "trpg-replay-generator-log.insertCharacterWithoutBox",
"when": "view == rglCharacter",
"group": "inline"
},
{
"command": "trpg-replay-generator-log.insertBackground",
"when": "view == rglBackground",
"group": "inline"
},
{
"command": "trpg-replay-generator-log.previewBackgroundNode",
"when": "view == rglBackground",
"group": "inline"
},
{
"command": "trpg-replay-generator-log.insertAudio",
"when": "view == rglAudio",
"group": "inline"
}
],
"editor/context": [
{
"when": "resourceLangId == rgl || resourceLangId == plaintext",
"submenu": "trpg-replay-generator-log.menu.callCore",
"group": "navigation@1"
},
{
"when": "resourceLangId == rgl || resourceLangId == plaintext",
"submenu": "trpg-replay-generator-log.menu.autoGenerate",
"group": "navigation@2"
},
{
"when": "resourceLangId == rgl || resourceLangId == plaintext",
"submenu": "trpg-replay-generator-log.menu.edit",
"group": "navigation@3"
},
{
"when": "resourceLangId == rgl || resourceLangId == plaintext",
"submenu": "trpg-replay-generator-log.menu.check",
"group": "navigation@4"
}
],
"trpg-replay-generator-log.menu.callCore":[
{
"command": "trpg-replay-generator-log.playVideo",
"group": "navigation@1"
},
{
"command": "trpg-replay-generator-log.synthesizedSpeech",
"group": "navigation@2"
},
{
"command": "trpg-replay-generator-log.exportVideo",
"group": "navigation@3"
},
{
"command": "trpg-replay-generator-log.exportXML",
"group": "navigation@4"
},
{
"command": "trpg-replay-generator-log.openDocument",
"group": "navigation@5"
}
]
,"trpg-replay-generator-log.menu.autoGenerate":[
{
"command": "trpg-replay-generator-log.defineMedia",
"group": "z_commands@1"
},
{
"command": "trpg-replay-generator-log.defineCharacter",
"group": "z_commands@2"
}
]
,"trpg-replay-generator-log.menu.check":[
{
"command": "trpg-replay-generator-log.count",
"group": "1_modification@2"
}
,{
"command": "trpg-replay-generator-log.checkDialogLineLength",
"group": "1_modification@2"
}
,{
"command": "trpg-replay-generator-log.correctTypos",
"group": "1_modification@9"
}
]
,"trpg-replay-generator-log.menu.edit": [
{
"command": "trpg-replay-generator-log.convertLog",
"group": "navigation@1"
},
{
"command": "trpg-replay-generator-log.editContent",
"group": "navigation@2"
},
{
"command": "trpg-replay-generator-log.editAudioBox",
"group": "navigation@3"
},
{
"command": "trpg-replay-generator-log.replaceDiceMaidLine",
"group": "1_modification@2"
},
{
"command": "trpg-replay-generator-log.replaceAngleBrackets",
"group": "1_modification@3"
},
{
"command": "trpg-replay-generator-log.adjustSoundEffectsTimeInBatches",
"group": "1_modification@4"
},
{
"command": "trpg-replay-generator-log.importLocalSound",
"group": "1_modification@5"
},
{
"command": "trpg-replay-generator-log.copyLog",
"group": "9_cutcopypaste@2"
}
]
},
"submenus": [
{
"id": "trpg-replay-generator-log.menu.callCore",
"label": "回声工坊:调用工坊核心(需配置本地回声工坊路径)"
}
,{
"id": "trpg-replay-generator-log.menu.autoGenerate",
"label": "回声工坊:文件一键生成"
}
,{
"id": "trpg-replay-generator-log.menu.check",
"label": "回声工坊:剧本信息核对"
}
,{
"id": "trpg-replay-generator-log.menu.edit",
"label": "回声工坊:剧本内容编辑"
}
],
"keybindings": [
{
"command": "trpg-replay-generator-log.playVideo",
"key": "F5",
"when": "resourceLangId == rgl"
},
{
"command": "trpg-replay-generator-log.copyLog",
"key": "Ctrl+Shift+C",
"when": "editorFocus"
},
{
"command": "trpg-replay-generator-log.insertDialogueLine",
"key": "Ctrl+Enter",
"when": "editorTextFocus && !editorReadonly"
}
]
},
"scripts": {
"vscode:prepublish": "npm run package",
"compile": "webpack",
"watch": "webpack --watch",
"package": "webpack --mode production --devtool hidden-source-map",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "npm run compile-tests && npm run compile && npm run lint",
"lint": "eslint src --ext ts",
"test": "node ./out/test/runTest.js"
},
"devDependencies": {
"@types/glob": "^7.2.0",
"@types/jquery": "^3.5.14",
"@types/mocha": "^9.1.1",
"@types/node": "16.x",
"@types/vscode": "^1.67.0",
"@typescript-eslint/eslint-plugin": "^5.27.0",
"@typescript-eslint/parser": "^5.27.0",
"@vscode/test-electron": "^2.1.3",
"eslint": "^8.16.0",
"glob": "^8.0.3",
"mocha": "^10.0.0",
"ts-loader": "^9.3.0",
"typescript": "^4.7.2",
"webpack": "^5.72.1",
"webpack-cli": "^4.9.2"
},
"dependencies": {
"@types/js-base64": "^3.3.1",
"axios": "^0.27.2",
"crypto-js": "^4.1.1",
"jquery": "^3.6.1",
"node-xlsx": "^0.21.0"
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。