Visual studio code 如何在vscode中实现自己的代码大纲布局?
我正在Visual Studio代码(vscode)中寻找一个扩展,在这里我可以定义自定义代码大纲。本质上,以类似于树的方式列出我的所有函数/定义 假设我使用的是一种简单的语言,如下所示:Visual studio code 如何在vscode中实现自己的代码大纲布局?,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在Visual Studio代码(vscode)中寻找一个扩展,在这里我可以定义自定义代码大纲。本质上,以类似于树的方式列出我的所有函数/定义 假设我使用的是一种简单的语言,如下所示: begin foo1 arriving procedure move into queue1 print queue1 send to foo2 end begin foo2 arriving procedure move into queue2 print queue2 send
begin foo1 arriving procedure
move into queue1
print queue1
send to foo2
end
begin foo2 arriving procedure
move into queue2
print queue2
send to foo3
end
我想知道vscode是否有一个扩展,让我实现如下内容:
如果它是可点击的,那就太好了。导航/转到定义,在代码更复杂的情况下可扩展
到目前为止我发现了什么
提前谢谢。好的,我的请求现在已经解决了 ,基本上是我正在寻找的扩展 我跟着他们的向导往前走 我创建了一个自定义的专用映射器“mapper_X.js”,将其保存到任意位置,并在我的vscode用户设置中粘贴了
“codemap.X”:“mylocation\\mapper_X.js”,
(如github指南中所述)。然后我打开一个新文件,将其保存为untitle.X并键入一些语法(我问题中的示例代码),现在我可以看到我的自定义大纲
可以在下面的结果链接中看到,我已经(故意)没有定义我的映射器来考虑其他任何情况。我的制图器仍处于初级阶段。我只是想在我忘记发布这个问题之前分享我的发现
在最新版本的VS代码中,有一个API用于填充大纲视图,而无需依赖第三方扩展(需要自己编写的扩展除外) 这是通过注册一个 导出函数激活(上下文:vscode.ExtensionContext){ context.subscriptions.push( vscode.languages.registerDocumentSymbolProvider( {scheme:“file”,语言:“swmf config”}, 新的SwmfConfigDocumentSymbolProvider()) ); } 这允许在大纲视图中使用平面结构或树结构(两者不能混合)
类SwmfConfigDocumentSymbolProvider实现vscode.DocumentSymbolProvider{
公共提供的文档符号(
文档:vscode.TextDocument,
令牌:vscode.CancellationToken):承诺{
返回新承诺((解决、拒绝)=>{
let符号:vscode.DocumentSymbol[]=[];
对于(var i=0;i
有关在大纲视图中提供树状结构的完整小示例,请参见不再需要第三方扩展,而是可以提供。非常感谢推荐swmf扩展,它提供了一个很好的示例!!!!