F# 实用工具:F# Depth Colorizer
色彩区分代码结构在F#中已经实现
上周提到我一直致力于一个编辑器的扩展的开发,如今,它已经可用了,并且你可以尝试一下!你可以从Visual Studio Gallery中获取F# Depth Colorizer(也就是我说的扩展)。鼠标单击进行安装;安装完成后,你可以在Visual Studio中的“工具\扩展管理器”菜单中找到它。
安装完成后, 你的代码结构会在编辑器中被高亮的显示出来,如下图所示:
或者像这样:
而不是像原来那样平铺着代码:
明白了么?就像前两幅图中显示的那样,颜色是可以自己配制的。我并不是太擅长界面颜色的配制,所以用户可以通过注册表来配置这些颜色。(编辑:亦可见这里)。如果你没有这个注册表项,你的编辑器中会默认的显示为灰色,就像第一个截图那样。下面的注册表值代表灰度值:
Windows RegistryEditor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TextEditor\FSharpDepthColorizer]
"Depth0"="190,190,190,230,230,230"
"Depth1"="170,170,170,210,210,210"
"Depth2"="184,184,184,224,224,224"
"Depth3"="164,164,164,204,204,204"
"Depth4"="178,178,178,218,218,218"
"Depth5"="158,158,158,198,198,198"
"Depth6"="172,172,172,212,212,212"
"Depth7"="152,152,152,192,192,192"
"Depth8"="166,166,166,206,206,206"
"Depth9"="146,146,146,186,186,186"
另外,第二副截图中的红-蓝色彩的注册表值如下所示:
Windows RegistryEditor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TextEditor\FSharpDepthColorizer]
"Depth0"="240,180,180,240,220,220"
"Depth1"="180,180,240,220,220,240"
"Depth2"="240,172,172,240,216,212"
"Depth3"="172,172,240,212,216,240"
"Depth4"="240,164,164,240,212,204"
"Depth5"="164,164,240,204,212,240"
"Depth6"="240,156,156,240,208,196"
"Depth7"="156,156,240,196,208,240"
"Depth8"="240,148,148,240,204,188"
"Depth9"="148,148,240,188,204,240"
通常,这个扩展会查找这些注册表值。(你可以保存上面的注册表值到文件“foo.reg”中,然后运行这个文件来写入注册表,或者通过“regedit”工具来检查\更改这些值。一定要小心的更改你的注册表!)
六个数字字符串组成了DepthN的值,它代表了两组RGB值,如:
DepthN = R1,G1,B1,R2,G2,B2
当N代表代码嵌套的结构层次数时,RGB1代表了左边边缘的高亮颜色(目的是为了让边缘界线更明显),RGB2的值将成为应用在嵌套层次上的主要高亮色彩。下图会有10层的嵌套,颜色会被循环使用在一层层的代码结构上:
而且这些颜色会越来越暗,直到第10层,当到达11层时,又会循环到色彩集合中最亮的粉色。
我会很快发布此VSIX扩展的源代码。(编辑:可以在这里察看发布情况。)现在,我鼓励大家尝试一下,你可以将反馈留在我的博客或画廊。用的开心!
(非常感谢Noah帮我完成了这个扩展在编辑器中的部分。谢谢那些帮我完成Beta版测试和提供反馈的朋友们。)
原文链接:http://lorgonblog.wordpress.com/2010/11/18/f-source-code-structural-colorizer-available/