xcode的源自动格式化(Xcode source automatic formatting)

2019-08-18 12:42发布

作为一个C#开发人员,我已经在Visual Studio 2008中变得高度依赖于自动格式化具体来说,我将使用CTRL + K,d键盘快捷键我的草率实施后强制东西放回形状。

我现在正在努力学习Objective-C和我在Xcode缺少某些功能,但可能没有相当的格式快捷的痛苦。 我的谷歌搜索已经取得了什么内置的,但它似乎有一些黑客。 我缺少的东西,或此功能没有在Xcode本身存在吗?

Answer 1:

不幸的是,Xcode中没有任何关系近尽可能全面,VS或老爷车为Eclipse提供。 也有一些不同的特征,如Structure > Re-Indent以及自动格式化使用时您将代码粘贴到您的源文件。 我完全同意你的,虽然, 有绝对应该是有什么帮助格式问题。



Answer 2:

这是CTRL + I。

或技术含量低,剪切和粘贴。 它会重新格式化粘贴。



Answer 3:

我想推荐两个选择值得考虑。 双方很新的和不断变化的。

ClangFormat-的Xcode (免费) -每个CMD + S文件被重新格式化为特定的风格和保存,便于团队内部部署

Xcode的插件使用锵的格式工具,通过@travisjeffery格式化你的代码。

铿锵格式,您可以使用铛你的代码格式化为风格,如LLVM,谷歌,铬,Mozilla的,WebKit的,还是你自己的配置。

目的洁 (付,没有尝试,尚未) -应用提高构建错误,如果预定义的样式规则被侵犯-可能是十分困难的小组中使用,所以我没有尝试一下。

随着很小的设置,你可以得到Xcode中使用我们的应用程序来执行规则。 如果您伸手被捉违反了你的规则之一时,Xcode将抛出一个生成错误,并采取以下权利,即出错的行。



Answer 4:

在Xcode中,您可以使用此快捷方式来格式化(重新排版)源代码

  • CTRL + A全选所有源代码

  • 按Ctrl + I重新排版

希望这可以帮助。



Answer 5:

我个人的最爱PrettyC wantabe是uncrustify: http://uncrustify.sourceforge.net/ 。 它有一个数十亿可选项,但这样我也建议你下载UniversalIndentGUI_macx,(也sourceforge上)的GUI有人写来帮助设置的选项,你喜欢的方式。

然后,您可以添加这个自定义用户脚本uncrustify选定的文本:

#! /bin/sh
#
# uncrustify!
echo -n "%%%{PBXSelection}%%%"
/usr/local/bin/uncrustify -q -c /usr/local/share/uncrustify/geo_uncrustify.cfg -l oc+ <&0
echo -n "%%%{PBXSelection}%%%"


Answer 6:

您可以使用CTRL + A全选所有内容,接下来按Ctrl + 所选择的内容进行格式化。



Answer 7:

CMD A + Ctrl键

或者Cmd的 ,然后右击 。 转到结构- >重新缩进



Answer 8:

我也觉得应该Xcode中有此功能。 所以我做了一个扩展,做到这一点: Swimat

简单的安装由brew cask install swimat

你可以试一试,看https://github.com/Jintin/Swimat以获取更多信息。



Answer 9:

考虑购买自己的牌照AppCode ,智能Objective-C的IDE,可以帮助的iOS / OS X开发。 AppCode与Xcode的完全兼容,但超越的Xcode中加入强大的功能 。

AppCode所述的一个Objective-C变体的Intellij IDEA从IDE JetBrains的 。 他们也很受欢迎的作家ReSharper的扩展到Visual Studio,其主要目的从这里似乎是一个绝望的尝试带来了一丝的IDEA体验到微软的产品。

AppCode正在使用自己的代码分析器赋予近于完美的重构和代码导航支持。 还有就是要重新排版,完全格式化也代码的能力(尽管我仍然保持失踪一对夫妇在疑难案件格式设置,但大多效果很好)。

你可以尝试过程中的试用版。



Answer 10:

您还可以看看https://github.com/octo-online/Xcode-formatter这是基于Uncrustify并集成到Xcode中格式化。 奇迹般有效。



Answer 11:

你可以尝试的XCode插件https://github.com/benoitsan/BBUncrustifyPlugin-Xcode

只是克隆GitHub的仓库,打开插件项目的Xcode和运行它。 它会自动安装。 使用格式化插件之前重新启动Xode。

不要忘记安装uncrustify UTIL之前。 自制,对于〔实施例

brew install uncrustify

PS您可以打开“保存格式化后”的编辑功能>格式代码> BBUncrustifyPlugin首选项>格式在保存

希望这将是有用ü;-)



Answer 12:

我建议使用ClangFormat。 为了安装,请按照下列步骤操作:

  1. 对于安装的XCode恶魔包管理器支持的Xcode 5+和OS X 10.9+
  2. 安装完成后重新启动的XCode。
  3. 开放的XCode - >窗口菜单 - >程序包管理器
  4. 搜索(查找)ClangFormat并安装它。 安装完成后再次重新启动的XCode。
  5. 现在,在XCode的菜单中,您可以使用编辑 - >铛子菜单中的格式进行格式化。

