6

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
 }

当我将光标放在此示例第一行的单词字符串// here上时,应突出显示标有的行。

4

1 回答 1

2

看起来名为 Linguist 的 VS2010 扩展将与您想要的很接近。它可以对任何正则表达式进行自定义突出显示。不过,它似乎无法根据您的光标位置进行更改。

更多关于扩展的信息可以在 github 页面查看。

没有用于设置的 GUI。取而代之的是您配置的设置文件%LOCALAPPDATA%\Linguist

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

样式.字段

# 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(但你可以用 .lang 扩展名命名你的任何文件)的文件custom。这就是我为突出显示返回语句所做的:

自定义.lang

Language: csharp
Globs: *.cs

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

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

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

于 2012-07-02T14:09:16.917 回答