我刚刚开始尝试使用Visual Studio来探索F#,但我无法通过“转到定义”选项导航到第三方依赖项代码。
我收到此错误消息:
“无法导航到定义。源代码不可用。”
我的主要语言是Java,我习惯使用IntelliJ IDEA源检索机制(通常通过Maven存储库完成)。在开发代码时,我认为这是一个不可或缺的功能。 .NET没有类似的东西吗?
修改
在阅读了评论和回答后,我去寻找SymbolSource上的一些软件包,然后找到它们(例如SymbolSource page for JSON.Net)。
我已经尝试过所显示的PM命令和页面,但它们一直产生错误:
Install-Package:处理此请求时发生错误。
所以我已经下载了NuGet.exe,并且通过以详细模式运行命令,我可以获得它请求的URL(例如SymbolSource FeedService URL for JSON.Net)。
如您所见,它显示错误:
暂时禁用NuGet Feed中的Gettting包。但是你不需要它来进行调试!
这是预期的吗?
P.S。:我也试过预先认证的链接。同样的问题。
P.S.2:似乎我可以在调试期间进入第三方依赖项的源代码,但我仍然无法通过“转到定义”(无论是在Debug还是在Edit模式下)访问它。
答案 0 :(得分:3)
在Visual Studio中,您可以在以下情况下转到第三方源代码:
转到编辑模式中的定义在C#或F#中没有该功能。在F#中,“导航到元数据”尚未实现。
我们无法将'Navigate to Source'添加到Visual F#Power Tools中,因为它们存在许多棘手的问题,例如: (1)如果未启用源服务器支持,该功能将无法使用,这是不幸的(2)它依赖于可能很慢或不可用的外部数据源(3)pdb内容很可能已过时或不正确,等
尽管如此,'Navigate to Metadata'似乎不那么棘手。我们需要来自FSharp.Compiler.Service的信息,需要付出一些努力来过滤我们需要的内容并将其呈现给用户。 Visual F#Power Tools的未来版本中可能会提供此功能。