您可以选择不同类型的格式。 此外,通过使格式在保存您可以获得自动格式的能力。



Answer 13:

CTRL + I

而已。

(无COMMAND + I)



Answer 14:

如果您的Xcode 3.x版本,您应该使用“用户脚本”随着Uncrustify ,在这里这是一个例子:

#!/bin/sh

echo -n "%%%{PBXSelection}%%%"
$YOURPATH_TO_UNCRUSTIFY/uncrustify -q -c $YOURPATH_TO_UNCRUSTIFY_CONFIG/CodeFormatConfig.cfg -l OC+
echo -n "%%%{PBXSelection}%%%"

上述添加到您的Xcode的“用户脚本”。

如果Xcode的4.x版本,我想你应该阅读此博客: 代码格式在Xcode 4 ,

通过这种方式,所使用的“苹果服务”,但它不够好,导致太慢的经验,有没有人有同样的事情?

为什么苹果下落“用户脚本”的xD ....



Answer 15:

首先,检查的XCode首选项“缩进”部分。 您可以自定义的东西不少有...

对于更为精细的控制,指的XCode用户默认苹果文档。 (可能需要一个显影剂登录查看)。 例如,我能够通过在终端中输入以下禁用“上糊缩进”:

defaults write com.apple.XCODE PBXIndentOnPaste No

读回您的设置:

defaults read com.apple.XCODE PBXIndentOnPaste


Answer 16:

这仅适用于语言的作品不是空白划定,但我的解决办法是删除所有空格,除了空间,那么,通常描绘EOL字符后添加一个换行符(如更换“;”与“; \ n”),然后执行无处不在^ + I溶液。

我使用Python。

示例代码,只需更换文件名:

python -c "import re; open(outfile,'w').write(re.sub('[\t\n\r]','',open(infile).read()).replace(';',';\n').replace('{','{\n').replace('}','}\n'))"

这不是完美的(例如:对于循环),但我喜欢它。



Answer 17:

我们可以使用Xcode的格式化程序,它使用uncrustify为你的团队究竟想成为轻松格式化你的源代码!

安装推荐的方法是克隆GitHub的项目或从这里下载https://github.com/octo-online/Xcode-formatter和Xcode项目添加CodeFormatter目录获得:基于Xcode的快捷代码格式化:快捷方式格式经修改的源代码包含在当前工作空间中自动代码格式化:添加构建阶段到项目格式化电流源时应用生成的所有源格式:格式都与由项目共享的一个命令行的格式规则的代码:编辑并使用相同的配置与您的项目开发团队1)为您的项目代码格式化如何设置安装uncrustify最简单的方法文件是使用BREW:$冲泡安装uncrustify

要安装BREW:$红宝石-e“$(卷曲-fsSkl raw.github.com/mxcl/homebrew/go)”

检查uncrustify位于在/ usr / local / bin目录$其中uncrustify

如果您uncrustify版本低于0.60时,你可能有,因为现代的Objective-C语法是刚加入手动安装它。 添加您.xcodeproj文件的旁边,CodeFormatter目录

检查您的Xcode应用程序被命名为“Xcode中”(默认名称),你可以看到在Applications /目录,这个目录(或您的自定义Xcode的安装目录)。 要当心,如果您有Xcode中的多个实例在Mac:确保项目的一个实际被命名为“Xcode的”! (为什么呢?这名被用于查找当前打开的Xcode的文件。见CodeFormatter / Uncrustify_opened_Xcode_sources.workflow的AppleScript)。 安装自动机服务Uncrustify_opened_Xcode_sources.workflow将此文件复制到你的〜/库/服务/文件夹(如果需要创建该文件夹)。请小心:通过双击.workflow文件,你会安装它,但该文件将被删除! 一定要留下它的一个副本的其他用户。

如何建设项目时添加包含以下行的构建阶段“运行脚本”格式化打开的文件:

SH CodeFormatter /脚本/ formatOpendSources.sh

如何格式化命令行文件

要格式化当前打开的文件,使用formatOpenedSources.sh:

$ SH CodeFormatter /脚本/ formatOpendSources.sh

要格式化的所有文件,使用formatAllSources.sh:

$ SH CodeFormatter /脚本/ formatAllSources.sh PATH

PATH必须由您的源路径所取代。

例如; 如果项目名称是TestApp那么该命令会

$ SH CodeFormatter /脚本/ formatAllSources.sh TestApp

它会寻找项目中的所有文件,并在文件uncrustify_objective_c.cfg配置将格式化所有文件。

如何更改格式的规则

编辑CodeFormatter / uncrustify_objective_c.cfg与开放的TextEdit



Answer 18:

斯威夫特- https://github.com/nicklockwood/SwiftFormat

它提供的Xcode扩展以及CLI选项。



Answer 19:

你可以看到,在这条道路改变任何快捷方式:Xcode中 - >首选项 - >键绑定。



Answer 20:

嗯,我正在寻找一个简单的方法。 并找出对媒体 。

首先复制JSON文本,并验证它jsonlint或类似的东西。 然后从jsonlint复制,已经是JSON被格式化。 和Xcode中代码粘贴与保存格式,快捷键Shift + 期权 + 指令 + V



文章来源: Xcode source automatic formatting