我开始在工作中使用COBOL / BASIC IDE(以替换我们目前从记事本略微提升的那个)。它将在C#中制作。管理层真的对实现一些Visual Studio类型的功能感兴趣,而一个重要的是代码折叠。我看过MSDN,但我没有看到任何折叠线的好方法(或添加展开/折叠按钮)。
我假设文本区域应该是RichTextBox。我在这里偏离轨道吗?我想可以使用某种经过修改的TreeView来完成,但这对我来说似乎有点不对劲。有没有办法做到这一点,我只是缺席了?
答案 0 :(得分:11)
为什么不使用现有的IDE并对其进行扩展?从头开始写一个是一项艰巨的任务(你需要一个解析器,词法分析器,语法高亮等等),如果你需要支持多种语言(你提到COBOL和Basic),它就会变得更加复杂。
Notepad++具有语法着色,可以为其添加语言 - COBOL是默认情况下安装的语言之一。它支持代码折叠并有许多插件(你可以编写自己的插件,以满足你的需求)。
修改强>: Eclipse是另一个优秀的IDE,具有类似的支持,并且在评论中提到有一个COBOL插件。
答案 1 :(得分:6)
我建议你看看SharpDevelop。它是一个非常好的IDE,内置了许多类似Visual Studio的功能。它是用C#编写的,完全支持代码折叠,语法突出显示多种语言。另外,它是LGPL许可下的开源软件。因此,如果您不希望将应用程序基于SharpDevelop,那么您仍然可以重用其中一些控件,如代码编辑器或窗口工具包。
您应该考虑将COBOL语言添加到SharpDevelop,而不是从头开始。如果你不能这样做,那么你仍然可以使用SharpDevelop代码作为如何使IDE工作良好的一个不错的参考。
答案 2 :(得分:4)
有时嵌入Eclipse或完整的编辑器是不合适的。由于某些其他原因,这是过度杀伤或超重或错误。我很欣赏其他帖子中提出的第一个倾向于不重新发明,但在某些情况下,一个小发明是必要的。例如,用于制作Stack Overflow帖子的文本框既不是Eclipse也不是嵌入式Visual Studio。我想知道为什么?
提出问题非常重要 - 构建或购买它? - 但有时候,正确的答案是构建它。
XPathVisualizer提供了一个用C#实现的代码折叠文本编辑器的简单示例,它基于RichTextBox。但它不是VB,它是一个XML编辑器。但一般原则适用。
这是一个看看它。
alt text http://i29.tinypic.com/1zwp5ix.jpg
要动态实现XML语法着色,在用户键入时,它使用单独的后台线程。描述原因和部分细节in a separate answer on Stack Overflow。
你可以为你的COBOL / VB做类似的事情。 XPathVisualizer是开源的,使用MS-PL许可,因此您可以浏览和借阅。
答案 3 :(得分:3)
如果您的团队习惯于“Visual Studio功能”,那么我假设您在办公室使用Visual Studio。以下是我的建议:
在以下两个问题中阅读我的答案:
答案 4 :(得分:2)
编写完整的IDE是一项巨大的任务。我建议您尝试找到一个符合您需要的现有产品,或者对现有的开源IDE进行调整。
回答你的问题:我想Visual Studio IDE使用的是自定义控件,而不是RichText控件。