2016-03-01 126 views
-1

我創建了一個試圖將某些字符串*粘貼到當前打開的.vb或.cs文件中的Visual Studio 2013插件(確定,擴展包實際),但是當我得到編輯器實例凍結了一段時間後,實際上粘貼了文本。如果線條相對較少,VS會在幾秒後回來,但對於超過20行的編輯器來說,它永遠不會回來。Visual Studio在處理TextSelection.Text時掛起

這是我的代碼看起來像要點:

String myText = "foo"; 

DTE dte = this.GetService(typeof(DTE)) as DTE; 
EnvDTE.TextSelection selection = (dte.ActiveDocument.Selection as EnvDTE.TextSelection); 

selection.Text = ""; 

//Here myText ends up having some content written into it 

selection.Text = myText; //VS hangs after this point 

任何線索,我能做些什麼來解決(或者至少調試)呢?我已經試過VS的分析器,但我得到的是,98%的時間浪費在「msenv.dll」,我看不到裏面發生了什麼。

*(從剪貼板中獲取SQL並中斷它變成包裹在AppendLine行調用一個StringBuilder)

+0

當你通過代碼時,哪一行是掛起的代碼是這行'GetService'你看過了文檔https://msdn.microsoft.com/en-us/library/envdte.textselection.aspx – MethodMan

+0

否它在代碼的最後一行,就像我在例子中說的那樣。謝謝。 –

+0

我沒有看到任何字符串生成器代碼..你爲什麼不顯示所有相關的代碼..? – MethodMan

回答