我是 Visual Studio 中 C++ 编程的新手。在 VS 中编写 C# 程序时,代码格式化程序会更改以下代码:
for(int i= 0; i<(n+ m) ; i++){
}
进入
for(int i = 0; i < (n + m); i++)
{
}
使用其他语言写的代码可以轻松阅读。当我用C++写同样的代码时,什么都没有发生。我尝试选择文本并按Ctrl+E、F键,但没有作用。有没有办法改善Visual Studio中的C++代码格式化器呢?
我是 Visual Studio 中 C++ 编程的新手。在 VS 中编写 C# 程序时,代码格式化程序会更改以下代码:
for(int i= 0; i<(n+ m) ; i++){
}
进入
for(int i = 0; i < (n + m); i++)
{
}
使用其他语言写的代码可以轻松阅读。当我用C++写同样的代码时,什么都没有发生。我尝试选择文本并按Ctrl+E、F键,但没有作用。有没有办法改善Visual Studio中的C++代码格式化器呢?
Visual Studio无法格式化C++代码。也许有一个VS扩展程序,但我搜索了很久都没有找到一个合适的免费工具。
一个非常好用的、免费的,但使用不太容易的代码格式化工具是GreatCode。它是一个命令行工具。
您可以将其配置为"External Tool":
在将GreatCode解压缩到硬盘上后,只需单击“工具”->“外部工具”->“添加”,并插入以下设置...
每当您调用该工具时,正在打开的实际文件都将被格式化。
您可以在gc.cfg中按照自己的喜好配置GreatCode。我尝试了很多选项,有些很简单,有些则比较复杂。
如果您想要微软风格的外观,只需使用我的设置作为模板,并进行微调:
-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-
祝你好运!
cfg
文件复制并粘贴到您的回答中呢?这会使您的回答更有用。 - In silico如果你有经费可以花费,你可能想要了解一下Visual Assist。另请参见this问题。