<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_一个程序员的自省_分类_09-VS Extensibility</title><id>http://feed.cnblogs.com/blog/u/15645/category/177685/rss</id><updated>2012-05-29T01:15:05Z</updated><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/category/177685.html"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/15645/category/177685/rss"/><entry><id>http://www.cnblogs.com/anderslly/archive/2009/08/30/retrieve-project-item-full-path.html</id><title type="text">VS Addin开发小技巧：获取Solution Explorer中文件项的路径</title><summary type="text">Copy Full Path和Open Containing Folder是VS中当前打开文档所提供的两个有用功能，但是这两个功能却没有出现Solution Explorer的文件项上，本文介绍了如何弥补这个缺憾。</summary><published>2009-08-30T13:58:00Z</published><updated>2009-08-30T13:58:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/08/30/retrieve-project-item-full-path.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/08/30/retrieve-project-item-full-path.html"/><content type="text">Copy Full Path和Open Containing Folder是VS中当前打开文档所提供的两个有用功能，但是这两个功能却没有出现Solution Explorer的文件项上，本文介绍了如何弥补这个缺憾。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/05/30/vs-addin-code-converter.html</id><title type="text">给VS添加代码转换功能</title><summary type="text">本文借助于SharpDevelop的一个Web Service，将代码转换功能集成到了VS，顺便介绍了如何为命令添加快捷键。</summary><published>2009-05-30T12:45:00Z</published><updated>2009-05-30T12:45:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/05/30/vs-addin-code-converter.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/05/30/vs-addin-code-converter.html"/><content type="text">本文借助于SharpDevelop的一个Web Service，将代码转换功能集成到了VS，顺便介绍了如何为命令添加快捷键。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/05/28/remove-vs-addin-menu.html</id><title type="text">如何移除VS Add-In残留的菜单项</title><summary type="text">有时候Add-In明明已经卸载了，它的菜单却还是挥之不去。本文介绍了两种方法，希望能解决这个问题。</summary><published>2009-05-28T06:26:00Z</published><updated>2009-05-28T06:26:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/05/28/remove-vs-addin-menu.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/05/28/remove-vs-addin-menu.html"/><content type="text">有时候Add-In明明已经卸载了，它的菜单却还是挥之不去。本文介绍了两种方法，希望能解决这个问题。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/05/24/vs-addin-set-vs2008-path.html</id><title type="text">如果您下载的Add-In代码不能调试运行</title><summary type="text">如果您下载了他人编写的Add-In代码，那么在尝试调试运行时，可能会遇到问题，本文也许能帮上忙。</summary><published>2009-05-24T09:00:00Z</published><updated>2009-05-24T09:00:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/05/24/vs-addin-set-vs2008-path.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/05/24/vs-addin-set-vs2008-path.html"/><content type="text">如果您下载了他人编写的Add-In代码，那么在尝试调试运行时，可能会遇到问题，本文也许能帮上忙。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/05/24/vs-addin-options-page.html</id><title type="text">Visual Studio 2008 可扩展性开发（八）：关于用户界面的种种（下）</title><summary type="text">本文着重介绍了如何为Add-In添加选项页（Options Page），这样可以为用户提供较为专业的配置界面，然后简单介绍了如何设置菜单项的图标。这一次的例子是SearchTextInWeb，可以直接打开浏览器搜索VS的选中文本，相信会你带来一些方便。</summary><published>2009-05-24T08:39:00Z</published><updated>2009-05-24T08:39:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/05/24/vs-addin-options-page.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/05/24/vs-addin-options-page.html"/><content type="text">本文着重介绍了如何为Add-In添加选项页（Options Page），这样可以为用户提供较为专业的配置界面，然后简单介绍了如何设置菜单项的图标。这一次的例子是SearchTextInWeb，可以直接打开浏览器搜索VS的选中文本，相信会你带来一些方便。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/05/10/vs-addin-toolwindow.html</id><title type="text">Visual Studio 2008 可扩展性开发（八）：关于用户界面的种种（上）</title><summary type="text">本文介绍了VS工具窗口相关的内容。首先是如何访问、操作那些内置的工具窗口，如Solution Explorer、Output Window等等；然后介绍了如何创建自定义的工具窗口，在这个窗口中可以查看VS的快捷键列表。</summary><published>2009-05-09T16:25:00Z</published><updated>2009-05-09T16:25:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/05/10/vs-addin-toolwindow.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/05/10/vs-addin-toolwindow.html"/><content type="text">本文介绍了VS工具窗口相关的内容。首先是如何访问、操作那些内置的工具窗口，如Solution Explorer、Output Window等等；然后介绍了如何创建自定义的工具窗口，在这个窗口中可以查看VS的快捷键列表。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/04/01/vs-addin-property-manager.html</id><title type="text">通过PropertyManager Add-In管理代码中的属性</title><summary type="text">本文向NEnhancer添加了PropertyManager功能来管理代码中的属性，它可以同时为多个字段生成属性代码，也可以在自动属性和常规属性这两种声明方式之间进行转换。希望这个功能能让您对编辑器的扩展有更多的了解。</summary><published>2009-04-01T14:05:00Z</published><updated>2009-04-01T14:05:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/04/01/vs-addin-property-manager.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/04/01/vs-addin-property-manager.html"/><content type="text">本文向NEnhancer添加了PropertyManager功能来管理代码中的属性，它可以同时为多个字段生成属性代码，也可以在自动属性和常规属性这两种声明方式之间进行转换。希望这个功能能让您对编辑器的扩展有更多的了解。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/03/30/vs-addin-text-editor.html</id><title type="text">Visual Studio 2008 可扩展性开发（七）：操作文本编辑器</title><summary type="text">VS2008的编辑器功能颇为强大。问题在于，VS面向的是所有的开发人员，它只能够提供最通用的功能，如果对VS的编辑器有些额外的需求，我们只好自己动手了，本文将介绍如何对文本编辑器进行扩展。编辑器的扩展相关的接口及其成员数量众多，这给了我们很大的空间。这一次的例子是CodeTemplate，通过这个功能可以为那些重复输入的代码或注释建立模板，节省很多时间。</summary><published>2009-03-30T15:32:00Z</published><updated>2009-03-30T15:32:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/03/30/vs-addin-text-editor.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/03/30/vs-addin-text-editor.html"/><content type="text">VS2008的编辑器功能颇为强大。问题在于，VS面向的是所有的开发人员，它只能够提供最通用的功能，如果对VS的编辑器有些额外的需求，我们只好自己动手了，本文将介绍如何对文本编辑器进行扩展。编辑器的扩展相关的接口及其成员数量众多，这给了我们很大的空间。这一次的例子是CodeTemplate，通过这个功能可以为那些重复输入的代码或注释建立模板，节省很多时间。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/03/19/vs-addin-solution-explorer.html</id><title type="text">Visual Studio 2008 可扩展性开发（六）：操作Solution Explorer</title><summary type="text">在可扩展性开发（五）中，我介绍了对于Solution、Project、ProjectItem的基本操作，可以认为它们面向的是解决方案内容的物理（文件）表示，我们需要使用VS提供的解决方案管理器（Solution Explorer）来管理它们。毫无疑问，解决方案管理器是VS中最重要的UI元素之一，本文就介绍对它的操作。这一次的例子是CollapseAllProjects，可以将解决方案中所有的项目节点折叠起来，如果项目很多，这个功能会很有用。</summary><published>2009-03-18T17:45:00Z</published><updated>2009-03-18T17:45:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/03/19/vs-addin-solution-explorer.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/03/19/vs-addin-solution-explorer.html"/><content type="text">在可扩展性开发（五）中，我介绍了对于Solution、Project、ProjectItem的基本操作，可以认为它们面向的是解决方案内容的物理（文件）表示，我们需要使用VS提供的解决方案管理器（Solution Explorer）来管理它们。毫无疑问，解决方案管理器是VS中最重要的UI元素之一，本文就介绍对它的操作。这一次的例子是CollapseAllProjects，可以将解决方案中所有的项目节点折叠起来，如果项目很多，这个功能会很有用。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/03/15/vs-addin-solution-project.html</id><title type="text">Visual Studio 2008 可扩展性开发（五）：操作Solution、Project和ProjectItem</title><summary type="text">在VS中，解决方案、项目和文件（夹）是其基本组织形式，也是我们开发人员最为熟悉的元素了，本文介绍的就是与此相关的操作。这些操作是通过开发一个具备初步功能的代码生成器来演示的，其中可以了解如何从解决方案开始，自上而下逐步生成项目、文件夹和文件。</summary><published>2009-03-15T15:10:00Z</published><updated>2009-03-15T15:10:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/03/15/vs-addin-solution-project.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/03/15/vs-addin-solution-project.html"/><content type="text">在VS中，解决方案、项目和文件（夹）是其基本组织形式，也是我们开发人员最为熟悉的元素了，本文介绍的就是与此相关的操作。这些操作是通过开发一个具备初步功能的代码生成器来演示的，其中可以了解如何从解决方案开始，自上而下逐步生成项目、文件夹和文件。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/03/09/vs-addin-add-command.html</id><title type="text">Visual Studio 2008 可扩展性开发（四）：添加新的命令</title><summary type="text">本文首先介绍了命令和命令栏的概念，正是通过命令VS才可以与Add-In进行交互。然后通过两个例子解释了如何添加、执行命令，以及如何执行VS内置的命令，接下来我们就有办法操作VS的方方面面了：解决方案、项目、文档、代码等等，敬请期待:-)</summary><published>2009-03-08T17:12:00Z</published><updated>2009-03-08T17:12:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/03/09/vs-addin-add-command.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/03/09/vs-addin-add-command.html"/><content type="text">本文首先介绍了命令和命令栏的概念，正是通过命令VS才可以与Add-In进行交互。然后通过两个例子解释了如何添加、执行命令，以及如何执行VS内置的命令，接下来我们就有办法操作VS的方方面面了：解决方案、项目、文档、代码等等，敬请期待:-)</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/03/03/vs-addin-explained-part2.html</id><title type="text">Visual Studio 2008 可扩展性开发（三）：Add-In运行机制解析（下）</title><summary type="text">本文主要介绍了VS Add-In的事件和生命周期，通过这些知识，我们能够知道在何时获取需要的信息；同时还简单介绍了VS自动化对象模型。加上Add-In运行机制解析（上），我们应当对Add-In的运行机制有个基本的了解，接下来就可以考虑开发真正有用的Add-In了。</summary><published>2009-03-02T16:14:00Z</published><updated>2009-03-02T16:14:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/03/03/vs-addin-explained-part2.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/03/03/vs-addin-explained-part2.html"/><content type="text">本文主要介绍了VS Add-In的事件和生命周期，通过这些知识，我们能够知道在何时获取需要的信息；同时还简单介绍了VS自动化对象模型。加上Add-In运行机制解析（上），我们应当对Add-In的运行机制有个基本的了解，接下来就可以考虑开发真正有用的Add-In了。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/02/28/vs-addin-explained-part1.html</id><title type="text">Visual Studio 2008 可扩展性开发（三）：Add-In运行机制解析（上）</title><summary type="text">本文主要关注的是Add-In向导所产生的代码，其中的重点是Connect.cs和.Addin文件。Connect类是Add-In的实现类，有了它一个程序集才得以成为一个Add-In；.Addin文件中包含了Add-In的配置信息，VS以此来管理Add-In。有了这些，我们对Add-In的运行机制就有了更清楚的认识。</summary><published>2009-02-28T11:23:00Z</published><updated>2009-02-28T11:23:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/02/28/vs-addin-explained-part1.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/02/28/vs-addin-explained-part1.html"/><content type="text">本文主要关注的是Add-In向导所产生的代码，其中的重点是Connect.cs和.Addin文件。Connect类是Add-In的实现类，有了它一个程序集才得以成为一个Add-In；.Addin文件中包含了Add-In的配置信息，VS以此来管理Add-In。有了这些，我们对Add-In的运行机制就有了更清楚的认识。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/02/25/first-macro-addin.html</id><title type="text">Visual Studio 2008 可扩展性开发（二）：Macro和Add-In初探</title><summary type="text">在VS概览中，我们简单回顾了一下VS的历史。本文将通过两个简单的例子来说明Macro和Add-In的开发。通过Macro我们把VS中的一些重复操作录制下来，之后可以多次运行，节省时间并保持好的心情；通过Add-In，我们可以自己动手来为VS添加新的功能，扩展了VS就意味着扩展了我们自己。</summary><published>2009-02-25T14:56:00Z</published><updated>2009-02-25T14:56:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/02/25/first-macro-addin.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/02/25/first-macro-addin.html"/><content type="text">在VS概览中，我们简单回顾了一下VS的历史。本文将通过两个简单的例子来说明Macro和Add-In的开发。通过Macro我们把VS中的一些重复操作录制下来，之后可以多次运行，节省时间并保持好的心情；通过Add-In，我们可以自己动手来为VS添加新的功能，扩展了VS就意味着扩展了我们自己。</content></entry><entry><id>http://www.cnblogs.com/anderslly/archive/2009/02/23/visualstudio-overview.html</id><title type="text">Visual Studio 2008 可扩展性开发（一）：VS概览</title><summary type="text">本文简要介绍了VS的历史及其基本要素，这样就可以建立起对它的感性认识了。同时还提及了VS的扩展性（也是本系列的主题），主要有三种方式，Macro、Add-In和VsPackage，它们各有所适用的场景，我打算从Add-In开始。在接下来的几篇随笔中，我将通过一些实例逐步展开对Add-In开发的讨论，同时会把代码放在Google Code上。如果您在日常开发中对VS扩展性有某些需求，欢迎分享:)</summary><published>2009-02-23T12:13:00Z</published><updated>2009-02-23T12:13:00Z</updated><author><name>Anders Cui</name><uri>http://www.cnblogs.com/anderslly/</uri></author><link rel="alternate" href="http://www.cnblogs.com/anderslly/archive/2009/02/23/visualstudio-overview.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/anderslly/archive/2009/02/23/visualstudio-overview.html"/><content type="text">本文简要介绍了VS的历史及其基本要素，这样就可以建立起对它的感性认识了。同时还提及了VS的扩展性（也是本系列的主题），主要有三种方式，Macro、Add-In和VsPackage，它们各有所适用的场景，我打算从Add-In开始。在接下来的几篇随笔中，我将通过一些实例逐步展开对Add-In开发的讨论，同时会把代码放在Google Code上。如果您在日常开发中对VS扩展性有某些需求，欢迎分享:)</content></entry></feed>
