去掉Xcode源码末尾的空格
去掉Xcode源码末尾的空格
在用 Xcode 开发的时候,很容易就在行末增加一些空格了。这些空格在上传到 review board 上后 , 就会被特别的颜色显示出来。因为一种好的编程风格是说 , 不应该在行末增加不必要的空格。如果是用 eclipse 写 java, 那么这种时候选中写好的代码,按 ctrl+shift+F 即可调整源码的风格 , 将尾部的空格去掉。可惜在 Xcode 中并没有提供相应的功能。
不过我们可以用命令行来达到这一效果 , 在工程目录下输入:
find . -name "*.[hm]" | xargs sed -Ee 's/ +$//g' -i "" |
这样 , 就可以把源码中行末多出来的空格去掉了 , 是不是很爽 ? 可以把这句加到执行 post-review 的脚本上,这样就可以做到自动去空格了。
顺便说一下,我打算把这些小脚本工具总结出来,放到 github 上,地址是 https://github.com/tangqiaoboy/xcode_tool,感兴趣的同学可以把它 clone 下来。
祝玩得开心~
2013 年 6 月 22 日更新
上文写于 2011 年末,在 2012 年在 WWDC 大会上,苹果推出了 Xcode4。从 Xcode4 开始,Xcode 会自动去掉源码末尾的空格。所以上面提到的脚本基本没用了。不过对于工程中的 html 或 js 文件,Xcode 的去末尾空格功能并没有打开,所以在某些时候才能有一些小用处。
另外,每次记得敲命令来去掉空格是一件很恶心的事情,最好是由程序自动完成。考虑到现在 git 已经很普及了,在这里介绍另一种在 git 仓库中创建钩子 (hook) 的方法来去掉所有提交文件的末尾空格,具体做法如下:
在工程目录的 .git/hooks/ 目录下,创建一个名为 pre-commit 的文件,输入如下内容
#!/bin/sh |
然后用 chmod +x pre-commit 给该文件加上执行权限。这样,每次在 git 提交文件的时候,该脚本就会被自动执行并且将提交文件末尾的空格去掉。
去掉Xcode源码末尾的空格的更多相关文章
- SpringMVC源码剖析(一)- 从抽象和接口说起
SpringMVC作为Struts2之后异军突起的一个表现层框架,正越来越流行,相信javaee的开发者们就算没使用过SpringMVC,也应该对其略有耳闻.我试图通过对SpringMVC的设计思想和 ...
- RxJava系列6(从微观角度解读RxJava源码)
RxJava系列1(简介) RxJava系列2(基本概念及使用介绍) RxJava系列3(转换操作符) RxJava系列4(过滤操作符) RxJava系列5(组合操作符) RxJava系列6(从微观角 ...
- SpringMVC源码分析2:SpringMVC设计理念与DispatcherServlet
转自:https://my.oschina.net/lichhao/blog SpringMVC简介 SpringMVC作为Struts2之后异军突起的一个表现层框架,正越来越流行,相信javaee的 ...
- SSM 三大框架系列:Spring 5 + Spring MVC 5 + MyBatis 3.5 整合(附源码)
之前整理了一下新版本的 SSM 三大框架,这篇文章是关于它的整合过程和项目源码,版本号分别为:Spring 5.2.2.RELEASE.SpringMVC 5.2.2.RELEASE.MyBatis ...
- HRPlugin For Xcode发布(附源码地址)
今天给大家介绍的这个插件,是我在IOS平台上开发以来,一些想法的集合体.因为本人时常感觉在开发过程中无论从GOOGLE资料查找和SQL数据库查询,正则表达式测试,SVN等,这些经常要做的操作中,耽误了 ...
- 在Xcode中使用Git进行源码版本控制
http://www.cocoachina.com/ios/20140524/8536.html 资讯 论坛 代码 工具 招聘 CVP 外快 博客new 登录| 注册 iOS开发 Swift Ap ...
- 【转】在Xcode中使用Git进行源码版本控制 -- 不错
原文网址:http://www.cocoachina.com/ios/20140524/8536.html 本文翻译自Understanding Git Source Control in Xcode ...
- Windows 以及 Xcode下编译调试 libcurl 源码
curl 这个工具大家都很熟悉. 前几天因为要跟踪curl的实现细节, 不得不设法搭建curl的调试工程. 我们分别在windows visual studio 和 mac 上的 xcode 下搭建调 ...
- [Xcode 实际操作]八、网络与多线程-(9)使用异步Get方式获取网页源码
目录:[Swift]Xcode实际操作 本文将演示如何通过Get请求方式,异步获取网页源码. 异步请求与同步请求相比,不会阻塞程序的主线程,而会建立一个新的线程. 在项目导航区,打开视图控制器的代码文 ...
随机推荐
- jlink安装
https://www.segger.com/jlink-software.html?step=1&file=JLink_510p
- object-c面向对象1
---恢复内容开始--- 类,对象,方法,属性. 类是object-c一种重要的数据类型,是组成object-c程序的基本要素.object-c的类声明和实现包括两个部分:接口和实现部分. @inte ...
- linux中pip安装步骤与使用详解
pip类似RedHat里面的yum,安装软件非常方便.本节详细介绍pip的安装.以及使用方法,希望文章对各位了解pip的安装与使用带来帮助. 1.pip下载安装1.1 pip下载 代码如下 复制代码 ...
- [Android Pro] RecyclerView实现瀑布流效果(二)
referece to : http://blog.csdn.net/u010687392 在上篇中我们知道RecyclerView中默认给我们提供了三种布局管理器,分别是LinearLayoutMa ...
- 一、HTML和CSS基础--HTML+CSS基础课程--第2部分
第三章 与浏览器交互,表单标签 使用表单标签,与用户交互 网站怎样与用户进行交互?答案是使用HTML表单(form).表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的 ...
- sina发现并不会去导入qq使用的
看问题需要多角度,为之不能实现也是有可能没有完善的.确实是由于短时间发布过多,还是bky好点好像有30S
- 无线ap和路由器wifi热点怎么区分和区别
转自:http://blog.sina.com.cn/s/blog_5a6efa330101yrzh.html 有的人发现无线ap和无线路由器都可以实现无线上网,于是到无线市场买了个相当便宜的无线ap ...
- DJANGO的API跨域实现
Ajax跨域请求报错:XMLHttpRequest cannot load ''. No 'Access-Control-Allow-Origin' header is present on the ...
- zookeeper理论
第一章 Zookeeper server 1.1 Zookeeper基本原理 1.1.1 Zookeeper的保证 l 顺序性,client的updates请求都会根据它发出的 ...
- android上传文件到服务器
package com.spring.sky.image.upload.network; import java.io.DataOutputStream; import java.io.File; i ...