Средство форматирования кода Visual Studio 2010 C ++ - PullRequest
19 голосов
/ 11 декабря 2011

Я новичок в написании программ на С ++ в Visual Studio.Когда я кодирую программы на C # в VS, средство форматирования кода изменяет код, который выглядел следующим образом

for(int i= 0; i<(n+  m) ;  i++){
}

, на

for(int i = 0; i < (n + m); i++)
{
}

, что намного легче читать.Когда я пишу то же самое на C ++, ничего не происходит.Я попытался выделить текст и нажать Ctrl + E, F, но это не сработало.Есть ли способ улучшить форматировщик кода C ++ в visual studio?

Ответы [ 4 ]

9 голосов
/ 11 декабря 2011

Visual Studio не может отформатировать C ++ - код.Может быть, есть расширение VS.Я долго искал, но так и не нашел подходящего бесплатно.

Очень хороший, бесплатный, но не простой в использовании форматировщик кода - GreatCode .Это инструмент командной строки.

Вы можете настроить его как «Внешний инструмент»:

После распаковки GreatCode на вашем HD просто перейдите в Tools-> External Tools-> Add и вставьте следующие параметры...

enter image description here

Каждый раз, когда вы вызываете этот инструмент, форматируется фактически открытый файл.

Вы можете настроить GreatCode так, как вам нравится в gc.cfg.Я перепробовал много вариантов, некоторые из них просты, некоторые сложны.

Если вы хотите выглядеть как Microsoft, просто используйте мои настройки в качестве шаблона и настройте себя:

-code_constructor_style-1
-code_split_fctdef_style-5
-code_split_decl_style-2
-overwrite_read_only-
-verbose-
-tab_out-
-space_if-
-space_return-
-space_fctcall_inparam-
-no-space_fctcall_firstparam-
-no-space_cast_after-
-space_affect_style-0
-space_autoaffect_style-0
-code_len-180
-code_keep_more_empty_lines-
-code_decl_access_to_type-
-code_decl_break_template-
-code_remove_return_paren-
-code_align_max_blanks-80
-code_class_access_eol_after-1
-code_class_access_eol_before-1
-code_split_fctcall_style-1
-code_constructor_style-1
-no-code_split_bool_before-
-no-stmt_concat_else_if-
-no-stmt_decl_remove_empty-
-no-stmt_concat_if_remove_empty-
-no-stmt_concat_else_if-
-stmt_force_brace-1
-stmt_break_dowhile-
-stmt_switch_style-1
-stmt_switch_eol-0
-stmt_class_indent-0
-stmt_static_init_style-2
-stmt_concat_inline_class-
-pp_align_to_code-
-pp_style-1
-pp_align_breakline-
-no-cmt_first_space_cpp-
-cmt_dont_modify-
-no-cmt_add_class_access-
-no-cmt_add_gc_tag-
-no-cmt_add_fct_def_class-
-no-cmt_decl_before-
-no-cmt_decl-
-no-cmt_first_line_break_first-
-no-cmt_first_line_break_last-
-no-code_split_bool_before-
-catch_eol_before-1
-no-stmt_decl_remove_empty-
-no-cmt_add_fct_def_class-
-no-cmt_add_class_access-
-no-stmt_break_alone-
-stmt_concat_inline_class-
-cmt_keep_cpp-

Хорошоудачи!

8 голосов
/ 11 декабря 2011

Я использую тот же подход, что и DirkMausF, за исключением самого инструмента форматирования.Я бы посоветовал вам использовать форматировщик художественного стиля:

http://astyle.sourceforge.net/

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

0 голосов
/ 14 апреля 2013

Долгое время я писал весь код C ++ в Netbeans и компилировал его в Visual Studio. Netbeans отлично форматирует код (с помощью ALT + SHIFT + F), и есть много вариантов форматирования.

0 голосов
/ 11 декабря 2011

Если у вас есть наличные деньги, вы можете поискать Visual Assist .См. Также, этот вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...