什么是VS 2008 IDE写的?

ojb*_*ass 2 visual-studio-2008 visual-studio

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

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

Dus*_*ell 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中创建几乎任何东西,包括添加新语言.

您应该注意到,这些对于创作和部署来说变得越来越复杂.

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