Xcode 插件优缺点对照(推荐 20 款插件)
作者:董铂然 授权本站转载。
本文大致整理了自己用过的一些插件的使用感想(就是好不好用)。
在那之前先简单贴两条插件须知。知道的能够忽略。
1、Alcatraz
类似于管理第三方库的cocoapods,管理插件也有个Alcatraz。
安装的方法也非常easy,假设你曾经没有安装过那运行以下指令
curl -fsSL https://raw.github.com/alcatraz/Alcatraz/master/Scripts/install.sh | sh
假设之前安装过可是Xcode最新版本号不能用了。那就先卸载旧的再安装下新的。
卸载的方法是:
rm -rf ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin rm -rf ~/Library/Application Support/Alcatraz/
注:或许并非全部人都使用了Alcatraz,而是平时都喜欢上github下载一个跑一下 然后load Bundle这样的方法的。 假设之前安装了非常多插件,如今刚刚使用Alcatraz的也没问题,安装Alcatraz之后之前安装的也会自己主动集成进来不用操心。
还有就算你使用了这个工具xcode也是须要重新启动才干应用插件的并不能把这一步给省了。
2、更新插件
无论你是用直接download zip的方法安装插件的还是用Alcatraz安装的插件假设插件本身没有最新xcode的支持。那在你的Xcode更新一个版本号后,Xcode插件就会失效了。 这个问题就是没有把最新版本号xcode的DVTPlugInCompatibilityUUID配到插件的支持列表中。
先获取。终端中输入
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
然后依照例如以下文件夹~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
找到插件列表。选中相应的插件显示包内容。并打开info.plist文件 在这个数组中加入最新的UUID就可以
也有更犀利的做法就是:
find ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add UUID
最后面的UUID是前面获取到的。
推荐插件
以下进入正题,说说我喜欢用的插件,基本算是一个使用心得吧。 全都附上了连接。没贴动图以免太乱,基本连接的github中都有效果图。
1.VVDocumenter-Xcode 三道杠加入文档凝视
https://github.com/onevcat/VVDocumenter-Xcode
全部插件里这个是我最早使用的也应该是排第一的。
使用也很方便可是用久了或许会发现自己主动生成的凝视是每个參数和返回值都会弹出一个块,而我们日常开发中大部分的參数和返回值都是一眼见分晓的,并不须要逐个标注,这也就使得我每次敲三道杠都还要手动删除一部分。比較麻烦。
假设作者能提供下一种是现有的,还有一种敲法是仅仅有Description的那我会很方便。 或者有个更烧脑的猜想,就是在现有基础上推断參数是否是基本数据类型还是特殊类型。特殊类型的參数才生成凝视代码块。返回值假设是instancetype那就不须要生成凝视代码块。或者推断參数名假设是一个经常使用单词(time)还是组合词(categoryID),经常使用单词就不生成凝视了或许会更好。或许是我想多了。反正这个插件是必用的,更何况如今连swift都支持了。
2. SCXcodeMiniMap 右边显示小地图
https://github.com/stefanceriu/SCXcodeMiniMap
这是类似于sublime的功能,这是非常好用的。
并且右边的代码迷你地图提供了非常多可配置的地方,并且会高亮显示宏和凝视部分,小地图中点击不论什么地方也会自己主动滚动至此。这在有的类代码特别长时你写着写着都不知道自己在哪里了 会非常实用。(假设你经经常使用 pragma mark那你当我没说)
3.FuzzyAutocomplete 代码补全支持模糊查询
https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin
代码补全时能够不用从头開始敲,仅仅要记得某个特定词汇就能匹配到。
而且对于项目中有好几种前缀的比方我们曾经有的事MT前缀有的是MTB前缀,这样的就算你前缀敲漏了仅仅要后面对了也能匹配的到。
当然也有弊端就是你敲一个非常普通的方法以下都会匹配一大长串,看着有点冗余而且xcode会比較卡。而且敲出来是好好地假设你想用delete一个个字符往回删就可能会出现xcode,crash了(或许是和其它某个插件产生了冲突。我错怪他了)。
用不用看个人喜好吧,由于苹果有非常多诡异的api,比方Rect 他是CGRectMake 。可是到了Range 他又是NSMakeRange 用了这个插件就不会被他坑了。
4.KSImageNamed 用图片时自己主动显示图片缩略图
https://github.com/ksuther/KSImageNamed-Xcode
也是很残暴的一个功能,在开发中我们的图片名称都是fb_poinum_high类似的,用这个插件敲出前缀就行看到相应的一批图片缩略图再上下选择很方便。 不足之处也有。那就是已经敲完的代码想看到图片缩略图必须先把imageNamed删掉 再又一次敲一次才干看到缩略图。假设在@"fb_poinum_high" 图片名中一改动就能看到图片列表就更好了。
5.HOStringSense 能够在弹出框写NSString,所见及所得
https://github.com/holtwick/HOStringSense-for-Xcode
之前有几次需求要写换行的msg,有时候对不准。用这个插件非常方便。
在弹出框里写完就是所见即所得。
并且光标点到字符串的时候还会显示字符串的长度。这个功能我也非经常常使用。
6.GitDiff 简单直观的标记本次commit改动的部位
https://github.com/johnno1962/GitDiff
这个插件在企业级App的开发中,使用率非常高,效果非常好。
坐标文件列表中的M,D,A,A+,? 能够非常快的显示你有哪些文件改动了。 可是精确到文件中 这个插件就能非常好的展示。默认是新增的位置显示绿色。改动的位置显示红色。 当然这些也都是可配置的。
(尽管xcode或终端也有非常多方法能对照看diff可是没有这样简单直观)
7.xvim 把xcode的编辑页面可支持vim操作
https://github.com/JugglerShu/XVim
引入这个插件之后。在xcode的正常代码页面的光标就会变成vim里面的方块了,熟悉vim指令的骨灰级攻城狮应该特别喜欢这款插件。dd直接删除一行。dw删一个单词 用着的确是很爽。 用了一段时间发现事实上对xcode的、原始的编码方式修改(这里也能够说是侵入性)并不大。由于按下s就是编辑啊 就和xcode原来一样了不论什么功能都不少,按下esc又切换到vim很犀利。
总之是特别好用,并且看github点星也有3000+吧,并且不断有人提issue,如今已经很完好了。
8.XAlign 提供各种自己主动对齐方案
https://github.com/qfish/XAlign
这个插件实现了非常多种自己主动对齐的功能。非常残暴。支持“=” “@” 和property 的自己主动对齐。 安装之后就赶紧把项目全部牵扯到的地方都用快捷键敲一下吧。
说意见的话就是临时还不支持大括号和缩进自己主动对齐。
9. BBUDebuggerTuckAway 写程序时debug视图自己主动隐藏
https://github.com/neonichu/BBUDebuggerTuckAway
提供微操的插件。功能简单,可是很有用。写程序敲快了的人,或者是在改Bug时。RUN一下再调试几行这样的操作是会循环多次进行的。
这个时候就会了解到这么不起眼的功能带来了多大的惊喜。
10.Backlight-for-XCode 高亮显示正在编辑的行
https://github.com/limejelly/Backlight-for-XCode
也是一个微操的插件。功能简单。就是你正在编辑的这行代码高亮显示。而且这个颜色和显示方案都是可配置的。这个插件有两个非常大的优点一是在滚轮上下寻找代码时有一个方向指引知道自己正在编辑的方法在什么位置。二是有的一行代码非常长折行成了两三行可是实际上还是一行代码,那这一坨都会高亮显示。
不足之处就是作者可能没有设定好默认值,你刚安装后发现没有效果。要去菜单把功能打开才有效果而且坐着设置的默认高亮色是白色 =。=
11. cocoapods-xcode-plugin pod相关的操作能够在xcode菜单进行
https://github.com/kattrali/cocoapods-xcode-plugin
一般App在pod稳定了之后应该会非常少改动。可是这个库提供的功能也是极好的。能够实现pod install,新建/改动 podfile,新建/改动 podspec文件。
用习惯了终端iterm的人可能不太适应,习惯用source tree的人可能会认为这个插件非常爽~
12.ColorSense 输入颜色时有一个色板给你选
https://github.com/omz/ColorSense-for-Xcode
在使用colorWithRGB的时候。能够点出一个颜色选择框直接选择颜色,可是这个功能在使用了Wonderful或是企业级App里用处不大,由于是个项目都有视觉规范。应该都写成一个特定的宏了,就算没有视觉规范,那好歹也有个RGB(r,g,b,a) 这样的宏吧。 [UIColor colorWithRed:233/255.0 Green:213/255.0 Blue:12/255.0 alpha] 这样的代码还是非常不美观的。
假设是測试demo之类的用这个插件能够。
13.SCXcodeSwitchExpander switch枚举的时候会自己主动生成代码
https://github.com/stefanceriu/SCXcodeSwitchExpander
假设你的项目中有使用枚举会很方便,自己主动生成了全部可能,而且每种里面都包括代码块,能够直接tab切换。 尽管使用率不会特别高可是用到的时候还是很方便的。曾经偷懒时我都写case:1 case:2 如今能够走向规范了。
14.DerivedData Exterminator 一键删除Derived Data
https://github.com/kattrali/deriveddata-exterminator
使用此插件之后,view菜单里多了一些操作,能够一键删除Derived Data。
有时候在调试,启动图,launch screen,navgationBar appearance。之类的功能可能须要常常删derived data来调试。
曾经的方案应该是须要打开xcode偏好 locations 里面去删除,如今方便了不少。 不足之处就是删除这个项目的Derived Data 和删除All Derived Data 直接放在一起。手一滑就点错了。有的人电脑性能慢,项目大你一下把别的项目的Derived Data也删了 以后又一次Build一下就太慢了。还有记得曾经有小工具就是可以把正在执行的project的主文件夹在find中显示,用来调试数据缓存的。这个库假设集成了这个功能就更好了。
15.XcodeColors 控制台打印彩色log
https://github.com/robbiehanson/XcodeColors
有的人会说彩色log 能够用DDLog啊,这个插件和DDLog是能够共同作用的, 也能够仅仅用这个插件。
至少我用这个插件还是认为挺好用的。自己定义一个宏就能够在适当的敌地方彩色答应了 比較轻量级。
不足之处也有,就是假设你项目中写了非常多这种代码,可是假设用别人没有装这个插件的xcode来跑 那就没有效果了啊。只是也无妨顶多就是调试栏不显示颜色罢了。
16.OMQuickHelp option+点击会直接用dash打开
https://github.com/omz/Dash-Plugin-for-Xcode
dash是一个很强大的查看api和文档的工具。在这个里面能下载和看到各个平台的文档。
普通的option+点击会弹出一个小悬浮窗显示api相关信息。假设用了这个插件会直接在dash中打开相应的文档,前提是dash中已经下载过xcode相应的文档,再前提是你得安装了dash。
dash在苹果商店是卖几十块钱的,并且中国区域也搜不到dash。这里提供一个dash破解版的下载地址:http://share.weiyun.com/6fe485efbd9fc160dbc815639b65085b (password:xzGP)
(你要是问我为什么不用百度云? 我想说百度云呵呵)
17.DXXcodeConsoleUnicodePlugin debug栏打印时自己主动把/ueo6转化成汉字
https://github.com/dhcdht/DXXcodeConsoleUnicodePlugin
在我们前后端联调接口的时候。一般都是url贴到浏览器json数据到了chrome自己主动转化(前提是你安装了jsonformater插件)。
可是有时候比方POST请求结果不能在浏览器中看到,仅仅能在debug中打断点了打印了假设遇到 msg:/ue06/ud07/ug08 这样的会非常蛋疼。这个插件安装后就是能让你在debug的console里面把这些uinicode转化成汉字显示。 这里说到了console的优化 我也顺便提个小技巧就是让console里能够po出 id类型的信息(正常情况你po id类型的对象会显示error)在终端依次输入以下三行指令
touch ~/.lldbinit echo display @import UIKit >> ~/.lldbinit echo target stop-hook add -o "target stop-hook disable" >> ~/.lldbinit
18.XToDo 快捷键标记,和统一查看
https://github.com/trawor/XToDo
之前设置TODO 和标记某处???
我都是手敲一个特定的符号,然后找的时候再去全文搜索。
有了这个插件,能够用快捷键加入TODO 和 FIXME (额这里假设用代码块也是能够同样实现的)。然后提供了TODOList 高速查看自己各处的标记。等于是省去了一个搜索的步骤。 可是不足就是。ToDoList的对话框是一个悬浮的而不是像上面的SCXcodeMiniMap或是GitDiff那样是嵌入在xcode里面的,这样在来回点的时候xcode的焦点和对话框的焦点会来回切换。尽管你是置顶的但还是比較影响体验。我用搜索的话就不用来回切焦点了。 可是这个插件本身还是非常不错的。
19.XActivatePowerMode 写程序时屏幕抖动火花迸溅效果
https://github.com/qfish/XActivatePowerMode
这是装逼插件。模仿sublime的一款 写程序火花迸溅效果的插件。或许有的人认为仅仅有火花不须要有抖动,当然这些效果都能够在菜单里打开和关闭。可是有问题就是,这个插件和上面的FuzzyAutocomplete共同作用时。会非常卡,直接xcodecrash。所以慎入。
20.ActivatePowerMode 写程序时屏幕抖动火花迸溅效果
https://github.com/poboke/ActivatePowerMode
功能和上面的相似并且更狠,还带响声。可是让xcode变卡的问题相同存在。 并且这个插件比上面高端之处在于迸溅的火花的颜色和编辑位置的代码颜色相同。作者找到了配色方案返回颜色的私有api得到代码颜色。 迸溅效果更接近sublime上的效果。
有人由于又用机械键盘 又带响导致手被剁了。所以这个也慎入。
事实上另一些插件也非常火。比方codepilot3相当于xcode中的Aifred可是升级xcode7之后就不能使用了,或许是按键冲突还是什么。他们官网就是无脑CMD+Shift+x打开搜索框。可是假设按下无效呢?也没有个菜单让这个快捷键可以设置。看代码库也的确是非常久没更新了; 还有插件能让你的xcode直接跳到github显示代码对照这些,感觉并没有必要啊,并且有时候github打开非常慢,非常没有连贯性啊; 还有插件可以你在.m写完方法的实现之后自己主动给你在.h文件生成方法声明,也是认为画蛇添足 这些等等可能是我个人用起来不爽这里就都不提了。
还有插件不建议装的太多,认为从上面挑些自己实用的装5~8个就可以。多了xcode会非常卡。并且会常常crash。假设真的遇到xcode常常crash的问题也没事不用操心,把那个插件文件夹下的插件所有清除,无需重装xcode也是能够恢复正常的。