知道任何C#语法高亮技巧吗?

时间:2009-03-06 17:09:16

标签: c# visual-studio syntax-highlighting

我通常更喜欢使用黑色背景和白色/彩色文本进行编码,但我从未花时间在Visual Studio中更改语法高亮。

昨天,当我最终解决这个问题时,我的一个更改是将用户类型和用户类型(值类型)更改为不同的颜色。在没有意识到的情况下,我一直在使用结构类型来传递和返回方法中的数据,而不是我想要的。

语法突出显示的这种变化使得发生的事情非常明显。因此,我想知道是否有其他设置可以提供类似的帮助。

我通常也会将我的文档和注释颜色设置为更加褪色和被动的颜色,这样实际的代码就会更多地向您跳跃并快速浏览代码。

您是否有其他类似的提示可以帮助发现问题或使事情更具可读性?

注意:(我见过this post,但我正在寻找更多功能性提示并提供帮助而非纯粹的美容偏好。)

12 个答案:

答案 0 :(得分:35)

我让字符串看起来很糟糕。黄色背景。胆大。红色的前景。提醒我,硬编码字符串通常很糟糕,并尽量尽量减少它!

答案 1 :(得分:14)

  • 为了便于阅读 -

我建议使用深色(但不是黑色)背景和浅色(但不是白色)文字。较高的对比度很容易在眼睛上,但过多的对比度让我(个人)头疼。我也100%同意你对使用褪色的文档和评论的评论。

  • 代码理解 -

绝对为用户类型,代理和值类型使用不同的颜色(即使只是略微)。这使得它们流行起来,并且在您尝试快速了解其他人的代码时非常有用。

另外,关于使字符串文字脱颖而出的评论。我不一定使用可怕的颜色,但我有一种与我所有其他颜色分开的颜色,所以它们非常明显。

我也喜欢将Numbers作为单独的颜色。很多时候,数字与字符串文字有一些相同的问题,并且它们分别着色使它们对我很有帮助,并帮助我找到我应该用常量,属性等替换数字文字的地方。

  • 重构 -

我发现它有一个单独的主题可用,其中颜色都被夸大了(例如亮蓝色而不是接口的蓝色,用于重构)。我使用与通常使用的相同的基本配色方案,但每种类型都使用“更亮”的颜色。 (我不喜欢改变颜色方案 - 我的大脑有点像我的标准颜色 - 切换失败了我的目的)。然而,拥有更亮的版本会让所有东西“流行”得更多,所以它很适合重构或试图理解其他人的代码。

答案 2 :(得分:11)

人们为Visual Studio整理了“主题”。我发现每6-12个月引入一个新的设置主题会给所有内容带来新的视角,尽管我认为很少有主题(我倾向于在两个不同的主题之间切换)。

查看Scott关于VS主题的文章: http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx

答案 3 :(得分:7)

为用户定义的类使用一些漂亮的颜色和一个丑陋的颜色,这有助于解耦事物。

Vibrant Ink theme有一些非常深思熟虑的内容。我喜欢稍微调低颜色like this,但这是一个好的开始。

答案 4 :(得分:6)

为什么你看不出对你有用的东西?在http://www.frickinsweet.com/tools/Theme.mvc.aspx

有一个很酷的主题生成器

网站上有关如何备份当前设置并导入您创建的设置的完整说明。

答案 5 :(得分:2)

尝试将字符串文字设置为带有粗体白色文本的亮红色背景。它会鼓励你不要使用魔术字符串=)

答案 6 :(得分:2)

它并没有真正突出显示,但我最近在阅读了一些建议之后切换到比例字体并发现它明显更好。

在切换之前我的主要恐惧是事情不能正确排列但在尝试之后我意识到它工作正常而没有任何明显的劣势。标签(或空格)排列的块和单词重复向下排列,因为它们由相同的字母组成。我的恐惧是想象的,因为我不知何故认为如果他们不同我需要单词排队。事实并非如此。

它阻止的一件事是对齐位于表达式中间但不在左侧的单词。例如。在固定宽度字体中,您可以执行以下操作:

string firstName     = "John";
string lastName      = "Smith";
int age              = 30;

然而你不能用比例字体做到这一点。但这种做法现在似乎很少见。也许更多的是C语言或汇编语言。

无论如何,我建议尝试一下。互联网运行在比例字体上,因此只要它们没有任何缺点就可以使用它们。当它被推荐给我时,他们声称只需要几天就能习惯,结果证明是真的。我发现Arial 11在Visual Studio中是一个不错的选择。

答案 7 :(得分:1)

我为类和结构使用不同的颜色。

答案 8 :(得分:1)

将字符串变亮,以便在代码中立即注意到它们。我在黑色上使用绿色字符串。在灰色我曾经使用黄色。

顺便说一下,我对常数,数字等做同样的事情。

答案 9 :(得分:1)

我真的很喜欢Resharper's colorizing system。使用它可以从编辑器中获得更多细节。例如:字段,本地和参数都是不同的颜色。我不知道为什么VS不包括这个开箱即用。

答案 10 :(得分:0)

我总是将括号匹配背景设置为红色,并使其变为粗体。这样,当我关闭括号或parens时,我可以看到它与之匹配的对象。

答案 11 :(得分:0)

我认为选择好的等宽字体进行编程更为重要(我的选择是consolas,对于其他一些优秀的字体,请查看编码恐怖的this article)。

Visual Studio的默认主题非常好,如果你晚上工作,可能太亮了。