参加微软黑客马拉松经历

这次参加黑客马拉松,队伍一共三人,一个是微软俱乐部部长,另一个是一个女生。
我来总结下我的工作吧。

我们的作品是一个VS的插件,主要功能是为C++生成Get,Set方法。
VS插件有两种,一个是AddIn,另一个是VSPackage。我使用的是前者,前者是一种旧的技术,微软推荐VS2008以后开发VS插件都使用VS SDK开发VSPackage,由于我看过C++做AddIn的,对AddIn有了一定的了解,所以我最后决定用C#写AddIn。

因为部长说他擅长C++,我们发现C++也可以写VS的插件,所以我们一开始用的是C++作为开发语言。因为以前没做过VS插件,所以要找一些教程作为入门,于是我们找到了两份教程,感谢这两位Engineer,他们带我入了门吧。第一篇第二篇
但是由于对C++的COM编程不熟悉,又由于网上关于C++做VS插件的资料少之又少,在使用CComPtr智能指针遇上各种问题无解之后,我们决定改用C#。因为网上关于C#做VS插件的资料非常多。我花了一上午加一晚上的时间,就将这个插件的雏形写了出来。

AddIn的主要类就是Connect,创建工程后,它有OnConnection,Exec,等等方法,因为只是入门,所以后面的方法我都没有去详细了解,竞赛要求在这段时间内做出一个Demo就可以了。

OnConnection

就是做一些初始化的东西,比如说添加一个右击菜单项,添加菜单栏之类的操作都是在这里面做的。

Exec

这个函数是在我们触发一个事件之后执行的,比如说单击了我们添加的那个右击菜单项。
通过commandName这个参数来判断是触发了哪个点击。

if(commandName == "MyAddin_csharp.Connect.MyAddin_csharp")
{
    handled = true;
    return;
}

既然知道了这些,我们在OnConnection函数里添加一个右击菜单来实现触发生成GetSet方法的触发器。然后在Exec函数里得到我们选中的文本,然后在做些字符串处理,提取出选中的变量类型,变量名字,我们就可以生成GetSet方法了,再添加到当前的Document中,就完成了!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值