0

次の質問も参照してください:コード フォーマッタを呼び出すときに、折りたたまれた領域を展開しないようにするにはどうすればよいですか?

ToolsApi を使用して問題を解決することに興味があるので、これはだまされません。

CTRL+を押すとD、コードがうまくフォーマットされます(ほとんど)
しかし、折りたたまれたコード セクションはすべて展開されます。
これらのセクションを折りたたんだままにする方法はありますか。

そうでない場合、フォーマットする前にコードの折りたたみ情報を保存して、後で復元できるようにすることはできますか?
Open Tools api を使用して IDE アドインを作成することを考えています。
XE7 を使用していますが、この問題はソース形式のすべてのバージョンに存在します。

考えられるシナリオは次のとおりです。

  • コードの折りたたみ (フックelide呼び出し) を記録して再生します。
  • 現在のブロックでのみ書式設定を許可します ( CTRL+Dアクションを再定義します)。
4

1 に答える 1

0

できることは、領域を作成してコードの折りたたみを無効にし、コードをフォーマットしてから、コードの折りたたみを再度有効にすることです。

コード領域を作成するには、次のようにします。

{$REGION 'Optional text that appears when the code block is folded'} 
// code 
{$ENDREGION}

コードの折りたたみオプションを切り替えるには、Ctrl+Shift K+O を押します。

したがって、コードをリージョンに配置し、必要なものを折り畳み、Ctrl+Shift K+O を押して折り畳みを無効にし、Ctrl+D を押してフォーマットし、Ctrl+Shift K+O をもう一度押して折り畳みを再度有効にします。

折りたたみを再度有効にすると、リージョンで折りたたまれたものは折りたたまれたままになります。

情報源: http://docwiki.embarcadero.com/RADStudio/XE6/en/Using_Code_Folding

これがお役に立てば幸いです。

于 2015-04-12T15:37:06.977 に答える