有没有一种代码折叠属性的方法,就像 Xcode 中的函数一样?

Is there a way of code folding the properties just like functions in Xcode?

我喜欢使用 option + command + right or left 键绑定来处理代码折叠。乍一看,它在我看来更具可读性,尤其是长 classes.

让我用一个例子来解释,假设我们有一个 class:

func someFunction(input: String) -> Bool {
    // if you click command option left arrow , case 1 
    ...
}

func someFunction(input: String) -> Bool {} // it is being like this, case 2. Perfect.

//MARK - Properties
var x: String = "a"
var y: Int = 3
var z: Double = 3.0 // the property list could be longer,

properties: 我想看到这样的东西,至少在一行但找不到办法

这对于方法或 class 来说没问题,因为它们具有 {},但是属性呢?有没有办法以相同的方式或巧妙的方式折叠它们? (但我也不想影响我的代码性能。)

恐怕你能做的最好的事情就是将属性移到另一种类型(即结构)中。您可以将该结构定义保存在另一个文件中,或者,如果它在此文件中,您可以折叠 that:

假设有 100 个属性;它们都在 Props 结构中,可以在另一个文件中声明,或者如屏幕截图所示,通过折叠隐藏。

使一系列属性可折叠听起来像是一个合理的增强请求,但我怀疑它是否真的会发生;我从来没有见过 IDE 这样做(虽然我出门不多,所以谁知道呢,也许这样的事情存在)。

从 Xcode 12 开始,无法执行此操作。 Editor > Fold Methods & Functions (⇧ ⌥ ⌘ ←) 不会折叠属性。

您最好将光标放在每个展开的 属性 上,然后选择 Editor > Code Folding > Fold (⌥ ⌘ ←)。

我猜想 Apple 是在强烈建议开发人员谨慎使用属性吗?荒谬的是,这不是一个选择。