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

这个关于图形编程环境的问题引起了一些启发。 我不认为C ++或C#真的有利于这种类型的环境,但也许有一些东西在那里。

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

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

示例代码结构http://img256.imageshack.us/img256/9441/codestructure.png

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

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

} // end class } // end namespace 

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

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

http://www.codekana.com/img/post-hls.gif


http://www.codekana.com/img/nested-hdr.gif

  • 红色for循环
  • 绿色为if-blocks
  • 布朗为其他块
  • 用于开关块的海蓝gem
  • 橄榄为exception块
  • 橙色的’回归’

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

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

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

[更新:感谢upvotes,现在我可以发表评论!]

Coderush做结构突出:

alt text http://devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/i/StructuralHighlightingInCSharp.gif

您可以使用DevExpress编写自己的插件来实现您的原始屏幕截图。

当前的BlueJ编辑器完全符合您的描述:

BlueJ编辑截图

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

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

我认为Xcode 3的function与您想要的大致相同,特别是启用了Focus Follows Selection 。 当您将鼠标hover在侧边栏中时,会突出显示各个块。

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

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

我正在研究受此问题启发的Visual Studio扩展。 你可以在这里看到我到目前为止:

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

还有一个免费的扩展,至少根据它们所属的颜色绘制彩色指南。 例如, if绿色指南等等:
示例截图

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

我发现它非常方便。

allmargins扩展适用于Visual Studio 2010

工具 – > Exention Manager – >搜索allmargins