我正在为专有语言开发文档符号提供程序,它似乎在大多数情况下工作得很好,但我只是在我的实现中添加了一个详细程度,现在我在大纲面板中收到一条消息:
很抱歉,这个文件太大了,无法显示大纲
该文件确实是我们最大的文件,至少其他一些文件似乎工作正常。此外,面包屑栏表明我的实施是正确的,因为它仍然有效,并显示我想要的。我打的限制是什么?我想确保在添加一些选项来限制大纲视图中的细节级别之前,我没有一些实现错误,这会导致我不必要地提供数据。或者,如果我知道限制是什么,也许我可以自动应用此开关,这样如果它太多,我将不会提供额外的细节。
我刚刚在VSCode源代码中搜索了对这个字符串的引用,但奇怪的是找不到任何东西。但是,回到1.31.0的标签我取得了更大的成功:
let newSize = TreeElement.size(model);
if (newSize > 7500) {
// this is a workaround for performance issues with the tree: https://github.com/Microsoft/vscode/issues/18180
return this._showMessage(localize('too-many-symbols', "We are sorry, but this file is too large for showing an outline."));
}
所以看起来限制是7500项,但限制has already been lifted since。我建议你试试1.32 Insider的版本。