在 VSCode 中设置代码生成菜单

问题描述 投票:0回答:1

如何在 Visual Studio Code (VSCode) 中创建菜单以方便代码生成?是否有任何推荐的源或代码存储库提供了实现此功能的示例或指导

rascal
1个回答
1
投票

VScode 不是“菜单”驱动的用户界面。因此通常还有其他交互方式。最好的办法是注册一个“命令”,这样它就会出现在命令面板中。

Rascal 中最易于使用的注册命令功能是将

lenses
插入 DSL 编辑器中。如果你点击这样的镜头,就会激活一个命令,你可以直接在 Rascal 中处理。

有一个演示这里

但这相当于注册镜头和执行者:

// extend the set of possible commands, with possible parameters:
data Command  = doSomething(start[Program] program);

// detect places to put lenses:
rel[loc,Command] myLenses(start[Program] input) 
  = {<input@\loc, doSomething(input /* any parameter to the command */, title="This is what the user sees!")>};

// a command handler:
value myCommandHandler(doSomething(start[Program] input)) {
    ... do anything here, possible using features from util::IDEServices...
    return ("result": true);
}

那些

myCommandHandler
myLenses
函数将在语言中注册为
Contribution
s。

如果代码生成器将代码添加到现有文件中,则使用

util::IDEServices::registerDocumentEdits
是有意义的,因为这将与打开的编辑器和撤消堆栈集成。否则,您可以使用
IO
模块 (
writeFile
)

将文件写入磁盘
© www.soinside.com 2019 - 2024. All rights reserved.