我如何使用Xcode以在Visual Studio中的方式折叠Swift中的注释块?

时间:2015-09-14 20:22:20

标签: xcode swift

编辑:这似乎只是在将Xcode与Swift 结合使用时才会出现的错误。在Objective-C中它似乎工作正常。我发出了一份错误报告,并将发布苹果新闻。

在Visual Studio中编写C ++一段时间之后,我开始在Xcode中编写 Swift 2

但是我无法找到一种正确的方式来获取评论,就像我在Visual Studio中一样。

有时候我只想评论事情并且不想再看到 直到我决定所以我有自由空间思考问题的新方法。通过这种方式,我不会分心,更容易找到更好的解决方案。如果我找不到更合适的解决方案,我仍然可以在几秒钟内使用“备份”。

我如何在Xcode6和Xcode7 Beta中实现这一点 - 我在Visual Studio中完成了这项工作?

以下是一些截图,说明了我在Visual Studio 2015中的评论方式:

visual studio

这是通过减号按钮折叠的同一条评论栏。

folded

我只想要这些使用一行代码的小片段,并且可以轻松打开和取消注释。

我还没有找到解决这个问题的方法。我只发现了一些似乎适用于Xcode的较旧 版本不再的方法。请你在发布之前在最新版本的Xcode中查看它们,因为我已经有了一些显然不再有效的方法。

  import UIKit
    import Parse

    class ViewController: UIViewController {

        override func viewDidLoad() {
            super.viewDidLoad()

            let query = PFQuery(className:"GameScore")
            query.getObjectInBackgroundWithId("AS462DS9PO") {

                (gameScore: PFObject?, error: NSError?) -> Void in

                if error == nil && gameScore != nil {
                    //                print(gameScore)
                    let score = gameScore!.objectForKey("score")! as! Int
                    let playerName = gameScore!.objectForKey("playerName")! as! String
                    let cheatMode = gameScore!.objectForKey("cheatMode")! as! Bool
                    let objectId = gameScore?.objectId
                    let updatedAt = gameScore?.updatedAt
                    let createdAt = gameScore?.createdAt
                    let test = gameScore?.objectForKey("test")

                    print(test)

                    /* if let objectId = gameScore!.objectId {
                        print(gameScore!.objectId!)
                    }else {
                        print("Object ID couldn't be fetched!")
                    }

                    if let updatedAt = gameScore!.updatedAt{
                        print(gameScore!.updatedAt!)
                    }else {
                        print("Update at time couldn't be fetched!")
                    }

                    if let createdAt = gameScore!.createdAt {
                        print(gameScore!.createdAt!)
                    }else {
                        print("Creation time couldn't be fetched!")
                    }

                    */

                    print(score, playerName, cheatMode, objectId, updatedAt, createdAt)
                } else {
                    print(error)
                }
            }
    }

我制作了一个显示问题的视频:https://www.dropbox.com/s/oawx2alyq24yw5p/Xcode.mp4?dl=0

6 个答案:

答案 0 :(得分:6)

Swift和Objective-C中的注释折叠在Xcode 9中工作,方法是单击注释,然后按命令 + 选项 + ←< / KBD>

enter image description here

对于早期的Xcode版本,请参阅下面的原始答案。

在Xcode 9之前的Xcode版本中,评论折叠不适用于Swift,而只适用于Objective-C。 (并且原始问题没有指定语言。)并且为了在Xcode 8及更早版本中使用Objective-C,您需要打开“首选项”中“文本编辑”下的代码折叠选项:

enter image description here

(在Xcode 9中,始终启用代码折叠,此选项不会出现在“首选项”中。)

然后你可以通过按命令 + 选项 + 来折叠Objective-C注释(或者在9之前的Xcode版本中,你可以点击左边距的折叠区域:

enter image description here

答案 1 :(得分:5)

目前(从Xcode 7.2开始),您无法折叠Swift源文件。

要折叠Objective-C注释,您需要使用具有开头和结尾的注释样式,如下所示:

/* Start comment
End comment */

然后,在评论开始的行上,将光标悬停在行号旁边的小栏上,然后单击箭头将其折叠。再次单击箭头展开它。

答案 2 :(得分:2)

在Swift中我以这种方式解决了这个问题:

  1. 偏好设置 - &gt;文字编辑 - &gt;代码折叠色带:检查
  2. 使用/*..*/
  3. 评论部分代码
  4. 在大括号{/*..*/}
  5. 中添加注释的代码块
  6. 将代码折叠成大括号。它适用于Swift。
  7. 评论此折叠的代码:/*{..}*/
  8. 非常奇怪的解决方案但有时会有所帮助。

答案 3 :(得分:1)

只需将鼠标悬停在阻止评论开头的装订线边缘,然后点击出现的小箭头图标。

enter image description here

同时按 Shift + + Ctrl + 将隐藏所有评论并 Shift < / kbd> + + Ctrl + 将显示。

答案 4 :(得分:0)

我已经通过他们的Bug Reporter向Apple报告了此情况。他们告诉我这是一个已知的问题(实际上是问题16188787的副本 - 截至本文时仍然开放)。

您可以在下面看到他们的回复;

  

Apple Developer Relations(05-May-2016 07:33 AM)

     

工程已确定您的错误报告是重复的   另一个问题,将被关闭。

     

您的问题是原始错误报告的打开或关闭状态   重复显示在黄色&#34;重复的XXXXXXXX&#34;部分   bug报告用户界面。此部分显示在顶部附近   错误编号,标题下正确列的错误详细信息视图,   国家,产品和等级。

     

如果您有任何问题或疑虑,请更新您的报告   直接在这里:http://bugreport.apple.com/

答案 5 :(得分:0)

我做了总结,对我有用。它已经很晚了,但良好的流程有助于编写好的代码。仅适用于swift 3-4

如果您想在实际代码之前首先编写伪代码,可以将所有内容写入注释块

/* 
first, use http request
in the callback, do 
a.
b.
c.
*/

然后因为你可能会重写,但逻辑大致相同,所以你可能不想删除评论,这很好,但要确保它们不会阻止你的视图,命令+选项+←。 (看起来这是折叠它们的默认方式。) 然后折叠它们时,它看起来像这样:/*...

如果您不喜欢xcode提供的关键组合,您可以定义快捷方式。
要定义快捷方式,请转到Xcode =&gt;偏好=&gt;键绑定=&gt; 弃用评论栏

在我的情况下,我使用alt⇧ctrl{alt⇧ctrl}

然后无论如何定义它,但要小心冲突。

折叠伪代码评论真的很值得