国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

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

2024-07-21 02:18:10
字體:
供稿:網(wǎng)友


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

(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中,設(shè)置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);
當然,還可以調(diào)用editpoint的其它方法,來實現(xiàn)刪除,替換等等

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





發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜黄县| 京山县| 柳州市| 息烽县| 宣威市| 定西市| 锡林郭勒盟| 五家渠市| 永和县| 革吉县| 乐山市| 万载县| 澳门| 醴陵市| 莱西市| 通州区| 礼泉县| 周宁县| 密山市| 东方市| 襄汾县| 铁岭市| 五常市| 大丰市| 陕西省| 泸西县| 张家口市| 进贤县| 新乐市| 开原市| 托克托县| 公主岭市| 丰台区| 隆子县| 东乌珠穆沁旗| 驻马店市| 盐亭县| 江孜县| 浦北县| 禹城市| 长丰县|