2016-08-24 2 views
0

Xcode 7에 대한 플러그인을 작성하고 있습니다. DVTSourceTextView가 있으며 잘 처리 할 수 ​​있습니다. 내가 찾고자하는 것들 중 하나는 이것과 관련된 파일입니다. 불행히도, DVTSourceTextView는 그 정보를 제공하는 것처럼 보이지 않습니다. 그렇지 않으면 볼 수없는 방식으로 묻혀 있습니다.DVTSourceTextView에서 파일 URL을 확인하는 방법

나는 그것이 다소 사소한 것이라고 확신하지만, 나는 단지 뭔가를 놓치고 있습니다.

답변

0

좋아, 생각보다 쉽습니다. 나는 다른 (거의 정확한) 방법으로 그것을 접근하고 있었다.

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++ 파일인지 확인할 수도 있습니다. 멋지다!

+0

물론 Xcode 8에서는 이것이 모두 부적절한 것이됩니다. –