Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# visual studio搜索公共变量的字符串?_C#_Visual Studio - Fatal编程技术网

C# visual studio搜索公共变量的字符串?

C# visual studio搜索公共变量的字符串?,c#,visual-studio,C#,Visual Studio,我继承的代码库似乎有一堆公共变量,当我遇到它们时,我倾向于将它们转换为属性,记录它们,并根据我们的stylecop规则格式化它们(这是我自己的kaizen小版本-最终代码库将是干净的)但我只是想知道是否有一个好的搜索字符串,我可以在vs中使用它来查找项目中的所有公共变量?我不是正则表达式专家,但您可以在vs查找窗口中使用正则表达式。只需按住Ctrl+Shift+F键即可打开“在文件中查找”,并在“查找选项”中选中“使用正则表达式” 这应该会给你一些东西 public[^(){}]*[;]您可以创

我继承的代码库似乎有一堆公共变量,当我遇到它们时,我倾向于将它们转换为属性,记录它们,并根据我们的stylecop规则格式化它们(这是我自己的kaizen小版本-最终代码库将是干净的)但我只是想知道是否有一个好的搜索字符串,我可以在vs中使用它来查找项目中的所有公共变量?

我不是正则表达式专家,但您可以在vs查找窗口中使用正则表达式。只需按住Ctrl+Shift+F键即可打开“在文件中查找”,并在“查找选项”中选中“使用正则表达式”

这应该会给你一些东西


public[^(){}]*[;]

您可以创建一个正则表达式来匹配所有“公共变量”,然后在查找和替换窗口(Ctrl+Shift+F)中使用它

您可以始终使用类视图(Ctrl+Shift+C)和“按对象访问排序”

您可以使用以下正则表达式来查找它们:

public:b+{{new|static|readonly|volatile|const}:b+}*{:i}:b+{:i}:b+;

第一个和第二个捕获是除public之外的附加字段修饰符。第三个捕获是类型,第四个是字段名。请记住,该标准不要求访问修饰符位于任何其他有效字段修饰符之前,因此为了完整性,您可能需要将
{{new | static | readonly | volatile | const}:b+}*
前置到开头。大多数代码实际上并不需要它。

我认为可能很难使用正则表达式或查找并替换所需的内容。在我看来,你可以创建一个定制的StyleCop规则来找到你想要的


您可能会从中得到一些想法,它编写了一个按访问级别对成员进行排序的规则。

我知道这一点,但唉,我也不是正则表达式专家,我希望有人能用一个好的搜索字符串来让自己出名:)@Stan:效果非常好。非常感谢。我应该注意到,它还捕获事件,但是从视觉上将它们从find结果中排除是很简单的。再一次。谢谢。实际上,这将找到公共属性…他需要公共字段,以便可以将它们转换为属性。添加了分号以仅强制执行字段。