在vscode中,新的Sticky滚动似乎无法在我的自定义语言扩展中发挥作用。我的语言是否需要实现一些接口来支持它?
发布于 2022-08-20 18:17:58
新的Sticky特性似乎基于被识别的语言元素(class/interface/namespace/function/method/constructor),并且可以在Outline视图中使用。这意味着您的自定义语言必须有一个language或任何其他向编辑器提供此类元素的工具。
如果您的语言确实提供了这一点,但是在新的Sticky Scroll特性中没有得到适当的支持,我建议您在VS Code回购中打开一个问题。正如您所看到的(https://github.com/microsoft/vscode/labels/editor-sticky-scroll),报告中有几个问题。
希望这能有所帮助
发布于 2022-09-02 19:55:30
VSCode 1.72和问题157165“将选项添加到基于缩进而不是文档符号的粘性滚动”可能会改变这种情况。
基于类/函数/命名空间等Sticky Scroll具有很大的意义,但前提是有一个活动的语言服务器或语言扩展来提供良好的文档符号(大纲)。 对于所有没有LSP (所以,这么多),其LSP不提供大纲,LSP提供无效的大纲,或者仅仅没有函数/类的概念等的语言,Sticky Scroll是无法利用的:-( 我认为,在许多情况下,可以从缩进中推断出相应的上下文。 我意识到这在默认情况下可能是不可取的,所以也许它应该隐藏在标记后面或者每种语言都可以配置。例如,在一个大型JSON文件中,您可能会得到以下上下文: 1{ 51 "a":{ 52 "b":[ 74 "current_line",75“.” 就我个人而言,我希望在CoffeeScript、水晶、AutoHotkey、Markdown、JSON和其他地方都有SS,除了纯文本文件。
这是用PR 159198实现的;
当没有文档符号提供程序使用粘性卷轴的折叠模型时:

这在VSCode内部人士今日中是可用的。
https://stackoverflow.com/questions/73420407
复制相似问题