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 ...
相关文章推荐
- MyEclipse Web Project转Eclipse Dynamic Web Project
- Windows Clang开发环境备忘
- vs 不显示行号的操作方法
- 让Flex Builder 3.0与Eclipse3.4整合起来
- 使用zend studio for eclipse不能激活代码提示功能的解决办法
- ext for eclipse插件安装方法
- linux vs linux的优势
- 解决Fedora14下eclipse进行android开发,ibus提示没有输入窗口的方法详解
- eclipse导入jquery包后报错的解决方法
- Eclipse 格式化代码时不换行与自动换行的实现方法
- 先装VS再装IIS时出错的解决方法
- Eclipse下jQuery文件报错出现错误提示红叉
- eclipse如何忽略js文件报错(附图)
- eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
- jquery库或JS文件在eclipse下报错问题解决方法
- 什么是eclipse,eclipse的意思解析
- Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
- eclipse+myeclipse 环境配置方法
- 基于eclipse.ini内存设置的问题详解
- java,Android:在eclipse中的快捷键(经典收藏)