2009-06-16 6 views
8

Ich benutze Emacs auf meinem Mac, um in Xcode zu programmieren. Es funktioniert in den meisten Fällen sehr gut. Ich doppelklicke auf eine Datei in xcode, und es wird in einem vorhandenen Emacs-Fenster angezeigt. Ich kompiliere und erhalte Syntaxfehler, doppelklicke und sie erscheinen im aktiven Emacs-Fenster. groß.Emacs im Gespräch mit XCode

Dies ist alles XCode im Gespräch mit Emacs. Kennt jemand eine Möglichkeit, Emacs mit XCode zu sprechen? Zum Beispiel möchte ich einen Haltepunkt in Emacs setzen können und die XCode-Version von gdb bestätigen lassen.

Antwort

8

Sie können AppleScript verwenden, um Haltepunkte in XCode innerhalb von Emacs festzulegen, indem Sie das AppleScript in elisp einbetten.

This page contains the code you need. Es ist auf Koreanisch, aber es gibt eigentlich nicht viel Koreanisch zu verstehen. Der erste Codeblock ist nur ein direktes AppleScript-Beispiel, das zum Entwickeln des Haltepunktcodes verwendet wurde. Der zweite Block ist der gewünschte. Es bettet das erste Beispiel in einen elisp-Ausschnitt ein, den Sie Ihrer .emacs-Datei hinzufügen können.

Andere Kommunikation kann mit dem gleichen Trick erfolgen. Finden Sie heraus, wie Sie in AppleScript das machen können, was Sie wollen, und betten Sie dann dieses AppleScript in elisp in Emacs ein.

BTW, here is the documentation for do-applescript, die auf dem Mac verfügbare Lisp-Funktion, mit der Sie AppleScript aufrufen können.

+0

Ok, die Zeile "Diese Seite enthält den Code, den Sie brauchen. Es ist auf Koreanisch, aber .." ist wahrscheinlich die seltsamste hilfreiche Zeile, die ich je gesehen habe B-), aber es funktioniert super. Vielen Dank! –

+0

Gut zu helfen. Normalerweise poste ich keine Links zu koreanischen Seiten, aber in diesem Fall passte es einfach zu Ihrer Frage. ;) – Naaff

+0

@BrianPostow der Link ist tot, können Sie den Code, den Sie in Ihrer Frage verwendet haben, einfügen? Vielen Dank! – Nisba

-1

Klingt wie ein Job für ein neues Plugin!

+0

Dies ist nicht wirklich eine Antwort ... hättest du das nicht als Kommentar zu der Frage gepostet? –