查找已设置变量的所有位置?

时间:2010-08-21 23:45:17

标签: visual-studio debugging visual-studio-2010

通常在使用VS2010 Ultimate进行开发时,我想检查一个值在代码库中的位置(所以这是一个赋值)。

有没有办法,使用VS2010 Ultimate或第三方调试工具,能够获得已设置或获得变量的代码库中的所有位置?

8 个答案:

答案 0 :(得分:8)

是的,Reshaper 5中提供了Value Origins功能。

使用Ctrl + Shift + F搜索整个解决方案或使用一些建议的查找用法不会回答OP的问题 - 它将显示变量的每个用法,而不仅仅是分配,并且通过该列表进行移动可能会很乏味,耗时。

答案 1 :(得分:8)

您可以使用CTRL + SHIFT + F和正则表达式: MyVariable [\ t \ r \ n \ v \ f] * = [^ =],这将在“=”符号左侧搜索“myVariable”。

答案 2 :(得分:5)

对于它的价值,这最终将在VS2019中得到本地支持。

特别是“查找所有引用”窗口中有一个新的“查找”列,可以对其中的“写”引用进行过滤:

enter image description here

添加了此功能的特定Github PR计划包含在Visual Studio 2019预览版2(16.0.P2)https://github.com/dotnet/roslyn/issues/22545

VS2019的完整版本为roadmapped for Q1 of 2019

答案 3 :(得分:2)

免责声明:我隶属于OzCode

你可以调试加载项OzCode它有一个名为的功能 Setter断点Setter断点,当对象的属性发生变化时命中。

enter image description here

答案 4 :(得分:1)

这是使用Visual Studio而不使用第三方工具的更强大的解决方案:

<强> 1。除了后期/预修复增量和班次分配以外的所有内容:

  (^|[^\w.])MyVariable\s*([\+\-\*/%&|\^]|)=[\w\s]

<强> 2。对于后期/预修复增量和班次分配:

  ((^|[^\w.])MyVariable\s*(\+\+|--)|(\+\+|--)\s*MyVariable[^\w.]|(^|[^\w.])MyVariable\s*(<<|>>)=)

第3。对于Out / Ref参数(属性的N / A):

  (^|[^\w.])(out|ref)\s+MyVariable[^\w.]

CAVEATS:

  1. 仅限C#.NET。
  2. 仅限Visual Studio 2012+。
  3. 如果“E”后面跟着EOL,则无法使用。
  4. 如果“MyVariable”后面跟着EOL,则不起作用。
  5. 根据变量/属性的查找和范围的起点和范围,可能会找到比必要更多/更少的引用。如果有疑问,“更多”的错误,所以你不会错过任何东西。
  6. 不适用于“。” - 前缀变量/属性。 6.1。除非您将其作为“MyVariable”(即“MyStructVariable.MyStructField”或“MyObjectVariable.MyObjectField”)的一部分包含在内,否则您可能会发现太少的引用,因为可能有其他结构或对象变量用于对同一个Struct或对象字段或属性。

答案 5 :(得分:0)

您可以使用“查找参考”命令(Ctrl + K,Ctrl + R)

答案 6 :(得分:-1)

正如丹尼尔普拉特上面所说,我不确定你的意思是属性,变量还是其他东西。但是,我经常使用的一个相关功能是“查找用法”,可以通过右键单击方法,类,成员等来实现。这不仅可以找到作业,而且还可以查找所有用途 - 但是可能会缩小它以适合您在分配后手动筛选。

答案 7 :(得分:-1)

有时旧技术会变得最好。 也许你可以用CTRL + Shift + F

搜索整个解决方案