240
一线老司机

随笔分类 -  LearnVSXNow

LearnVSXNow系列翻译
摘要:(LearnVSXNow又开始继续翻译了,为了提高翻译速度,不再对每句话进行翻译,并且会用自己的理解来代替不好翻译的句子。理解不一定正确,见谅。) 前面那篇文章介绍了Visual Studio的自定义编辑器的基本概念,并用一个例子来说明如何创建自定义编辑器,今天我们继续这个例子。 1. 注册Editor Editor需要注册到Visual Studio中才能使用。通常会注册下面三个东西: Editor Factory:告诉Visual Studio我们的package可以提供哪些Editor Factory。 Editor支持的文件扩展名:告诉Visual Studio哪种扩展名的文件会关联. 阅读全文
posted @ 2011-06-11 18:23 明年我18 阅读(2345) 评论(6) 推荐(3) 编辑
摘要:在了解了菜单和命令之后,我们接下来的几篇文章将以自定义编辑器为主题。在开发程序的时候,我们可以用文本编辑器来编写程序代码,并且实际上我们可以用文本编辑器完成所有的开发工作,但我们通常不这么做,因为在visual studio中有很多可以提高我们效率的编辑器,例如winforms编辑器和asp.net的页面编辑器。 Visual Studio IDE允许我们创建自己的编辑器。但创建一个自定义编辑器要... 阅读全文
posted @ 2010-07-17 14:08 明年我18 阅读(3429) 评论(1) 推荐(3) 编辑
摘要:在第13篇里,我说过我要给你们展示一些菜单、工具栏和命令的示例代码,但是相关的东西太多了,一篇文章没办法全部囊括,所以在这里我只涉及一些和vsct文件相关的代码。 前言 在本系列前面的文章里,我多次提到过Package是按需加载的,IDE只有在真正用到Package的时候才去加载它们。但这样就带来一个问题:IDE如何在不加载Package的情况下,显示Package里定义的菜单和工具栏?或者说当我... 阅读全文
posted @ 2010-06-28 08:18 明年我18 阅读(3236) 评论(11) 推荐(6) 编辑
摘要:几乎所有的VSPackage都有用户交互,用户可以通过点击Visual Studio中的菜单或工具栏来激活VSPackage的功能或显示相关的界面。 在这一篇文章里,我们来看一下Visual Studio的菜单和工具栏是如何被定义、创建、显示和使用的。不过这篇文章我只是说一下一些基本的知识,到下一篇文章我们再来看一些示例代码。 一些概念 我们创建的VSPackage的功能可以被别的packag... 阅读全文
posted @ 2010-05-03 13:37 明年我18 阅读(2494) 评论(6) 推荐(3) 编辑
摘要:前面的11篇文章涉及到了在VSX开发中最重要的知识,利用这些知识,我们已经可以开始开发VSPackage了。但是,还有很多重要的主题我们并没有涉及到(例如Package Load Key、部署和安装、属性页,自定义编辑器、项目树,文档窗口等等)。 通过前面这些文章的读者反馈来看,现在是进行下一个主题的时候了。但在这之前,让我先对比一下软件开发和潜水运动… 不仅仅我的昵称叫作DeepDi... 阅读全文
posted @ 2010-04-23 14:01 明年我18 阅读(1666) 评论(6) 推荐(2) 编辑
摘要:在前面的文章里,当我们创建package的时候,总是在向导那里勾掉测试选项,从而不采用自动测试的方式,只是手动的测试它:把package运行起来,并且看看它是否有我们预期的功能。 我之所以勾掉测试选项,并不是因为我讨厌测试,而是我认为package的测试应该作为一个主题单独来讲,需要至少一篇专门的文章来叙述它。坦率的讲,当我在第10篇里写VsxTools的代码的时候,我真的觉得我们缺少了测试这一步... 阅读全文
posted @ 2010-04-11 14:06 明年我18 阅读(1980) 评论(0) 推荐(2) 编辑
摘要:我们在第6和第7篇创建的Calculate小工具窗还有很多可以改进的地方,所以在这篇文章里,我们不会开发新的功能,而是重构我们的代码,封装出可以重用的类和方法。 VSX背后的对象模型是非常丰富的:有几百个类和几千个方法。但我们在开发VS add-in和package的时候,光记住类和方法的名字是不够的,我们还需要知道相应的GUID以及其他相关的常数。 我觉得在VSX的开发中最难的是开发者必须要把.... 阅读全文
posted @ 2010-03-28 23:00 明年我18 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:在第6篇和第7篇里,我们创建了一个名为StartupToolset的示例package,并且手动地添加了一个菜单项和工具窗。在这篇文章里,我们将重构这个package,提取独立的服务模块出来。 我们这个示例package有很多地方可以重构:不仅可以做提取服务之类的结构调整,也可以封装可重用的代码,以便供以后调用或提高代码可读性。在下一篇文章里我们将封装可重用的代码,但在这一篇里,我们把精力放在服务... 阅读全文
posted @ 2010-03-20 23:14 明年我18 阅读(1744) 评论(4) 推荐(1) 编辑
摘要:当我准备去写“创建我们的第一个工具集”系列的下一篇时,我意识到我的注册表已经被我之前创建的示例package给污染了。当我试图卸载这些package以便清理这些垃圾时,我和regpkg.exe程序有了一次亲密的接触。早先我就有计划写这么一篇类似主题的文章(但一直没有写),现在我决定不再拖了,就算我们不得不先暂停一下“创建我们的第一个工具集”系列的编写... 阅读全文
posted @ 2010-03-14 22:35 明年我18 阅读(2283) 评论(1) 推荐(1) 编辑
摘要:在上一篇文章中,我们创建了一个例子:我们为一个空的package添加了一个菜单命令,并且在这个过程中了解了Visual Studio Command Table文件的作用和用法。 在这篇文章中,我们继续这个例子,手动为它添加一个工具窗。为项目添加工具窗 我们将创建如下图所示的工具窗: 这个工具窗的功能非常简单:在FirstArgEdit和SecondArgEdit文本框里输入数字,在Operato... 阅读全文
posted @ 2010-03-13 19:01 明年我18 阅读(2224) 评论(4) 推荐(0) 编辑
摘要:在前面的文章中,我们在向导的帮助下创建了一些小的VSPackages。在第五讲中我们整理了VSX的一些思路和概念,深入了解了packages是如何工作的以及服务的机制。在这篇文章中我们继续前进。 为了创建创建“容易编写和理解”的代码,从本文开始,我们开始创建一个工具集示例Package。我计划用至少如下三个主题来讨论: 序幕:创建示例package的第一部分,它是这个工具集... 阅读全文
posted @ 2010-03-08 23:52 明年我18 阅读(3492) 评论(15) 推荐(0) 编辑
摘要:在前几篇文章中,我们只是通过创建和“分析”三个非常小的、由VSPackage向导生成的package来管中窥豹地见识了一下VSX。这些例子有助于我们熟悉创建小的package的基本步骤。但是,我们必须更深入一些, 看一下Visual Studo IDE是怎样工作的,以及它是怎样集成package的。 在我们涉及到其他细节之前,我们先要整理一下对VSX的认识。在本篇文章里,我... 阅读全文
posted @ 2010-03-04 20:35 明年我18 阅读(3145) 评论(4) 推荐(2) 编辑
摘要:上一次我们实现了一个带有命令(Command)的package,这一次让我们更进一步:创建一个被称为工具窗(Tool Window)的界面。那么,什么是工具窗呢?让我们想象一下:解决方案浏览器(Solution Explorer)、工具箱(Toolbox)、错误列表(Error List),它们都是工具窗(Tool Window)。 像前几篇一样,我们依然选择选择Visual Studio Int... 阅读全文
posted @ 2010-03-02 00:14 明年我18 阅读(3336) 评论(2) 推荐(1) 编辑
摘要:为了演示如何给我们的package增加功能,本篇将创建一个带有简单菜单(命令)的VS Package。和上一篇一样,我们新建一个Visual Studio Integration Package类型的项目,这一次我们把它命名为SimpleCommand。当项目向导出现后,我们选择C#做为开发语言,并利用向导为我们的程序集自动生成一个key文件。在VSPackage Information页面,我们... 阅读全文
posted @ 2010-02-27 15:33 明年我18 阅读(4639) 评论(4) 推荐(3) 编辑
摘要:为了熟悉Visual Studio Package的概念,在这篇文章中我们将创建一个空的Visual Studio 2008 package。 打开Visual Studio 2008,新建项目,在项目类型对话框中选择“其他项目类型”/“扩展性”/Visual Studio Integration Package,如下图:(译者注:原文的图片无法打... 阅读全文
posted @ 2010-02-26 22:19 明年我18 阅读(4339) 评论(6) 推荐(4) 编辑
摘要:(译者注:这个系列是翻译inovak在DiveDeeper上的LearnVSXNow系列博文,该系列的目录可以在这里找到,也可以点击这里直接访问DiveDeeper博客) 我是一个Visual Studio的爱好者。有很多次,我都很想创建一些VS的插件来帮助我完成一些开发工作。我也一直在尝试劝说我的同事们把他们常用的功能做成VS插件。但是,当他们问我如何入手的时候,我总是建议他们去看微软的SDK以... 阅读全文
posted @ 2010-02-26 22:14 明年我18 阅读(5248) 评论(15) 推荐(7) 编辑