无法在Xcode中拖动(生成代码段)


80

当我按照所有说明(包括苹果的视频)来拖动文本以在xcode中创建代码段时,我得到了不同的系统行为:我看到的只是选择ibeam ...我无法拖动。最终只是再次选择文本。我想念一些明显的苹果主义吗?谢谢


在Xcode 8上有此问题,但Xcode 9可以工作
onmyway133

Answers:


147

是的,我遇到了同样的问题,Apple-ism似乎是解决此问题的好方法:)

它是这样工作的:

  • 选择(或突出显示)要转换为代码段的代码
  • 编辑:单击并按住(不要拖动!)一小段时间(例如2秒,有时8秒)在所选文本的任何部分上
  • 编辑:鼠标光标将更改图标(不在El Capitan上)。
  • 现在,您可以将代码拖到摘要库中,其中将显示绿色+图标。编辑:在El Capitan上没有出现绿色图标,但是代码段窗口的框架会变细。

3
遵循这些指示,我失败的次数多于成功的次数。我不明白如何拖放某些文字会如此困难。同样,用于创建代码段的用户界面也可以大大改善。这是管理代码段的一种极为尴尬的方式。
Erik B

1
如果使用触控板,则可以使用三指拖动手势(support.apple.com/zh-cn/HT204609)代替步骤2和3
flochtililoch 2015年

4
在具有运行10.11 El Capitan和7.2 Xcode的Force Touch触控板的Macbook上,选择文本,单击并按住然后将其拖动到片段库的解决方案有效,但是需要注意以下几点:您必须单击右侧的空白处选择中的文本,按住不放,光标将保持不变。我数到3,然后拖动。它非常可靠,尽管我忘了经常单击空白处;)
Dribbler

1
我的问题是我等待的时间不够长。而不是通常的2秒,而是要花8秒才能改变光标。
克里斯·加勒特

4
在xcode 8 / macos sierra中,激活需要10秒钟!光标从“工字梁”变为常规箭头光标。WTF,这肯定是Apple梦dream以求的最隐藏的UI交互。为什么不只制作一个“创建代码段”按钮,然后将代码粘贴到其中?
mpoisot

14

这也发生在我身上。给定的解决方案不起作用,但仍需要创建摘要。尽管不是最佳选择,但这是一种解决方法,它可以工作。

  1. 在Xcode中,选择代码段窗口,然后将其保持选中状态。
  2. 打开文本编辑器应用程序。
  3. 在Xcode中,选择并复制要用于创建代码段的代码。
  4. 将其粘贴到您的文本编辑器中,然后选择所有。
  5. 现在,通常将文本编辑器中的文本拖放到Xcode的代码片段窗口中。

如前所述,不是最好的选择,但它可以工作。

(对于Xcode 8.1,请注意)有时选择文本并保持单击鼠标键的时间为3..8秒,光标变为箭头,可以进行D&D。太糟糕了,它有时只能工作...


1
ML,如果您是Windows用户,尽管有您的评论,我还是怀疑问题仍然存在,因为上面的解释太少了。拖动技术要求我被告知是完美的常规操作,并且是预期的Mac拖放方法:(1)选择(突出显示)某些文本,然后2)在预期拖动的情况下单击它,则必须等待大约1/4秒,然后再实际移动鼠标拖动。我相信显示器会提供一些反馈提示。在Windows中,不依赖执行1/4秒的延迟。请报告。谢谢
杰克·贝利斯

1
杰克,我是Mac用户。可能存在Apple尚未修复的错误。某些用户(包括我)可以在系统中使用“拖放”而不会出现问题。但是,特别是在Xcode内部,可能会发生“拖放”不起作用的情况,甚至是“选择文本,等到光标变为箭头等”。因此,正如我所说,我相信这种解决方法不是最好的选择,但在修复此错误之前可以起作用。
MLBDG

使用第二个应用程序是对我有用的唯一方法。为什么没有按钮苹果?快捷方式可能是拖放操作,没有必要。
WCByrne '17

9

在High Sierra 10.13.3和XCode 9上,我遇到了相同的问题。对我来说有效的决定是在第一个符号之前的空白处选择代码,然后将其拖到片段库中。

重要提示:您只需要从空白处拖动即可(请看下面的屏幕截图)。否则,您将再次重新选择您的代码。

光标仅在您开始拖动时才发生变化,因此不要感到困惑,也不要等到它发生变化。

在此处输入图片说明


2

我在Mac OS X 10.11.2(El Capitan)上使用Xcode 7.2遇到了此问题。单击并按住所选内容,光标永远不会从工字梁更改为拖动箭头。

尽管MLBDG的答案是一个可用的解决方法,但我发现退出并重新启动Xcode可以解决此问题。这可能不适用于每个人,但是如果您遇到困难,则值得尝试。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.