2011-09-10 30 views
0

在Visual Studio 2008中,我會定期記錄一個宏(例如)獲取類成員聲明列表並將其轉換爲屬性定義列表。Visual Studio 2010宏記錄沒有選擇startofline-firstcolumn新聞

使用Visual Studio 2010,宏錄製器似乎忽略第二次按Home鍵(第一次應該帶您到行上的文本的開始,第二次應該帶您到第線)。

把光標在製表行結束後,開始錄製,然後按「家庭」兩次結果如下(沒關係的標籤是否實際製表符或空格)......

Sub TemporaryMacro() 
    DTE.ActiveDocument.Selection.StartOfLine(VsStartOfLineOptions.VsStartOfLineOptionsFirstText) 
End Sub 

當它應該真正把爲...

Sub TemporaryMacro() 
    DTE.ActiveDocument.Selection.StartOfLine(VsStartOfLineOptions.VsStartOfLineOptionsFirstText) 
    DTE.ActiveDocument.Selection.StartOfLine(VsStartOfLineOptions.VsStartOfLineOptionsFirstColumn) 
End Sub 

我知道我可以只是去和編輯它,但我通常記錄的東西,然後立即運行多次,那是沒有吸引力。而且我不知道有任何按鍵會將您帶到第一列。

任何人都可以確認,如果這是與VS2010中的宏記錄器的錯誤,或者我在做什麼真的愚蠢?

回答

1

這對我來說也不起作用,這意味着它對我來說同樣適用於您,並且宏無法正常播放。

作爲一種解決方法,我使用組合鍵[end,right,up]來記錄宏時轉到第一個字符位置。這意味着:

DTE.ActiveDocument.Selection.EndOfLine() 
    DTE.ActiveDocument.Selection.CharRight() 
    DTE.ActiveDocument.Selection.LineUp() 

唯一一次這不起作用的是當您操作文件的最後一行時。如果預計發生的事情,你可以使用[起來,到底對不對]代替:

DTE.ActiveDocument.Selection.LineUp() 
    DTE.ActiveDocument.Selection.EndOfLine() 
    DTE.ActiveDocument.Selection.CharRight() 

當然,這個版本將無法正常對文件的第一行操作。

+0

經過8個月的沉默,我開始相信我是唯一一個......謝謝你證明我不是!我習慣於在文本的開始處使用光標來啓動我的宏,這對我來說很合適,但是我需要您的解決方案,以便我需要開始行。謝謝 :-) – freefaller