2013-07-10 2 views
0

Чтобы уведомить вас заранее, Astyle не может этого сделать для меня. Я хочу, чтобы мой код выравнивался вправо. Это сочло бы меня сумасшедшим, если бы мне пришлось вводить пробел вручную. Как вы можете видеть после модификации, код намного красивее.как отформатировать мой код на C++, как это?

Я хочу знать, что это лучший способ сделать это? кто-нибудь может мне помочь?

Вот исходный код:

unsigned __int64 contentsStmSize = 0; 
unsigned __int64 imageSize = 0; 
unsigned __int64 fontSize = 0; 
unsigned __int64 bookMarkSize = 0; 
unsigned __int64 xObjectFormsSize = 0; 
unsigned __int64 structureInfoSize = 0; 
unsigned __int64 acroFormsSize = 0; 
unsigned __int64 linkAnnotsSize = 0; 
unsigned __int64 namedDestnationsSize = 0; 
unsigned __int64 docOverheadSize = 0; 
unsigned __int64 clrSpaceSize = 0; 
unsigned __int64 patternInfoSize = 0; 
unsigned __int64 shadingPatternInfoSize = 0; 
unsigned __int64 extGraphicsStatesSize = 0; 
unsigned __int64 crossRefTableSize    = 0; 

и вот что я хочу:

unsigned __int64 contentsStmSize    = 0; 
unsigned __int64 imageSize      = 0; 
unsigned __int64 fontSize      = 0; 
unsigned __int64 bookMarkSize     = 0; 
unsigned __int64 xObjectFormsSize    = 0; 
unsigned __int64 structureInfoSize    = 0; 
unsigned __int64 acroFormsSize     = 0; 
unsigned __int64 linkAnnotsSize     = 0; 
unsigned __int64 namedDestnationsSize   = 0; 
unsigned __int64 docOverheadSize    = 0; 
unsigned __int64 clrSpaceSize     = 0; 
unsigned __int64 patternInfoSize    = 0; 
unsigned __int64 shadingPatternInfoSize   = 0; 
unsigned __int64 extGraphicsStatesSize   = 0; 
unsigned __int64 crossRefTableSize    = 0; 
+1

используйте клавишу 'TAB' для выравнивания – suspectus

+1

Это в основном связано с используемым идеалом или текстовым редактором, это не имеет ничего общего с C++/C, кроме того, что в нем написано образец кода. –

+4

«Более красивый» - это очень * индивидуальное и предвзятое мнение. Существует так много стилей кодирования и мнений о том, что такое красивый код, как есть программисты. –

ответ

1

В Emacs вы можете выбрать строки, а затем введите

ctrl-alt-shift-5 
\(.*?\) *= 0; 
\,(format "%-50s = 0;" \1) 

Смысл

  • \(.*?\) захватить все (не жадный, чтобы оставить пробелы вне)
  • *= 0; последовательность пробелов, а затем = пробел и 0;
  • \, заменить со значением Elisp выражения
  • (format "%-50s = 0;" \1) формат группа 1 в качестве выровнен по левому краю строки размера 50 с последующей концевой части " = 0;"

Следует отметить, что, однако этот стиль отступа является своего рода раздражает продолжать обновлять (например, когда вы добавляете новую переменную с именем дольше, чем другие), и именно по этой причине она обескуражена во многих соглашениях о стиле кода.

2

Я тоже люблю этот стиль. И я использую для выравнивания моего кода с вкладками, чтобы лучше видеть значения. Одной из мер, которые я использую, является выбор некоторых строк кода с помощью ALT + Mouse, а с помощью кнопки вкладок вы можете перегруппировать группу строк одновременно.

Надеюсь, это поможет.

1

Это не слишком сложно в vi. Поиск '=' (/=введите), вкладка Вставка (iвкладка ESC). Затем нажмите . несколько раз, чтобы выровнять одну линию, и n, чтобы перейти к следующему месту.

1G/= 
i^I^[.....n.....n...n...n... etc. 
Смежные вопросы