繁体   English   中英

在 vscode“查找所有引用?”中显示 function 名称?

[英]Show function names in vscode "Find All References?"

Visual Studio Code 中的 Shift+F12 显示对 function 或变量的引用。 是否有可能让它也显示每次点击属于什么 function?

当前右侧视图:

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()

目前,我发现我需要单击每个命中并稍微滚动一下以查看它属于哪个 function。

这个问题提到了 Resharper,但我正在编写 C 代码: 在“查找所有引用”中显示方法名称 - C# Visual Studio

同样的问题。 source insight 具有此功能。

简短的回答是“否”,目前没有任何机制可以让 VSCode 显示您的请求。

我更喜欢将 VisualStudio 用于 c 和 c++,但遗憾的是,目前没有任何机制可以让 VisualStudio 显示除定义、项目、文件和找到引用的行/列之外的任何内容。 IMO 在这里将 VS 和 VSCode 一起考虑是合理的,因为我相信如果这个特定的功能成为一个,它很可能会成为两者。

多年来,VisualStudio 的用户似乎一直在请求找到引用的 function(或方法)的名称(即,与您正在寻找的功能完全相同)。 该请求一再被关闭,并声明没有足够的赞成票表明这不是一个足够高的优先级。

一般来说,功能请求的优先级高于开发团队已经需要/想要做的所有事情,以及用户已经请求并通过一些初步筛选的所有其他事情。 如果您真的关心此功能,您可能需要重新提交它并动员社区支持将其作为请求的功能进行投票。 这是解释该过程的维基链接

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 window 使查看每个参考文献的来源成为可能,而无需打开每个参考文献。 所附图片显示了这在 VisualStudio CommunityEdition 2022 中的样子(我碰巧在 c++ 工作,用于使用 VisualMicro 附加组件的嵌入式处理器,但所描述的行为是 VisualStudio 的 Find References 功能固有的)。

屏幕截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM