2015-04-10 2 views
0

Смотрите также вопрос: How do I avoid expanding folded regions when I invoke the code formatter?Как сохранить свертывание кода при форматировании источника

Это не боян, потому что я заинтересован в решении проблемы с помощью ToolsApi.

Когда я нажимаю CTRL +D форматы кода хорошо (в основном).
Но все мои сложенные разделы кода разворачиваются.
Есть ли способ свести эти секции сложенными.

Если нет, возможно ли сохранить информацию о сворачивании кода до форматирования, чтобы я мог восстановить его позже?
Я подумываю написать IDE-addin, используя Open Tools api.
Я использую XE7, но эта проблема существует во всех версиях, имеющих форматирование исходного кода.

Возможный сценарий вовлекают:

  • Запись и воспроизведение код переносы (крючок elide вызовов).
  • Разрешить форматирование только для текущего блока (переопределить CTRL + D действие).
+0

Я предполагаю, что это приведет к подключению вызовов 'elide' к построению списка сложенных блоков и перемещению источника в редакторе для восстановления этих блоков. – Johan

+0

http://stackoverflow.com/q/19691231/62576 –

+0

Также рассмотрите, что произойдет, если строка форматирования изменится в коде. Поэтому просто сохранить позиции/длину сложенного кода недостаточно, если не учитывать, что они могут изменять значение во время форматирования. –

ответ

0

Что вы можете сделать, это создать регионы и отключить сгибание кода, форматировать код, а затем повторно свернуть код.

для создания областей коды сделать:

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

Для переключения коды складного варианта, нажмите Ctrl + Shift K + O.

Когда вы снова включите складку, то, что было сложено с регионом, будет оставаться сложным.

Источник информации: http://docwiki.embarcadero.com/RADStudio/XE6/en/Using_Code_Folding

Я надеюсь, что это поможет вам.

Смежные вопросы