我创建了一个定制的Xcode编辑器扩展,如果某些条件未得到满足,它可能无法运行。Xcode不显示来自自定义编辑器扩展的错误文本
具体来说,这是一个Sort Lines命令,如果有多个选择,或者选择的行少于两行,它将拒绝运行。
我已经定义了符合错误的枚举来定义我也符合LocalizedError的错误。
enum CommandError: Error, LocalizedError
{
case notEnoughLines
case tooManySelections
public var errorDescription: String?
{
switch self
{
case .notEnoughLines: return NSLocalizedString("Not enough lines to sort", comment: "notEnoughLines")
case .tooManySelections: return NSLocalizedString("Too many selections", comment: "tooManySelections")
}
}
}
在我执行(附:completionHandler :)我称之为完成处理器与错误之一是适当的:
...
if invocation.buffer.selections.count > 1
{
completionHandler(CommandError.tooManySelections)
return
}
...
我期待在错误的文本(“太多的选择“)被显示。相反,错误显示为:
该操作无法完成。 (Ext01.SortLinesCommand.CommandError错误1)
上午我错误地这样做,或者这是XcodeKit或Xcode中的问题吗?
谢谢你。我会在下次启动Xcode时尝试它(目前正在处理其他内容)。 –