CopySourceAsHtml 除錯

Tuesday, 13 February 2007 02:39 by admin

看了許多人在討論source code的時候,總是行號、顏色和格式都相當整齊,一定是是利用了某個特殊工具軟體,在偶然的機會,終於發現原大家是使用了CopySourceAsHtml for VisualStudio addin

不過我電腦中,毛病特別多,於此套軟體也一樣,首先看到了此篇,發覺此套軟體不支援中文,不用說當然是要解決中文的問題,但想不到安裝後居然出現了

=================================

CopySourceAsHtml caught the following exception: System.ArgumentException: 值不在預期的範圍內。

在 Microsoft.VisualStudio.CommandBars.CommandBarControls.get_Item(Object Index)

在 JTLeigh.Tools.CopySourceAsHtml.Connect.AddControls() 位置 c:\Data\Projects\CopySourceAsHtml\Source\Connect.cs:行號 195

在 JTLeigh.Tools.CopySourceAsHtml.Connect.OnConnection(Object application, ext_ConnectMode connectMode, Object addIn, Array& custom) 位置 c:\Data\Projects\CopySourceAsHtml\Source\Connect.cs:行號 63

 =================================

又找到了此篇,原來在中文環境下,需要修改 connect.cs 才能正常 (我很懷疑,難道真的大家都自己編譯中文版?)

  194             commandBars = (CommandBars)this.application.CommandBars;

  195             editPopup = (CommandBarPopup)commandBars["MenuBar"].Controls["編輯(&E)"];

  196 

  197             copyIndex = FindCopyOnCommandBar("編輯(&E)") + 1;

=================================

解決的一個問題,又冒出一個,每當按下複製時,跑出來一行 "CopySourceAsHTML was unable to access the clipboard.",繼續找問題,換找到了此篇

改了程式碼後,一樣會出現剪貼簿發生錯誤,但是剪貼簿內的資料依然是正確的,所以至少還是可以動作的

這個原因到最後發現,原來是 Flashget 動作中,會把剪貼簿佔住,導致 .Net 程式會存取發生問題,記得使用 CopySourceAsHtml 的時候,最好是把 Flashget 關掉

改好的程式碼下載:按此下載
改好的執行檔下載:按此下載 (安裝前,請先下載原本的安裝版本,再覆蓋上去,檔案安裝後存放在 \Documents and Settings\<user name>\My Documents\Visual Studio 2005\Addins )