좋아, 생각보다 쉽습니다. 나는 다른 (거의 정확한) 방법으로 그것을 접근하고 있었다.
class func currentEditorView() -> (NSURL?, NSView?) {
let currentWindowController = NSApp.keyWindow?.windowController
guard currentWindowController!.className == "IDEWorkspaceWindowController" else { return (nil, nil) }
let filename = currentWindowController!.valueForKey("editorArea")!.valueForKey("lastActiveEditorContext")!.valueForKey("originalRequestedDocumentURL")
let editor = currentWindowController!.valueForKey("editorArea")!.valueForKey("lastActiveEditorContext")!.valueForKey("editor")!.valueForKey("textView")
return (filename as? NSURL, editor as? NSView)
}
이 나에게 NSURL로 파일 이름뿐만 아니라 개인 헤더 등의 필요없이 NSView의로 DVTSourceTextView을 모두 제공합니다. Spiffy.
편집중인 파일의 이름을 알 수있을뿐만 아니라 신속한 objc, c 또는 C++ 파일인지 확인할 수도 있습니다. 멋지다!
물론 Xcode 8에서는 이것이 모두 부적절한 것이됩니다. –