29

メソッドまたはコード領域を展開または折りたたむと、このアクションが元に戻すスタックにプッシュされます。したがって、メソッド内のコードを編集し、そのメソッドを折りたたんでから変更を元に戻したい場合は、元に戻す操作を 2 回行う必要があります。1 回目は折りたたみアクションで、もう 1 回はコードの変更です。コードを編集した後にいくつかのものを展開または折りたたんだ場合、エディターはさまざまな場所にジャンプし続け、変更が元に戻されたかどうかわからない場合、これは非常に混乱する可能性があります...

だから私の質問は:その動作を無効にすることは可能ですか? つまり、元に戻すスタックではコードの変更のみが考慮されるということですか?

PS: Visual Studio 2008 を使用しています。


この動作に悩まされている場合は、UserVoice で修正するために投票してください。

4

6 に答える 6

2

この動作を無効にする方法はないと思います。

別の方法として、元に戻すおよびやり直しのツールバー アイコンには履歴ドロップダウンがあり、元に戻したりやり直したりする最近の変更内容の概要を視覚的に確認できます。これは、期待していたことを元に戻す (またはやり直す) ことを確実にするのに役立つ場合があります。

変更が何であるかを正確に知るにはそれだけでは十分ではないため (元に戻す履歴には概要のみが表示されます)、これに対処するために私がときどき使用する解決策は、元に戻す (ctrl-z)、やり直し (ctrl-y)、およびもう一度元に戻します。最初の元に戻す操作は、変更が発生した場所に移動します (そして、その変更を元に戻します)。やり直しは、元に戻す操作を元に戻します (基本的に、最後に行った変更を繰り返します)。そして、最後の元に戻すと、元に戻すことが実際に行われているのを確認できる場所までスクロールされたウィンドウで元に戻すが再度実行され、それが元に戻すことを期待していた変更であるかどうかを確認できます。あまり効率的ではありませんが、コードが本当に期待される状態にあることを確認するには非常に効果的です。

于 2009-12-14T21:24:54.097 に答える
1

私が提案できる最善の解決策は、CTRL+M、次に CTRL+P を使用してアウトラインを無効にすることです。

于 2009-12-10T15:51:41.567 に答える
1

まず、すべてのアウトライン操作が元に戻す/やり直しスタックに記録されているわけではないようです。

  • Toggle Outlining Expansion ( CTRL+ M/ CTRL+ M) はスタックに記録されます
  • Toggle All Outlining ( CTRL+ M/ CTRL+ L) はスタックに記録されます
  • 定義への折りたたみ ( CTRL+ M/ CTRL+ O) はスタックに記録されません

そのため、私の知る限り、Visual Studio 2008 の元に戻す/やり直しスタックでトグル操作の記録を回避することはできません。

ソースの種類ごとにアウトラインを有効/無効にする唯一のオプションです。C# の場合、[ツール] → [オプション] → [テキスト エディター] → [ C# ] → [詳細設定] の [ファイルを開くときにアウトライン モードに入る]チェックボックスを使用して、アウトラインを有効/無効にできます。

于 2009-12-15T16:41:05.823 に答える