VS开发C++代码格式化设置(AStyle)

来源:互联网 发布:域名为什么会被墙 编辑:程序博客网 时间:2024/05/21 10:59

一.下载Astyle插件

下载地址:
https://marketplace.visualstudio.com/items?itemName=Lukamicoder.AStyleExtension

二.安装AStyle

1.打开AStyleExtension.vsix

2.选择相应的VS版本
这里写图片描述

3.重启VS,然后打开 工具 -> 选项 , 如果有 “AStyle Formatter” 选项,即为:安装成功.如图:
这里写图片描述

三.设置AStyle(以C++为例)

1.方法一:命令行(我使用的方法)

直接单击Edit,进行编辑.例如输入:--style=java -f -U -p -N --mode=c然后save -> 确定测试,编辑 -> 高级 -> "Format Document(AStyle)"或"Format Selection(AStyle)",即可查看代码样式效果.

PS:修改其相关的快捷键. 工具 -> 环境 -> 键盘 ,输入”AStyle”,对应设置其相关的快捷键.
这里写图片描述

2.方法二:Settings,进行勾选,生成Command line

3.方法三:Import导入

四:部分相关参数的含义

例如:--style=java -f -U -p -N --mode=c--style=java:设置代码风格为Java,还可以设置成:ansi等.--mode=c:#指定文件处理模式,C/C++模式,其他选择还有cs,java等子参数 (1) –f  //-F也是一样的效果在两行不相关的代码之间插入空行,如import和public class之间、public class和成员之间等;(2) –p  //小写在操作符两边插入空格,如=、+、-等。如:int a=10*60;处理后变成:int a = 10 * 60;(3) –P  //大写在括号两边(内和外)插入空格。另,-d只在括号外面插入空格,-D只在里面插入。如:System.out.println(1);    //输入-P处理后变成System.out.println( 1 );   //增加了4个空格(4) -U移除括号两边不必要的空格。如:System.out.println( 1 );  //有3个空格处理后变成System.out.println(1); //3个空格被去掉了(5) -V将Tab替换为空格。(6) -N本条命令主要针对namespaces。如果没有此参数,效果如下:namespacefoospace{class Foo{public:Foo();virtual ~Foo();};}有此参数就会变成这样:namespacefoospace{    class Foo        {    public:        Foo();        virtual ~Foo();    };}(7) -n不生成备份文件,默认是备份生成 .orig文件。

———————————————————-华丽分割线———————————————————-

五.进一步补充(特殊需求)

1.缩进采用4个空格--indent=spaces=42.对于单行的语句增加括号Add brackets to unbracketed one line conditional statements  (e.g. 'if', 'for', 'while'...).--add-brackets3.强制转换TAB为空格--convert-tabs4.将preprocessor (#define) 这类预定的语句,如果有多行时前面填充对齐,(是对单语句(多行)进行填充呀)--indent-preprocessor5.Attach a pointer or reference operator (* or &) to either the variable type (left) or variable name (right), or place it between the type and name.*,&这类字符靠近类型--align-pointer=type6.*,&这类字符靠近变量名字,目前选择这个,--align-pointer=name7.在操作符号两边增加空格字符 ==--pad-oper8.在几个关键字后面增加空格insert space padding after paren headers only (e.g. 'if', 'for', 'while'...).--pad-header9.在if,for,while等代码段前后增加空行,这个其实挺好,但如果你不喜欢,可以关闭Pad empty lines around header blocks (e.g. 'if', 'for', 'while'...).--break-blocks 10.行结束用什么文件格式,UNIX的还是Windows的,--lineend=windows11.后台开放统一用UNIX的方式--lineend=linux12.switch case的代码也按照标准缩进方式缩进--indent-switches13.如果函数开始后面({后面)第一行是注释,也进行缩进--indent-col1-comments14.namespace class内部的public,等我没有选择缩进--indent-namespaces--indent-classes15.多行条件语句如何进行缩进,=0表示和(对齐,=1表示缩进一次,=2表示缩进两次,=3缩进一个半MS visual studio的默认格式化是缩进一个,--min-conditional-indent=116.最大的缩进对齐长度,默认40,最大120,超过这个长度的多行()内语句不进行缩进,考虑到现在语句都较长--max-instatement-indent=80

提示:一般一个项目组使用一套设置好的编程风格.

0 0
原创粉丝点击