gpt4 book ai didi

c# - 如何在 Visual Studio 中以编程方式执行 "Go To Definition"?

转载 作者:太空狗 更新时间:2023-10-29 21:27:49 31 4
gpt4 key购买 nike

给定一个表示特定类/字段/属性的字符串(例如 MyNameSpace.MyClassSystem.String.Length),我如何以编程方式使 Visual Studio转到那个类/字段/属性(即,让 Visual Studio 执行与我在代码编辑器中键入引用然后按 F12 时会发生的相同的事情)?

最佳答案

您可能需要执行以下操作。

  1. 获取全局 IVsObjectManager2接口(interface)(由 SVsObjectManager 对象实现)
  2. 调用IVsObjectManager2.FindLibrary获取 C# 库,并将结果转换为 IVsSimpleLibrary2 .
  3. 调用IVsSimpleLibrary2.GetList2使用正确的 VSOBSEARCHCRITERIA2以便在您的解决方案的项目中找到该符号。

    1. 如果结果 IVsSimpleObjectList2GetItemCount() ==1,和 CanGoToSourceVSOBJGOTOSRCTYPE.GS_DEFINITION返回 pfOK==true,使用 GoToSource跳转到源的方法。

    2. 否则,与其跳转到源代码,不如简单地向用户显示可能的选项。您将能够使用 IVsFindSymbol接口(interface)(由 SVsObjectSearch 对象实现)为此。

关于c# - 如何在 Visual Studio 中以编程方式执行 "Go To Definition"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22344868/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com