24

受到这个关于图形编程环境的问题的启发。我不认为 C++ 或 C# 真的有利于这种类型的环境,但也许有一半的东西。

我使用的许多 IDE 将使用语法突出显示来更改关键字、字符串、注释等文本的前景(甚至背景)颜色......

是否有 IDE 可以突出更大的句法结构?这是我正在考虑的一个例子。

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

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

虽然它不是图形拖放环境,但突出显示仍然可以提供代码结构的整体视图。就个人而言,在多年的 C++ 学习 C# 之后,我仍然发现自己被以下事实绊倒:在文件的末尾通常有类的结尾和命名空间的结尾,所以函数的结尾是两级的. (在 C++ 代码文件中,函数的结尾通常在缩进的顶层)。我通过在右括号中添加一些小评论来帮助自己:

    } // end class 
} // end namespace

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

4

11 回答 11

16

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

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

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

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

于 2009-03-21T19:34:26.637 回答
7

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


(来源:codekana.com



(来源:codekana.com

  • 红色 for 循环
  • 如果块为绿色
  • 棕色用于其他块
  • 用于开关块的海蓝宝石
  • Olive 用于异常块
  • 橙色代表“回归”
于 2009-03-18T21:10:05.643 回答
7

Coderush 进行结构突出显示:

替代文字
(来源:devexpress.com

您可以使用 DevExpress 编写自己的插件来实现您的原始屏幕截图,这是非常可行的。

于 2009-03-18T21:24:06.420 回答
3

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

BlueJ 编辑器截图

于 2011-08-11T13:33:18.673 回答
0

Visual Studio IDE 已经这样做了,但使用了不同的可视化 - 您可以通过单击左边距的 +/- 按钮来展开和收缩嵌套块。

于 2009-03-18T21:09:27.173 回答
0

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

于 2009-03-18T21:14:51.310 回答
0

我认为 Xcode 3 大致可以满足您的需求,尤其是在启用Focus Follows Selection的情况下。当您将鼠标悬停在侧边栏中的各个块上时,它们会突出显示。

于 2009-03-18T21:15:00.203 回答
0

你应该试试这个插件,没有它你永远不会在视觉工作室工作, http://www.jetbrains.com/resharper/features/index.html

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

于 2009-03-22T09:31:09.853 回答
0

我正在开发受这个问题启发的 Visual Studio 扩展。你可以在这里看到我到目前为止所拥有的:

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

于 2010-11-12T10:24:37.543 回答
0

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

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

我觉得很方便。

于 2011-09-02T08:35:22.170 回答
0

allmargins 扩展在 Visual Studio 2010 中为我工作

工具-->扩展管理器-->搜索allmargins

于 2015-03-24T15:06:17.997 回答