我是一个完整的 Xcode/Objective-C/Cocoa 新手,但我学得很快,并且真正开始享受掌握新语言、平台和范例的乐趣。
但有一件事是,我已经用 R# 使用 Visual Studio 这么久了,我有点被重构和完成等编码工具宠坏了,据我所知,Xcode 内置了一些相当有限的东西支持这个东西。
关于这一点,有没有人知道是否有任何插件或任何可用于 Xcode 环境的插件或任何可用于添加编码助手的插件,例如从类接口(interface)定义自动生成实现框架等?
我怀疑没有,但我想这无济于事。
最佳答案
您听起来好像在寻找三个主要的东西:代码模板、重构工具和自动完成。
好消息是 Xcode 3 及更高版本具有出色的自动完成和模板支持。默认情况下,您必须通过点击转义键来明确请求完成。 (这实际上适用于所有 NSTextView;试试吧!)如果你想让补全自动出现,你可以去 Preferences -> Code Sense 并将弹出窗口设置为几秒钟后自动出现。您应该找到 C 和 Objective-C 代码的良好补全,以及 C++ 相当好的补全。
Xcode 还有一个可靠的模板/骨架系统供您使用。您可以通过编辑 -> 插入文本宏来查看默认可用的模板。当然,您不想用鼠标插入文本宏;这违背了这一点。相反,您有两种选择:
使用 CompletionPrefix。默认情况下,几乎所有的模板都有一个特殊的前缀,如果您键入然后按转义键,将导致模板被插入。您可以使用 Control-/在完成字段之间移动。
你可以看到a full list of Xcode's default macros and their associated CompletionPrefixes在 Crooked Spin .
您还可以添加自己的宏,或修改默认值。为此,请编辑文件 /Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro。如果不是非常友好,语法应该是不言自明的。
不幸的是,如果您沉迷于 R#,您会对您的重构选项感到失望。通过上下文菜单或按 Shift-Apple-J 在 Xcode 中提供基本重构。从那里,您可以提取和重命名方法,通过类层次结构提升和降级它们,以及一些其他常见操作。不幸的是,Xcode 和任何第三方实用程序都没有提供任何接近 Resharper 的东西,所以在这方面,你目前不走运。值得庆幸的是,Apple 已经在工作中展示了 Xcode 版本,它们极大地改进了重构功能,因此希望您不必等待太久,情况就会开始好转。
关于objective-c - Xcode 的任何 ReSharper 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420/
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象
我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
我试图在索引页中创建一个超链接,但它没有显示,也没有给出任何错误。这是我的index.html.erb代码。ListingarticlesTitleTextssss我检查了我的路线,我认为它们也没有问题。PrefixVerbURIPatternController#Actionwelcome_indexGET/welcome/index(.:format)welcome#indexarticlesGET/articles(.:format)articles#indexPOST/articles(.:format)articles#createnew_articleGET/article
我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_
我正在尝试为我的iOS应用程序设置cocoapods但是当我执行命令时:sudogemupdate--system我收到错误消息:当前已安装最新版本。中止。当我进入cocoapods的下一步时:sudogeminstallcocoapods我在MacOS10.8.5上遇到错误:ERROR:Errorinstallingcocoapods:cocoapods-trunkrequiresRubyversion>=2.0.0.我在MacOS10.9.4上尝试了同样的操作,但出现错误:ERROR:Couldnotfindavalidgem'cocoapods'(>=0),hereiswhy:U
在Ruby(尤其是Rails)中,您经常需要检查某物是否存在,然后对其执行操作,例如:if@objects.any?puts"Wehavetheseobjects:"@objects.each{|o|puts"hello:#{o}"end这是最短的,一切都很好,但是如果你有@objects.some_association.something.hit_database.process而不是@objects呢?我将不得不在if表达式中重复两次,如果我不知道实现细节并且方法调用很昂贵怎么办?显而易见的选择是创建一个变量,然后测试它,然后处理它,但是你必须想出一个变量名(呃),它也会在内存中