我试图在Visual Studio中启用LSP的诊断跟踪,就像在msdn中编写的那样。
按照说明,我做了以下步骤:
1.我已将ConfigurationSections
添加到ILanguageClient
public IEnumerable<string> ConfigurationSections
{
get
{
yield return "foo";
}
}
1.我创建了VSWorkspaceSettings.json文件的以下行:
{
"foo.trace.server": "Verbose"
}
1.我将VSWorkspaceSettings.json文件添加到写入ILanguageClient
的.vs文件夹和实现LSP的解决方案的.vs文件夹。
但是,它不起作用。我错过了什么?也许我复制了VSWorkspaceSettings.json文件到错误的文件夹?
2条答案
按热度按时间6ie5vjzr1#
我不知道如何启用它,但我找到了另一种方法来获取来自Visual Studio的所有JSON请求。在语言客户端,我通过创建类似here的
InterceptionStream
来拦截来自Visual Studio的所有请求,并 Package PipeStream。使用:
InterceptionStream
:pokxtpni2#
编辑:此答案的上半部分似乎专门针对示例项目,该项目配置自己的日志,跳到底部查找客户端日志位置。
我很难启用这个功能(也使用了您链接的指南)。我不完全确定我是否已经“解决”了这个问题,但这些步骤确实帮助我获得了日志:
我手动创建了文件夹
%Temp%\VisualStudio\LSP
,在使用Microsoft演示LSP项目完成此操作后,当我运行语言服务器时,出现了MockLog.svclog
启动。如果您按照建议创建
VSWorkspaceSettings.json
,则似乎需要将其放置在与您使用测试Visual Studio示例打开的项目相关的.vs
文件夹中;我正在使用TestFiles文件夹,并将其放置在创建的.“vs”文件夹中。这似乎反映在日志中,但似乎对初始输出没有任何影响,尽管我还没有详细探讨这一点:
编辑:这是我查找客户端日志的最接近的一次:
我还注意到,
%Temp%\VSLogs
文件夹中似乎生成了*.LSPClient.MockLanguageExtension.FooLanguageClient.*.svclog
的某种日志文件