-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
865 lines (863 loc) · 33.7 KB
/
package.json
File metadata and controls
865 lines (863 loc) · 33.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
{
"name": "trpg-replay-generator-log",
"displayName": "回声工坊扩展",
"description": "文字视频(例如TRPG replay、视觉小说)制作软件「回声工坊」的辅助扩展,围绕整理剧本文件(跑团Log文件)提供了很多便利功能",
"version": "1.25.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.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"
}
}