9

vs2008では、(おそらくマクロを使用して)ショートカットキーを割り当てて定義に折りたたむことができますが、領域は展開したままにします(折りたたまれた場合は展開する必要があります)。

編集:私は地域が嫌いですが、私の同僚は嫌いです(:だから私はこれが彼らによって使用される地域を避けるためにこれを望んでいます。

ジェフの投稿を読みました。Ctrl M + Oは、リージョンがなかった場合に私が本当にやりたいことです。

4

2 に答える 2

6

私が探していた答えがついに得られたと思います。@Serhat さんにも役立つと思います。あなたが言った:

ジェフの投稿を読みました。Ctrl M + O は、リージョンがなければ、私が本当にやりたいことです。

それはまさに私が自分自身で考えていたことでした。私はその考えを続け、#region を (一時的に) 取り除く方法に取り組みました。

これで完全な解決にはなりませんが、飛び跳ねる寸前のものができてとてもうれしいです。私はこれらの指示をできるだけ簡単にするように努めますが、私が作成したマクロの実際の内容を投稿する方が簡単かもしれません. (下部のリンクを参照)

2 つのマクロを作成しました。

  1. すべての #region および #endregion ディレクティブをコメントアウトします。
  2. すべての //#region および //#endregion のコメントを外します。

最初のマクロを作成します。

  • でマクロの記録を開始しCtrl+Shift+R、次の手順に従います。
  • Ctrl+H、検索対象: #region、置換対象://#region
  • Alt+Aすべて置換
  • Ctrl+H、検索対象: #endregion、置換対象://#endregion
  • Alt+Aすべて置換
  • でマクロの記録を終了しますCtrl+Shift+R
  • Alt+F8または [ツール] | [ツール] を使用してマクロ エクスプローラーを開きます。マクロ > マクロ エクスプローラー
  • TemporaryMacro の名前を CommentRegionDirectives に変更します

次に、2 番目のマクロを作成します。

  • でマクロの記録を開始しCtrl+Shift+R、次の手順に従います。
  • Ctrl+H、検索対象: //#region、置換対象:#region
  • Alt+Aすべて置換
  • Ctrl+H、検索対象: //#endregion、置換対象:#endregion
  • Alt+Aすべて置換
  • でマクロの記録を終了しますCtrl+Shift+R
  • Alt+F8または [ツール] | [ツール] を使用してマクロ エクスプローラーを開きます。マクロ > マクロ エクスプローラー
  • (この新しい)TemporaryMacro の名前を UncommentRegionDirectives に変更します

ここで、Ctrl+S を使用してマクロをマクロ エクスプローラーに保存します。

最後に、2 つのマクロにショートカット キーを割り当てます。

  • ツールを開く | オプション | 環境+キーボード
  • [次を含むコマンドを表示] に と入力しますDirectives。これにより、「Macros.MyMacros.RecordingModule.CommentRegionDirectives」と「...UncommentRegionDirectives」という名前の 2 つのマクロが表示されます。
  • CommentRegionDirectives エントリを強調表示し、[ショートカット キーを押す:] ボックスに入力して、ボタンAlt+/をクリックします。Assign
  • UncommentRegionDirectives エントリを強調表示し、[ショートカット キーを押す:] ボックス タイプでボタンAlt+Shift+/をクリックしAssignます (デフォルトでは、これら 2 つのショートカットの組み合わせは何にも割り当てられていません)。
  • [OK] をクリックして、ショートカットの割り当てを保存します。

自動で折りたたまれた #regions に直面した場合、ヒットAlt+/して #region ディレクティブをコメントアウトし、Ctrl+M+OCollapse to Definitions の標準をヒットします (選択した場合)。その後、コメントアウトされた #regions を使用してそのユニットをコミットする前に、Alt+Shift+/#regions のコメントを解除するためにヒットするだけで、それらは再アクティブ化されます。

そして最後に、@Serhat、そもそも私をこのトラックに乗せてくれた最初のコメントにもう一度感謝します。

実際には、私が喜んで一緒に暮らす小さな問題が 1 つあります。 連続したコメントとしてカウントされ、コメントはまだ折りたたまれていますが、少なくともそこに隠されたコードはありません//#region#//endregion

マクロ エクスプローラーから抽出した約束のマクロ テキストは次のとおりです: http://pastebin.ca/1688618、ただし、上記で概説した手順を手動で実行する場合は必要ありません。

于 2009-11-26T20:53:02.040 に答える
3

Ctrl+ MCtrl+Oはすべてを折りたたむのに本当に便利です。

リージョンに関する Jeff のブログ記事を読みましたか? 彼がリストした便利なショートカットが他にもいくつかあります。

なぜこれらを展開したままにしたいのですか? 折りたたんだくないのに、リージョンが本当に必要ですか?

于 2008-10-22T12:02:24.697 に答える