在vscode中显示函数名“查找所有引用?”

wlp8pajw  于 2023-01-04  发布在  Vscode
关注(0)|答案(2)|浏览(507)

Shift + F12在Visual Studio代码中显示对函数或变量的引用。是否可以使它也显示每次命中属于哪个函数?
当前右侧视图:

main.c
  close()
  close()
runner.c
  close()
system.c
  void close()

我想要的:

main.c
  main(): close()
  control(): close()
runner.c
  abort(): close()
system.c
  void close()

目前,我发现我需要点击每一个点击,并滚动一点,看看它属于什么功能。
这个问题提到了Resharper,但我正在编写C代码:Show method name in "Find all references" - C# Visual Studio

iqxoj9l9

iqxoj9l91#

同样的问题。源代码洞察力有这个特性。

pb3skfrl

pb3skfrl2#

简短的回答是“否”,当前没有机制使VSCode显示您所请求的内容。
我更喜欢使用VisualStudio for c和c++,但遗憾的是,目前还没有机制让VisualStudio显示定义、项目、文件和找到引用的行/列以外的任何内容。因此,在这里将VS和VSCode放在一起考虑是合理的,因为我相信,如果这个特定的特性将其合并为一个,它很可能将合并为两个。
VisualStudio的用户似乎多年来一直在请求提供在其中找到引用的函数(或方法)的名称(即,您正在查找的完全相同的功能)。该请求已多次以一条语句关闭,该语句表示没有足够的赞成票表明这不是足够高的优先级。
一般来说,功能请求会根据开发团队已经需要/想要做的事情,以及用户已经请求并通过初步筛选的其他事情进行优先级排序。如果你真的关心这个功能,你可能需要重新提交它,并动员社区支持将其作为请求功能。下面是解释这个过程的wiki链接
IMO的这个缺点是一组失败之一,这些失败共同创造了像Resharper这样的附加产品和像Source Insight这样的竞争产品的市场。
我在VisualStudio中使用了一个愚蠢的解决方案。我不知道它在VSCode中是否会有同样的效果,但我将在这里分享它,以防它对某人有所帮助。在VS中,每个显示的引用也显示与引用放置在同一行上的任何注解。这意味着我可以做如下操作:

void funcOne()
{
   // your code here
   close(); //[Call from funcOne]
}
void funcTwo()
{
   // your code here
   close(); //[Call from funcTwo]
}

FindReferences窗口可以让你看到每个引用的源代码,而不需要打开每个引用。所附的图片显示了这在VisualStudio CommunityEdition 2022中的样子(我碰巧使用VisualMicro插件在嵌入式处理器的c++中工作,但所描述的行为是VisualStudio的Find References函数所固有的)。

相关问题