修剪Xcode中的尾随空格
当我保存文件时,是否有强制Xcode修剪尾随空白的方法?
如果有问题,我正在使用3.1.3版本。
您可以创build脚本并将其绑定到键盘快捷方式:
- select脚本菜单>编辑用户脚本…
- 按下+button并selectNew Shell Script
- 给它一个像“Strip Trailing Spaces”这样的名字,并给它一个像^^ R这样的快捷方式。
- 将input设置为“select”并输出到“replaceselect”
然后input以下脚本:
#!/usr/bin/perl while (<>) { s/\s+$//; print "$_\n"; }
从Xcode 4.4开始,默认情况下会自动修剪空格,除非行全是空格。 您也可以激活Including whitespace-only lines
来解决这个问题,默认情况下它是不活跃的。
转到Xcode > Preferences > Text Editing > While editing
我正在使用Google工具箱For Mac Xcode插件 ,它在保存时添加了“正确的保存空白”参数,用于修剪尾随的空格。 我错过了很多来自emacs。
这在Xcode 3.2中是不可能的
编辑:
我简短地回答了这个问题,因为没有办法做到这一点。
当然,由于它是软件,所以你可以做任何事情:从inputpipe理器入手或其他注入代码到系统范围的键盘拦截,你可以改变你的本地系统在任何时候做任何事情。 您可以设置一个Applescript文件夹操作(arrgh)或使用启动守护程序和FSEvents设施来观看您的源代码文件。
您还可以在Xcode中添加一些脚本(菜单中的用户脚本,目标中的脚本阶段,组织者中的自定义操作,甚至还有启动脚本的未知可能性),但所有这些解决scheme都是有缺陷的,因为它涉及用户或用户的机器上的自定义设置。
我没有意识到一个解决scheme,只是从SCM签出项目后工作。 我相信需要这个和类似的定制脚本,所以我提交了一个bug(雷达7203835,“function:Xcode工作stream程中更多的用户脚本触发器”)。 我还没有收到任何反馈。
以下是雷达条目的全文:
有更多的地方在Xcode中运行脚本将是有用的。
例子:
预先构build脚本
预编译脚本可以用来构build先决条件,如* .xcconfig文件或config.h头文件。 在“运行脚本构build阶段”中这是不可能的,因为依赖关系跟踪在任何构build阶段被触发之前发生。发布构build脚本
与上面类似,但在构build完成后运行(包括代码签名等)。 有用的额外的包装,有效性检查等Pre / Post SCM提交脚本。
检查项目完整性。前/后文件保存脚本。
在保存之前检查/更改文件。 如运行科迪美女自定义项目操作。
我知道组织者定义任意动作的能力。 但这是每个用户function(不是项目的一部分)。 我想定义构build菜单中显示的构build或清理等操作,这些操作是项目的一部分。
在这里查看Xcode4: http : //www.wezm.net/technical/2011/08/strip-trailing-whitespace-xcode-4/
酷,谷歌的Mac工具箱现在为Xcode4增加了一个“修剪空白”选项。
http://code.google.com/p/google-toolbox-for-mac/downloads/list
谢谢你,Google!
对于Xcode 8,我安装了swimat Xcode插件,用于格式化Swift代码,它删除了所有尾随空格和仅空白行。
安装方法
-
通过homebrew-cask安装:
brew cask install swimat
-
直接下载应用程序:
https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.zip -
克隆
extension
分支并存档到Mac App。
用法
一旦安装,你可以通过Editor -> Swimat -> Format
在Xcode中运行Swimat。