您的位置:首页 > 编程语言 > C语言/C++

c/c++代码格式化

2014-12-18 16:12 190 查看
</pre><p></p><p><span style="font-family:SimHei; font-size:18px">前言:</span></p><p></p><p><span style="font-family:SimHei; font-size:14px">用过eclipse的应该对eclipse的代码格式整理都不陌生,右键 -> Source -> Format 瞬间代码便整齐划一了。</span></p><p><span style="font-family:SimHei; font-size:14px">该文章则致力于让C/C++的代码也有能如此格式化一下。</span></p><p><span style="font-family:SimHei; font-size:14px"></span></p><p><span style="font-family:SimHei"><strong><span style="font-size:18px">综述:</span></strong></span></p><p></p><p><span style="font-family:SimHei; font-size:18px">linux下编程,我的方式是,</span></p><p><span style="font-family:SimHei; font-size:18px">编辑:</span><span style="font-family:SimHei; font-size:18px">小程序用vim,大程序用UE的sftp打开源码,如此编辑和保存</span></p><p><span style="font-family:SimHei; font-size:18px">编译:用secureCRT连接到linux,Makefile编译,运行</span></p><p><span style="font-family:SimHei; font-size:18px"></span></p><p><span style="font-family:SimHei; font-size:18px"><strong>问题阐述:</strong></span></p><p><span style="font-family:SimHei; font-size:18px">UE编辑程序的好处在于简单粗暴,全手打,但是<span style="font-family:SimHei; font-size:18px">毫无代码提示,同时难免出现格式上的缩进混乱。</span></span></p><p><span style="font-family:SimHei; font-size:18px"><span style="font-family:SimHei; font-size:18px"></span></span></p><p><span style="font-family:SimHei; font-size:18px"><span style="font-family:SimHei; font-size:18px"><strong>解决方法:</strong></span></span></p><p><span style="font-family:SimHei; font-size:18px"><span style="font-family:SimHei; font-size:18px; background-color:rgb(51,255,51)">1.推荐方案 使用eclipse进行代码格式化</span></span></p><p><span style="font-family:SimHei; font-size:18px"><strong>1.1 方案</strong></span></p><p><span style="font-family:SimHei; font-size:18px">安装 MinGW + Eclipse(IDE for C/C++ developers)。</span></p><p><span style="font-family:SimHei; font-size:18px">MinGW:安装后可以让自己在windows下使用gcc/g++,安装的目的是给eclipse提供C/C++的编译器</span></p><p><span style="font-family:SimHei; font-size:18px">Eclipse:可以使用 右键->Source->Format对C/C++代码格式化 ,同时用eclipse写C/C++有代码提示补全,个人感觉eclipse的代码补全和对应的解释比VS清晰一些</span></p><p><span style="font-family:SimHei; font-size:18px"></span></p><p><span style="font-family:SimHei; font-size:18px"><strong>1.2 进阶</strong></span></p><p><span style="font-family:SimHei; font-size:18px">eclipse的默认代码格式化的风格是:</span></p><p><span style="font-family:SimHei; font-size:18px"></span></p><pre name="code" class="cpp">#include <math.h>

class Point {
public:
Point(double x, double y) :
x(x), y(y) {
}
double distance(const Point& other) const;

double x;
double y;
};

double Point::distance(const Point& other) const {
double dx = x - other.x;
double dy = y - other.y;
return sqrt(dx * dx + dy * dy);
}


是否想改成如下风格呢:

#include <math.h>

class Point
{
public:
Point(double x, double y) :
x(x), y(y)
{
}
double distance(const Point& other) const;

double x;
double y;
};

double Point::distance(const Point& other) const
{
double dx = x - other.x;
double dy = y - other.y;
return sqrt(dx * dx + dy * dy);
}

1.3 修改eclipse的风格样式

windows->preferences->C/C++ ->Code Style 右侧下拉菜单有四种可供选择的风格。默认为K&R[built-in],可以选择BSD/Allman[built-in]。当然可以选择其他。然后再到代码里面 右键->source->format你就成功了。

1.4 修改制表符为空格

制表符在不同的编辑器里面所占空格多少不等(UE是2,一般是4,记事本是8),故容易造成缩进混乱,解决方法是:把制表符用空格代替

修改方法:

紧接1.3中的步骤,点击右侧的 Edit 在弹出的窗口中 选择 "Indentation" 选项卡,然后在 "Tab Policy" 后面的选项卡中选择 "Spaces only"

OK 大功告成! 

如此,用eclipse打开的 c/c++程序就可以直接 右键->Source->Format 进行格式化了;

而且没有制表符,不怕不同编辑器对制表符解释不同导致的缩进问题,在代码中敲Tab键也直接是四个空格代替而非制表符。

1.5 总结

这种方式可以直接编辑(有代码错误实时提示,代码补全)、编译、运行C/C++程序,而且可以看到编译的时候用的是gcc/g++,而且经比较eclipse的Format功能比VS2010强很多,vs需要运行以后才能使用ctrl+K+F,而且只改缩进,大括号位置不给修改。

2. 可选方案 使用 Visual Studio2010代码格式化

2.1 简介

vs对于C/C++提供编辑编译的一条龙服务,然而,总感觉不符合标准C/C++,微软把标准给自行修改了,所以,虽然vs相当强大,但是和linux下的gcc/g++总觉得会出现不兼容。

2.2 使用vs进行代码格式化的方法

使用快捷键: 先全选(Ctrl+A) 然后(Ctrl+K,Ctrl+F) 具体操作方法是:Ctrl+K,然后释放 K 不放Ctrl 按 F。

使用菜单:编辑->高级->设置选定内容的格式

2.3 容易碰到的问题

沿着2.2操作有时候会提示:绑定到的命令(Format Document)当前不可用

那么看看自己是不是用的是(Ctrl+K,Ctrl+D)

2.4 vs修改制表符为空格

工具->选项->文本编辑器->所有语言->制表符,然后在右侧 选中单选按钮 "插入空格(P)"

2.5 总结

如此,便可使用(Ctrl+K,Ctrl+F)对代码进行格式化了,如果没有2.4步缩进将全部是用制表符代替的。

存在问题:不能调整大括号的位置,仅能调整缩进,所以感觉算不上真正的代码格式化,故用eclipse进行代码整理比VS靠谱。

3.UE代码格式化<
ae41
/p>
作为一个专业的程序员,自己纯手打自然缩进良好了,但是仅仅是看上去缩进良好,默认情况下UE自动缩进会使用Tab,而一个Tab占两个空格的位置,而其他编辑器往往Tab是四个空格,于是问题就来了->缩进混乱

3.1 方法一

每次写完程序,格式->转换制表符为空格 如此,UE的代码放到别的编辑器缩进不会变化。

3.2

To Be Continued ...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码格式化 VS eclipse