我开始在工作中使用 COBOL/BASIC IDE(替换我们目前拥有的那个,它比记事本稍有进步)。它将用 C# 制作。管理层对实现一些 Visual Studio 类型的功能非常感兴趣,其中一个重要的功能是代码折叠。我查看了 MSDN,但没有看到任何折叠线条(或添加展开/折叠按钮)的好方法。
我假设文本区域应该是 RichTextBox。我在这里偏离轨道了吗?我想它可以用某种修改过的 TreeView 来完成,但这对我来说似乎有点不对劲。有没有办法做到这一点,我只是想念?
我建议你看看SharpDevelop。这是一个相当不错的 IDE,已经内置了许多类似 Visual Studio 的功能。它是用 C# 编写的,并且完全支持代码折叠和几种语言的语法突出显示。此外,它是 LGPL 许可下的开源软件。因此,如果您不想将您的应用程序基于 SharpDevelop,那么您仍然可以重用他们的一些控件,例如代码编辑器或窗口工具包。
您应该考虑将 COBOL 语言添加到 SharpDevelop,而不是从头开始。如果你不能做到这一点,那么你仍然可以使用 SharpDevelop 代码作为如何使一个好的 IDE 工作的体面参考。
有时嵌入 Eclipse 或成熟的编辑器是不合适的。由于某些其他原因,这是矫枉过正或超重或错误的。我很欣赏其他帖子中建议的第一个倾向,即不要在这里重新发明,但在某些情况下,一个小发明是必要的。例如,用于制作 Stack Overflow 帖子的文本框......既不是 Eclipse,也不是嵌入式 Visual Studio。我想知道为什么?
提出这个问题很重要——建造还是购买?- 但有时,正确的答案是建立它。
XPathVisualizer提供了一个用 C# 实现并基于 RichTextBox 的代码折叠文本编辑器的简单示例。不过,它不是 VB——它是一个 XML 编辑器。但一般原则适用。
来看看吧。
为了动态实现 XML 语法着色,当用户键入时,它使用一个单独的后台线程。原因和一些细节在 Stack Overflow 上的单独答案中进行了描述。
你可以为你的 COBOL/VB 做类似的事情。XPathVisualizer 是开源的,获得 MS-PL 许可,因此您可以浏览和借阅。
如果您的团队习惯于“Visual Studio 功能”,那么我假设您在办公室使用 Visual Studio。以下是我的建议:
在以下两个问题中阅读我的答案:
编写一个完整的 IDE 是一项艰巨的任务。我建议尝试找到一个现有的具有您想要的东西,或者对现有的开源 IDE 进行调整。
回答您的问题:我猜 Visual Studio IDE 使用的是从头开始编写的自定义控件,而不是 RichText 控件。