Некоторое время назад я рассказывал о нововведении в Delphi 2010 — автоформатировщике исходного исходного кода. Описание составило две статьи в блоге:
- Delphi 2010 Formatter. Иллюстрированный справочник. Раздел Spaces
- Delphi 2010 Formatter. Иллюстрированный справочник. Раздел Indentation
Новый инструмент по [Ctrl+D] помогал привести в относительный порядок исходный код модуля, расставлял где надо отступы, менял регистр символов и т.д. В общем брал на себя довольно муторную работу, особенно когда дело касалось работы с чужими исходниками. Но, как и большинство впервые выпущенных инструментов, Formatter не был лишен некоторых недостатков. И в Delphi XE у Formatter’a появилась ещё одна страница свойств.
На странице «Profiles and Statuses» вы можете:
1. Включить/Отключить использование форматтера (флажок с Enable Formatter)
2. Включить/Отключить вывод предупреждения о форматировании модуля (флажок Show Confirmation)
Если показ предупреждения включен, то после нажатия Ctrl+D будет показываться вот такое информационное окно: 3. Сохранить/Загрузить свой набор настроек форматтера
Очень удобная возможность. Каждый набор настроек Formatter Delphi XE теперь можно сохранить ф отдельный файл, дав ему соответствующее название, загрузить дефолтные настройки, если вдруг что-то настроили неправильно и забыли где и т.д.
В общем, разработчики из Embarcadero в версии Delphi XE постарались учесть максимум потребностей пользователей, что не может не радовать. Захотели включить форматирование – поставили галку и форматируйте исходник на автомате, нет? – отключили. Хотя я сколько работал в Delphi 2010 (и продолжаю работать) могу сказать, что этот инструмент выручал меня уже очень много раз и каких-либо серьезных нареканий по его работе у меня не было. Надеюсь и у Вас, при использовании Delphi XE, с форматтером сложатся хорошие отношения ;)
Книжная полка
Описание Подробно рассматривается библиотека FM, позволяющая создавать полнофункциональное программное обеспечение для операционных систем Windows и OS X, а также для смартфонов и планшетных компьютеров, работающих под управлением Android и iOS
|
||
Описание: Рассмотрены практические вопросы по разработке клиент-серверных приложений в среде Delphi 7 и Delphi 2005 с использованием СУБД MS SQL Server 2000, InterBase и Firebird. Приведена информация о теории построения реляционных баз данных и языке SQL. Освещены вопросы эксплуатации и администрирования СУБД.
|
||
Название: О чем не пишут в книгах по Delphi
Описание: Рассмотрены малоосвещенные вопросы программирования в Delphi. Описаны методы интеграции VCL и API. Показаны внутренние механизмы VCL и приведены примеры вмешательства в эти механизмы. Рассмотрено использование сокетов в Delphi: различные режимы их работы, особенности для протоколов TCP и UDP и др.
|
||
Описание: Книга рассчитана на подготовленного пользователя ПК, желающего самостоятельно научиться программировать и разрабатывать приложения и базы данных в среде Delphi. Опытные программисты смогут использовать издание как справочник. В тексте подробно описаны более 80 компонентов VCL, функции Object Pascal и Win32 API.
|
||
Описание: Описаны общие подходы к программированию приложений MS Office. Даны программные методы реализации функций MS Excel, MS Word, MS Access и MS Outlook в среде Delphi.
|
Влад, хотелось бы услышать про работу subversion в Delphi XE.
Алексей, я конечно могу написать про то как я работал с SVN в XE, но есть же вроде бы информативное видео на эту тему от Embarcadero. Его маловато?
Я думаю интереснее эту информацию получить с этого блога. Т.к. вы проведете тестирование и напишите свой отзыв.
ну не вопрос. попробую написать небольшой отзыв.
Спасибо!
у меня вот с форматтером в д2010 проблемы какие то. правил тут большой проект, использовал форматтер почти для всего проекта, ибо двухпробельные отступы не воспринимаю вобще. Теперь ситуация такова, что пишешь например некоторый код, для формы, или мб визуально что то на форме делаешь, и этот подлец почему то коверкает описание класса в интерфейсной части. некоторые члены класса получаются без сдвига, некоторые со сдвигом. да и вобще кстати по поводу форматирования классов в д2010 странно немного. Если дефолтное форматирование класса представляет собой отступы для разделов описание класса private, public и т.п. а сами члены класса так же имеют… Подробнее »
Ну в D2010 форматтер можно сказать только обкатывался (как сейчас SVN в D2010)б сейчас можно настраивать форматирование практически как угодно и хранить настройки отдельно друг от друга.
>> Если дефолтное форматирование класса представляет собой отступы для разделов описание класса private, public и т.п. а сами члены класса так же имеют отступ внутри секции, >>то форматтер не позволяет форматировать код так же.
Просто форматтер «подгоняет» оформление под заданные настройки и все сделанные ДО форматирования отступы справедливо считаются неправильными :) Он же не может угадать специально был сделан отступ или это рука дрогнула/ошибка оформления и т.д.
ну дак понятно что есть форматтер (: просто для классов можно было сделать отдельные настройки. типа «отступы секций» и «отступы членов».
таки баг со поломкой форматирования в описании класса никто не встречал? а то что то меня напрягает произвольное форматирование типа
TForm1 = class(TObject)
label1 : TLabel;
label2 : TLabel;
label3 : TLabel;
label4 : TLabel;
label5 : TLabel;
label6 : TLabel;
label7 : TLabel;
end;
которое не понятно чем вызывается.
хм. тэг pre игнорируется? (:
Таких непоняток вообще не видел :) У меня все настройки стоят дефолтные — все нормально вроде форматируется…
Автоформатирование в Delphi 2010 не нравится тем, что оно ломает переносы строк и любит их объединять в одну строчку… Например:
[code]
s := 'какой-то текст'
+ 'еще текст'
+ 'и еще'
+ 'и еще';
[/code]
Превращается в
[code]
s := 'какой-то текст' + 'еще текст' + 'и еще' + 'и еще';
[/code]
И обычный отформатированный SQL-код потом преобразуется в сплошную кашу, которую очень трудно поддерживать.
разве в настройках там нет сохранения авторских переносов строк? у меня такой проблемы со строками нет. Т.е подобные переносы сохраняются.
ter, вот так — как не пробовал менять настройки — не получается. Даже больше — не могу при сложных операциях и переносе строк добиться того, чтобы знаки операций ставились не справа, а слева от кода. Вот настройки форматирования: Вот исходный код, который хочу получить (отступы режет сам блог, так что на них не стоит обращать внимание): [code] procedure TForm1.FormCreate(Sender: TObject); var s: string; begin s := 'строка 1' + 'строка 2' + 'строка 3'; end; [/code] А вот то, что получается после форматирования этого кода: [code] procedure TForm1.FormCreate(Sender: TObject); var s: string; begin s := 'строка 1' +… Подробнее »
JayDi, в форматтере Delphi XE в настройках Line Breaks есть настройка «Keep user line breaks» — она-то и дает возможность сохранять ваши переносы строк. У Вас D2010 — там этой опции нет и Delphi рубит все переносы.
если я не ошибаюсь, то подобные вещи уже реализованы в компонентах JEDI и даже в Lazarus работают давно. Лично я уже не помню как давно привык жать заветные Ctrl+D
[…] — свернул блоки и работай спокойно (плохо только, что форматировщик исходного кода все блоки снова разморацивает). А как быть […]