是否有一个IDE进行结构语法突出显示?

时间:2009-03-18 20:59:43

标签: c# visual-studio ide syntax-highlighting

有点受this question关于图形编程环境的启发。我不认为C ++或C#真的有利于这种类型的环境,但也许那里有一些东西。

我使用的很多IDE将使用语法高亮来改变关键字,字符串,注释等文本的前景(甚至背景)颜色......

那里有IDE会突出更大的句法结构吗?这是我正在考虑的一个例子。

Example code structure http://img256.imageshack.us/img256/9441/codestructure.png

(请不要评论我糟糕的颜色选择......我不是一个平面设计师。)

虽然它不是图形化的拖放环境,但突出显示仍然可以全面了解代码的结构。就个人而言,在多年的C ++之后学习C#,我仍然抓住了自己绊倒这样一个事实:在一个文件的末尾你通常有一个类的结尾和命名空间的结尾,所以函数的结尾是两个级别的(在C ++代码文件中,函数的结尾通常位于缩进的顶层)。我通过在旁边括号中发表一些评论来帮助自己:

    } // end class 
} // end namespace

但在我看来,一些自动着色会使完全没必要。无论如何,这已经完成了吗?如果它是Visual Studio的附加组件,则获得奖励。

11 个答案:

答案 0 :(得分:16)

我是Codekana的作者。实际上,您在上面描述的是该产品的主要目标。顺便说一下,我即将发表一篇关于“制作”和基础技术的文章,这篇文章非常漂亮。它可能会在下周(2009年3月26日左右)上市。推荐阅读,如果我可以这样说的话。

Codekana仅提供轮廓而不是彩色背景的原因是VS的文本呈现可扩展性的限制。我希望能够在未来的某个时候实现一个可靠的背景版本,尽管它肯定需要严重的黑客攻击和“火箭手术”。

我会在上面评论,而不是提供另一个答案,但我的声誉不允许评论。 :(

[更新:感谢你们的赞成,现在我可以评论!]

答案 1 :(得分:7)

我见过的最接近的是Codekana,虽然没有“背景语法突出显示”,但它会为不同的流控制结构着色:


(来源:codekana.com



(来源:codekana.com

  • 红色for循环
  • 绿色for if-blocks
  • Brown for else-blocks
  • 用于开关块的海蓝宝石
  • Olive for exception blocks
  • 橙色为'返回'

答案 2 :(得分:7)

Coderush进行结构性突出显示:

alt text
(来源:devexpress.com

您可以使用DevExpress编写自己的插件,从而实现精确的原始屏幕截图。

答案 3 :(得分:3)

目前的BlueJ编辑器正是您所描述的:

BlueJ editor screenshot

答案 4 :(得分:0)

Visual Studio IDE已经执行此操作,但使用不同的可视化 - 您可以通过单击左边距上的+/-按钮来展开和收缩嵌套块。

答案 5 :(得分:0)

一个好主意。就个人而言,我真的不喜欢折叠编辑器,但这是可以忍受的 - 你希望能够轻松地打开/关闭它。也许某人已经为超级可编程编辑器如vim和emacs做过这个?

答案 6 :(得分:0)

我认为Xcode 3的功能与您想要的大致相同,尤其是Focus Follows Selection enabled。当您将鼠标悬停在侧边栏中时,会突出显示各个块。

答案 7 :(得分:0)

你应该尝试这个Addin,如果没有它,你将无法在visual studio中工作, http://www.jetbrains.com/resharper/features/index.html

PS:我不是这家公司或产品的附属公司,但我是一个使用它的瘾君子,没有它我就永远无法工作,它为我的编码任务和代码探索和调试节省了很多时间。

答案 8 :(得分:0)

我正在研究受此问题启发的Visual Studio扩展。你可以看到我到目前为止所拥有的东西:

http://lorgonblog.wordpress.com/2010/11/12/the-f-compiler-source-release-making-it-easy-to-write-cool-visual-studio-extensions/

答案 9 :(得分:0)

还有一个免费扩展,至少根据它们的属性绘制彩色指南。例如,if指南为绿色等等:
Example screenshot

它被称为 StructureAdornment ,您可以在Extension Manager中或Visual Studio Gallery中获取它。

我发现它非常方便。

答案 10 :(得分:0)

allmargins扩展适用于Visual Studio 2010

工具 - > Exention Manager - >搜索allmargins