在Visual Studio 2008中,我会定期记录一个宏(例如)获取类成员声明列表并将其转换为属性定义列表。
使用Visual Studio 2010,宏录制器似乎忽略了第二次按Home键(第一个应该带你到行上文本的开头,第二个应该带你到行上的字符位置1 )。
将光标放在标签线的末尾,开始记录并按两次“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中宏录制器的故障,还是我做了真的愚蠢的事情?
答案 0 :(得分:1)
这对我来说也不起作用,这意味着它对我来说和你一样,并且宏无法正确播放。
作为一种解决方法,我使用键组合[end,right,up]在录制宏时转到第一个字符位置。这转化为:
DTE.ActiveDocument.Selection.EndOfLine()
DTE.ActiveDocument.Selection.CharRight()
DTE.ActiveDocument.Selection.LineUp()
唯一一次不起作用的是当你操作文件的最后一行时。如果您预计会发生这种情况,您可以使用[up,end,right]代替:
DTE.ActiveDocument.Selection.LineUp()
DTE.ActiveDocument.Selection.EndOfLine()
DTE.ActiveDocument.Selection.CharRight()
当然,此版本无法在文件的第一行正常运行。