在 Xcode 中,假设我在 Swift 文件中有任意一段代码,例如:
static func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
return paths[0]
}
如果我像这样注释掉它:
/*
static func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
return paths[0]
}
*/
然后,如果我选择全部并使用(Mac 上的 ^ + I)重新缩进整个文件,那么它不仅会重新缩进“正常”周围的未注释代码,而且(也许可以理解)会重新缩进/* ... */ 中的“代码”看起来是这样的:
/*
static func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
return paths[0]
}
*/
这对于一小部分代码来说似乎没问题,但有时我喜欢暂时注释掉整个文件,只是为了在尝试替代方案时防止“重复声明...”错误...但我仍然希望注释的代码是可读(缩进为代码),因此可以用作参考。
那么,在 Xcode 中,有没有办法阻止重新缩进命令影响标有
/* ... */
的注释块内的代码?
我认为这在 Xcode 中是不可能的,但有一些解决方法。一种是使用另一种格式化程序,我在当前项目中使用 SwiftFormat,在针对这种情况进行测试时,我发现它不会以任何方式重新格式化注释代码,这样就可以工作了。
另一个仅适用于 Xcode 但需要一些额外步骤的解决方案是使用行注释和代码折叠。使用 ctrl-I 时,Xcode 不会重新格式化用 // 注释掉的代码。
因此,您可以通过单击代码左侧适当位置的代码折叠功能区来折叠相关代码,然后单击功能区或使用编辑器 -> 代码折叠下的命令之一,然后将光标放在折叠线的开始并使用注释选择,编辑器 -> 结构 -> 注释选择。
这可能看起来过于复杂,但如果正确使用键盘快捷键,它应该会更容易、更快