自动突出显示返回行

时间:2012-05-16 14:18:44

标签: c# visual-studio-2010 resharper-5.1

Eclipse(至少在使用Java时)具有自动突出显示方法中所有行的功能,当方法定义中将光标放在返回类型上时方法返回。
Visual Studio + ReSharper 5.1.3中是否还有C#这样的功能?

代码示例

string Do()
{
  if(/**/)
    return ""; // here

  if(/**/)
    return "1"; // here

  if(/**/)
    return "2"; // here

  throw new Exception(""); // here
 }

当我将光标放在本示例第一行中的 string 字词时,标有// here的行应突出显示。

1 个答案:

答案 0 :(得分:2)

看起来the VS2010 extension called Linguist会接近你想要的。它可以为任何正则表达式进行自定义突出显示。它似乎无法根据光标位置更改它。

可以查看有关扩展程序的更多信息at the github page

设置没有GUI。而是您配置的设置文件%LOCALAPPDATA%\Linguist

由于我的语法突出显示了我希望它与Resharper一起使用的方式,因此我从Styles.field子目录中的standard文件中删除了所有格式。如果你这样做,你需要留下所有的名字,所以它看起来类似于:

<强> Styles.field

# If new elements are added (or old ones removed) then Definitons.cs
# and Languages.Init have to be updated.
Name: attribute

Name: command

Name: comment

<<< keep all the names in this file, just remove formatting >>>

您需要设置一个用于突出显示的命名样式。我做了:

Name: emphasis
BackColor: Red

然后我在custom.lang子目录中创建了一个名为custom的文件(但您可以使用.lang扩展名命名)。这就是我为突出显示返回语句所做的:

<强> custom.lang

Language: csharp
Globs: *.cs

Emphasis: \breturn\b
Emphasis: \bthrow\b

这让事情对我有用。有点复杂,但它是免费的。另一种方法可能是清除standard\C#.lang文件,以便您可以保留其他文件格式。

最后另一个选项,因为它在github上,你可以为突出显示的文本添加一个新的样式定义,这样我们就不会剔除其余的格式。很高兴有选择:)