什么是VS 2008 IDE写的?

时间:2009-06-13 15:05:20

标签: visual-studio visual-studio-2008

我试图搜索,但如果这是重复的,它会被一些噪音隐藏。该问题的替代标题:

需要与Visual Studio IDE集成时需要注意哪些技能?

4 个答案:

答案 0 :(得分:10)

Visual Studio 2008是用本机代码和托管代码编写的,尽管批量是用C ++编写的。有几个Visual Studio始终用托管代码编写(例如属性浏览器,WinForms Designer)。当然,Visual Studio 2008与COM结合在一起。

在Visual Studio 2010中,需要将更多IDE移动到托管代码。文本编辑器和shell(即菜单,工具栏,文档和工具窗口框架等)是用C#编写的。此外,C#和VB IDE的各个部分分别用C#和VB编写。新语言F#完全用托管代码编写 - 编译器,语言服务,项目系统等 - 都是用F#编写的。

您可以使用C#,VB或C ++与Visual Studio 2008集成。但是,鉴于Visual Studio是基于COM构建的,因此很好地理解COM / ATL将会很有帮助。此外,如果您选择使用托管语言,则COM互操作和混合模式调试的知识将非常有用。请注意,VS集成有几个级别:

  1. 宏 - 在IDE中运行自定义代码的最简单方法。
  2. 加载项 - 一种在IDE中构建自定义功能的简单但强大的方法。使用加载项,您可以创建自定义命令,监听事件,在编辑器中操作文本等。但是,您不能使用加载项向IDE添加新的语言或编辑器。出于许多目的,加载项工作正常。
  3. 包 - 这与Microsoft的功能使用的集成级别相同。使用包,您可以在Visual Studio IDE中创建几乎任何东西,包括添加新语言。
  4. 您应该注意到,这些内容在创作和部署方面变得越来越复杂。

    在Visual Studio 2010中,IDE的几个区域中引入了一种新的可扩展性形式,但主要用于扩展新的WPF文本编辑器。展望未来,与Visual Studio的集成将需要MEF(Managed Extensibility Framework)组件而不是COM。因此,在VS 2010中,扩展文本编辑器只需要用您喜欢的托管语言编写MEF组件。

答案 1 :(得分:4)

播客Herding Code第48集采访了Visual Studio Managed Languages Group的项目经理Dustin Campbell。

在那次访谈中,他就这个问题进行了几分钟的讨论,详细了解了为什么2010年的变化与2008年的竞争以及未来的前景如何。

如果这严重是一个好奇的问题,其他答案是正确的。但是如果你想深入挖掘一下,那么收听播客将非常值得你花时间。

答案 2 :(得分:3)

在Visual Studio 2008中至少使用以下语言

  1. C ++
  2. C#
  3. VB.Net
  4. C
  5. C ++ / CLI
  6. 带有托管扩展的C ++
  7. 可能是其他一些我忘了的人。

答案 3 :(得分:0)

混合。核心是C ++ / COM的东西,但很多新东西是托管代码(C#等)。由于核心是C ++ / COM(从MS Office借来的一堆代码),VS集成是一种有趣的体验。