2011-09-10 13 views
0

Visual Studio 2008では、マクロを定期的に記録して(たとえば)クラスメンバーの宣言のリストを取得し、それをプロパティ定義のリストに変換します。Visual Studio 2010のマクロ記録でstartofline-firstcolumnが押されない

Visual Studio 2010を使用すると、マクロレコーダーはホームキーの2回目の押下を無視して表示されます(1行目は行のテキストの先頭に移動し、2行目はその行の文字位置1に移動します)。ライン)。

、タブ付きの行の末尾にカーソルを置く記録を開始し、押すと「ホーム」二度...(タブは実際のタブやスペースがあるかどうかは関係ありません)以下になり

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

関連する問題