六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用C#寫vs插件中的一些Tip

[摘要]最近用C#寫了一個vs的插件,主要功能是插入標準的注釋段和一些常用的代碼段。在開發過程中,遇到了一些問題,也翻閱了一些資料,做了一番研究。這里對其中的一些小問題做一個簡單的紀錄,希望能夠有所幫助。(1)在OnConnection中,判斷connectMode時,一定要加上ext_cm_AfterS...

最近用C#寫了一個vs的插件,主要功能是插入標準的注釋段和一些常用的代碼段。在開發過程中,遇到了一些問題,也翻閱了一些資料,做了一番研究。這里對其中的一些小問題做一個簡單的紀錄,希望能夠有所幫助。

(1)在OnConnection中,判斷connectMode時,一定要加上ext_cm_AfterStartup

   if(connectMode == Extensibility.ext_ConnectMode.ext_cm_UISetup
    connectMode == Extensibility.ext_ConnectMode.ext_cm_Startup
    connectMode == Extensibility.ext_ConnectMode.ext_cm_AfterStartup) // this line will work when u choose addin in addin manager
這樣子,在vs的Addin Manager中選中插件時,插件才會重新顯示出來,一般的范例中,只有前兩個判斷

(2)QueryState中,設置state時,要使用下面語句

    if( 是你加入的command )
    {
     if( 滿足顯示的條件 )
      status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported vsCommandStatus.vsCommandStatusEnabled;
     else
      status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported;
    }
    else
     status = (vsCommandStatus)vsCommandStatus.vsCommandStatusUnsupported;
這樣做,才能在條件不滿足時,插件的菜單變灰

(3)判斷代碼窗口存在的方法是

(applicationObject.ActiveWindow != null) && (applicationObject.ActiveWindow.Type == vsWindowType.vsWindowTypeDocument)

就是說當前有活動窗口,而且其類型是文檔類型

(4)在文檔窗口插入字符的方法是

   TextSelection ts = (TextSelection)applicationObject.ActiveDocument.Selection;
   EditPoint ep = ts.ActivePoint.CreateEditPoint();
    
   ep.Insert(strCode);
當然,還可以調用EditPoint的其它方法,來實現刪除,替換等等

差不多就醬紫了,感覺用C#來做插件程序好簡單啊,同時感到微軟設計的對象模型用起來真是舒服,平時開發時如果能夠自己設計出這么好的系統,該有多好阿,哈哈





主站蜘蛛池模板: 天天射视频 | 日日摸日日干 | 欧美系列在线观看 | 五月婷婷六月丁香 | 亚洲天堂热 | 羞羞色在线| 天天射天天舔 | 天天干网址 | 四房色播开心网 | 一级黄色在线视频 | 亚洲福利视频一区二区 | 日韩91| 日本红怡院亚洲红怡院最新 | 亚洲人影院 | 日韩欧美亚洲每日更新网 | 青草视频入口 在线观看 | 欧美视频日韩视频 | 亚洲高清在线 | 一个色综合网站 | 日韩免费不卡视频 | 日本欧美中文字幕人在线 | 五月婷婷六月天 | 欧美亚洲另类一区中文字幕 | 亚洲αv| 午夜影视在线观看免费完整高清大全 | 日本精品久久久久久久久免费 | 日韩一及片 | 青草下载 | 伊人久久综合 | 最好免费高清视频观看韩国 | 色综合久久综精品 | 欧洲精品视频在线观看 | 天天视频色 | 日本韩国在线视频 | 日本黄又粗暴一进一出抽搐文 | 中文字幕高清免费不卡视频 | 亚洲欧洲精品视频在线观看 | 伊人久久大线蕉香港三级 | 亚洲综合精品 | 欧美性v视频播放 | 欧美五月 |