1、使用VS2005。创建新项目,选择Visual Studio 外接程序模版。
2、VS2005会启动外接程序向导
3、选择语言C#
4、选择应用主机
5、起个名字
6、选择界面,第一项打勾,向导会帮我们生成在“工具”菜单下增加我们自定义的子菜单的代码
7、关于对话框,要不要两可
8、到此完成
向导运行完毕,VS2005自动添加了一系列文件,最主要的就是Connect.cs,我们的自定义代码都要写在这个文件中。另外还有一个资源文件,在查找菜单项时使用,从而可以增加多语言支持。
下面是主要代码,请注意其中的红色部分。(http://www.my400800.cn)
/// <summary>实现 IDTCommandTarget 接口的 Exec 方法。此方法在调用该命令时调用。</summary>
/// <param term='commandName'>要执行的命令的名称。</param>
/// <param term='executeOption'>描述该命令应如何运行。</param>
/// <param term='varIn'>从调用方传递到命令处理程序的参数。</param>
/// <param term='varOut'>从命令处理程序传递到调用方的参数。</param>
/// <param term='handled'>通知调用方此命令是否已被处理。</param>
/// <seealso class='Exec' />
public void Exec(string commandName, vsCommandExecOption
executeOption, ref object varIn, ref object varOut, ref bool handled)
{
handled = false;
if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
{
if(commandName == "MyAddin1.Connect.MyAddin1")
{
string selectedCode = ((TextSelection)_applicationObject.ActiveDocument.Selection).Text;
string outCode = Regex.Replace(selectedCode, @"([^=]*)=([^;]*)", "$2=$1");
((TextSelection)_applicationObject.ActiveDocument.Selection).Insert(outCode,
(int)vsInsertFlags.vsInsertFlagsCollapseToEnd);
handled = true;
return;
}
}
}
private DTE2 _applicationObject;
private AddIn _addInInstance;
}
- 大小: 52.4 KB
- 大小: 36.5 KB
- 大小: 47.1 KB
- 大小: 48 KB
- 大小: 49.6 KB
- 大小: 61.7 KB
- 大小: 61.5 KB
- 大小: 55.6 KB
- 大小: 29.4 KB
分享到:
相关推荐
而这里的“等号左右互换”是指交换等号两边变量的值,而不是等号本身的位置。这在实际编程中可能是因为需要实现变量值的对调,例如在交换两个变量的值时。 为了实现这种互换,我们可以使用多种方法: 1. **临时...
Makefile的解析器通常将等号左侧视为变量名,而等号右侧视为变量的值或表达式。如果等号两侧存在空格,则会被解释器误认为是命令或命令的参数,从而导致解析错误。例如: ```make CC = gcc CFLAGS = -Wall ``` ...
为了代码看起来更整齐,就希望能把赋值等号和单行注释对齐,VS2005好像没有这个功能,干脆自己动手写一个算了。 注意事项: 适用于VS2005中文版,VS2008没有测试。VS2005英文版下貌似不能加载,好像是一个VS2005...
根据给定的信息,本文将详细解释两个用于C语言中字符串截取的方法:`subStringByIndex` 和 `subStringByPointer`。这两个函数都属于自定义实现,它们提供了灵活且实用的功能来帮助开发者轻松地从一个字符串中提取所...
通过在等号右边的字符串两侧添加双引号,该程序将非标准格式的XML文件转化为C#可以正确解析的格式。 首先,让我们详细了解一下这个问题。在XML文件中,属性值通常需要用引号包围,以便解析器能够识别它们。例如,一...
本篇文章将深入探讨如何利用VS2010的插件开发技术,特别是通过一个名为“CodeFormater”的实例,讲解如何实现文本转换和格式化功能。 首先,我们要了解Add-in的基本概念。Add-in是一种能够让用户自定义VS界面和行为...
VS2010中的“Align Assignments”插件可以快速帮助开发者将等号对齐,使得代码更易读。另一款名为“Indent Guides”的插件则可以显示代码缩进的引导线,帮助开发者更好地理解代码结构。 3. **JavaScript辅助工具**...
**C++ MFC 编写的计算器** C++ MFC(Microsoft Foundation Classes)是微软提供的一套面向对象的类库,用于构建Windows应用程序。这个计算器项目是利用C++和MFC库来实现的一个基本的图形用户界面(GUI)计算器,...
在解析ini文件时,`configparser`默认会忽略等号两侧的空白字符。如果需要自定义处理,可以重写`get()`方法: ```python class TrimmedConfigParser(configparser.ConfigParser): def get(self, section, option, ...
在C#编程语言中,Base64是一种用于将二进制数据编码为ASCII字符串的机制,以便在不支持二进制传输的系统(如电子邮件)中传输。Base64编码可以将任何二进制数据转换为可打印的字符,包括图片、文件和其他非文本数据...
扩充pl\0编译器设计之词法分析程序 内嵌函数: void clearToken(); //清空token字符数组 int isSpace();... //将读字符指针后退一个字符 void reserve(); //保留字 void lexical_error(); //错误处理过程
VB提供了丰富的字符串函数,如`Len()`用于计算字符串长度,`Mid()`用于提取字符串的一部分,`Left()`和`Right()`分别从字符串的左侧和右侧提取指定长度的字符,`Trim()`去除字符串两侧的空格,`Replace()`用于替换...
自动把JSon数据转化为字符串,下面附示例代码: <!doctype html> <script src="json2.js"></script> var obj={a:[2,3],b:{m:[3,4],n:2} }; var jsonStr = JSON.stringify( obj ); alert(jsonStr); //将显示 {"a...
在编程世界中,等号(=)和三个等号(===)是两种常见的比较运算符,它们在不同的上下文和语言中有着不同的含义和用法。这篇文章将详细探讨这两个符号在编程中的区别。 首先,我们要了解的是单个等号(=)。在...
这里使用了`split()`方法将字符串按照等号分割,然后从第二个元素中截取出前四个字符。 #### 5. 再次使用`substr()` ```javascript var str = "acadfasfkajdsfkasdfj=fjsdffadf"; var bb = str.substr(str.indexOf...
在Java中,我们可以使用关键字`char`来声明一个字符变量,然后通过等号(=)进行赋值。例如: ```java char letter = 'A'; ``` 上述代码声明了一个名为`letter`的字符变量,并将其赋值为字符'A'。字符值必须用单...
用户自定义变量由用户自行定义,定义格式为变量名=值,等号两边不能有空格,引用时用$。 四、变量的引用和显示 变量通过$来引用值。在Linux Shell脚本里,字符串‘’和””表示不同的含义,最大区别就是在于对变量...
本主题将围绕“VS代码对齐插件”展开,探讨这款插件如何帮助程序员实现代码的快速对齐,提高代码的可读性。 "VS代码对齐插件"是一款专为VS Code设计的扩展插件,它的主要功能是自动对齐代码中的括号,并在对应位置...
由于UTF-8编码在处理中文字符时更为常见,而Eclipse默认的编辑器可能不支持或者处理不当,所以需要额外的插件来提供更好的支持。 `jp.propedit_5.3.3`是Eclipse的一个第三方插件,专门为`.properties`文件提供增强...
### 编写Properties文件的Eclipse插件:PropEdit #### 插件介绍 本文将详细介绍一款用于增强Eclipse编辑器处理*.properties文件能力的插件——PropEdit。该插件能够极大地提升开发者在编辑此类文件时的工作效率,...