Visual Studio 2010宏录制没有选择startofline-firstcolumn press

时间:2011-09-10 18:52:34

标签: visual-studio visual-studio-2010 macros

在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中宏录制器的故障,还是我做了真的愚蠢的事情?

1 个答案:

答案 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()

当然,此版本无法在文件的第一行正常运行。