如何根据某些自定义模式更改Visual Studio 2010中的行颜色?例如,我想更改以logger.
开头的所有行的颜色。它有可能吗?
我也安装了ReSharper 5.
答案 0 :(得分:2)
我写了一个快速的小扩展来做到这一点;因为你很可能想要修改它,你应该grab the source。重要的部分是LayoutChanged
中的代码:
void ViewLayoutChanged(object sender, TextViewLayoutChangedEventArgs e)
{
IWpfTextView view = sender as IWpfTextView;
var adornmentLayer = view.GetAdornmentLayer("HighlightLines");
foreach (var line in e.NewOrReformattedLines)
{
if (line.Extent.GetText().StartsWith("logger.", StringComparison.OrdinalIgnoreCase))
{
Rectangle rect = new Rectangle()
{
Width = view.ViewportWidth + view.MaxTextRightCoordinate,
Height = line.Height,
Fill = Brushes.AliceBlue
};
Canvas.SetTop(rect, line.Top);
Canvas.SetLeft(rect, 0);
adornmentLayer.AddAdornment(line.Extent, null, rect);
}
}
}
要构建/运行此功能,您需要:
Fill = Brushes.AliceBlue
行。if
表达式中的条件。[ContentType]
属性。 this msdn page的“内容类型”部分列出了一些常见的内容。