Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: OS X Entwicklerforum. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Samstag, 17. März 2012, 22:59

Anpassung Xcode-Editor -> AppleScript?

Hi,

ich würde gerne das Verhalten vom Xcode-Editor ein wenig anpassen.
Zum Beispiel würde ich gerne das Blättern im Code (Page up, Page down) so erweitern, dass der Cursor auch "mitwandert".
Heisst die Lösung AppleScript?! Und wenn ja, kriegt man das in absehbarer Zeit hingefummelt oder muss ich erst 2 Jahre AppleScript studieren? (perl-Erfahrung vorhanden)
Wo finde ich Doku bezüglich des Zugriffs auf den Editor via AppleScript?
Warum gibt es nicht 100.000 Scripts zum Downloaden, die den Xcode-Editor erweitern? Benutzt den niemand?


Ich bin für jede Antwort - egal auf welche Frage - dankbar :D

2

Sonntag, 18. März 2012, 04:21

Mit AppleScriptkannst du nicht wirklich etwas erweitern, sondern lediglich bestimmte vorgänge automatisieren.

Beiträge: 9 886

Wohnort: Klüngelshausen

Beruf: 1,5

Hobbys: Maulaffen feilhalten, Starkstrom

  • Private Nachricht senden

3

Sonntag, 18. März 2012, 17:01

Wo finde ich Doku bezüglich des Zugriffs auf den Editor via AppleScript?

Die verfügbaren Anweisungen zweigt Dir der AppleScript-Editor an, wenn Du unter Ablage | Funktionsverzeichnis öffnen... die Applikation auswählst. Damit bekommst Du wahrscheinlich die Positionierung des Cursors hin. Allerdings geht das Abfangen von Ereignissen (Scrollen) meines Wissens nicht (so einfach) damit.
„Meine Komplikation hatte eine Komplikation.“

Apps programmieren für iPhone und iPad

4

Montag, 19. März 2012, 18:23

Die verfügbaren Anweisungen zweigt Dir der AppleScript-Editor an, wenn Du unter Ablage | Funktionsverzeichnis öffnen... die Applikation auswählst. Damit bekommst Du wahrscheinlich die Positionierung des Cursors hin. Allerdings geht das Abfangen von Ereignissen (Scrollen) meines Wissens nicht (so einfach) damit.
Der Hinweis mit dem AppleScript-Editor hat mich weitergebracht, danke, wenn auch leider nicht zum Erfolg. ;(
Ich habe es geschafft via AppleScript den Inhalt der Datei zu lesen und zu schreiben, die gerade im Editor angezeigt wird. Ebenso kann ich die Cursor-Position und den gerade selektierten Bereich bestimmen. Damit lässt sich schon einiges anfangen. Aber bei dem Versuch die Cursor-Position zu manipulieren, stosse ich nur auf die Meldung "Xcode got an error: setter not yet implemented". Dokumentation zu dem ganzen Thema ist auch eher dürftig (also zumindest habe ich nix gefunden, aber auch gaaaar nix).
Da scheint sich auch einiges geändert zu haben, da die Xcode3.x Scripte, die ich im Internet gefunden habe, auch nur Fehlermeldungen auswerfen.
Egal, denn ich habe derweil einen Xcode4-Keyboard-Shortcut entdeckt: Option-PageDown (Option-PageUp) scrollt eine Seite vor (zurück) und nimmt den Cursor mit! :D

5

Montag, 19. März 2012, 20:59

das ist ein osx verhalten (also ob der curser mitwandert) was du aber wenn du möchtest in den keymap plists (global) ändern kannst es gibt da auch eine recht ausfürliche beschreibung dafür im netz - allein ich weiss nicht mehr aus dem kopf die seite - wenn ich von arbeit heim komm werd ich mal suchen...
snafu
:() { :|: &};:
sometimes i dream in hex
Obey gravity! Because its a law!

Beiträge: 9 886

Wohnort: Klüngelshausen

Beruf: 1,5

Hobbys: Maulaffen feilhalten, Starkstrom

  • Private Nachricht senden

6

Montag, 19. März 2012, 21:18

Aber bei dem Versuch die Cursor-Position zu manipulieren, stosse ich nur auf die Meldung "Xcode got an error: setter not yet implemented".

Versuch es mal über die Selektion, in dem Du den Start auf die gewünschte Position und die Länge auf 0 setzt.

Dokumentation zu dem ganzen Thema ist auch eher dürftig (also zumindest habe ich nix gefunden, aber auch gaaaar nix).

Das ist das größte AppleScript-Manko. :(
„Meine Komplikation hatte eine Komplikation.“

Apps programmieren für iPhone und iPad

7

Montag, 19. März 2012, 22:04

ah ich denk ich habs gefunden

du kannst dir ein eigenes keybinding file einrichten in dem du in cocoa apps bzw apps die das cocoa text system benutzen eigene keybindings zuweist

das heißt du kannst dann den "pageup" und "pagedown" entsprechend mit der funktion versehen die die selection mit zieht

bindings doku

dort steht auch wie du das für den benutzer einzeln anpassen kannst

imho ist der standard in cocoa für pagedown/pageup arrow die selectoren scrollPageUp: und scrollPageDown: und du willst imho nur pageUp: und pageDown:

PS:

schau dir am besten mal das file /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict an da siehst du was cocoa alles versteht.
snafu
:() { :|: &};:
sometimes i dream in hex
Obey gravity! Because its a law!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »chartus« (19. März 2012, 22:10)


8

Montag, 19. März 2012, 23:17

Versuch es mal über die Selektion, in dem Du den Start auf die gewünschte Position und die Länge auf 0 setzt.
==> setter not yet implemented

Das ist das größte AppleScript-Manko.
Also, da scheint es aber noch mehr Mankos zu geben. Den "Lust auf mehr"-Effekt von anderen Skript-Sprachen hatte ich jedenfalls so spontan jetzt nicht. :sick:

9

Montag, 19. März 2012, 23:23

PS:

schau dir am besten mal das file /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict an da siehst du was cocoa alles versteht.
Cooler Tipp, danke! :thumbup:

10

Dienstag, 20. März 2012, 21:48

ich häng das mal noch dran: das ist zb eine userpsezifisches DefaultKeyBinding.dict

das sorgt für linux gewohnte menschen für ein wenige mehr heimlichkeit am Mac - das hab ich mal für einen bekannten gefrickelt (hab das file jetzt wiedergefunden)

Quellcode

1
2
3
4
5
6
7
8
9
10
{
	"\Uf729" = "moveToBeginningOfLine:";
	"^\Uf729" = "moveToBeginningOfDocument:";
	"$\Uf729" = "moveToBeginningOfLineAndModifySelection:";
	"\Uf72b" = "moveToEndOfLine:";
	"^\Uf72b" = "moveToEndOfDocument:";
	"$\Uf72b" = "moveToEndOfLineAndModifySelection:";
	"\Uf72c" = "pageUp:";
	"\Uf72d" = "pageDown:";
}
snafu
:() { :|: &};:
sometimes i dream in hex
Obey gravity! Because its a law!

Verwendete Tags

behavior, editor, scripting, Xcode

Social Bookmarks