2011-11-12 13 views
13

Mi piace molto "Linee di ordinamento in selezione" di Textmate. C'è qualcosa di simile per Xcode 4? In caso contrario, quale sarebbe il modo migliore per integrare tale funzionalità (un plugin, Applescript, ...)?"Ordina righe in selezione" per Xcode 4

risposta

38

È possibile farlo con Automator in Lion.

  • Inizio Automator e selezionare "Service"
  • Trova e trascinare "Esegui script shell" nel pannello del flusso di lavoro
  • Selezionare "Output sostituisce il testo selezionato"
  • Tipo sort -f nella "Esegui script shell" textfield
  • Salva

ora è possibile ordinare le linee in qualsiasi campo di testo. Seleziona un testo e fai clic con il pulsante destro del mouse o fai clic su Controllo e seleziona il servizio appena creato.

enter image description here

+2

Uberawesome :-) Questa è una soluzione davvero interessante! Grazie! –

+2

Grazie per questo. Funziona bene come un servizio in Xcode. Ma ho aggiunto l'opzione di spazio vuoto che ignora (sort -fb) e ho ottenuto risultati migliori. – markhunte

+2

Questo è genio. – Joe

1

Come

In TextMate, aprire il pacchetto e vedere come hanno implementato;)

In particolare, essi hanno utilizzato sort -f per quel comando.

In Xcode

XC4 non offre comandi esterni, ma xc3 fatto ... quale versione stai usando?

Ecco una panoramica per il sistema di script di xc3: http://www.mactech.com/articles/mactech/Vol.23/23.01/2301XCode/index.html

XC4 consente di eseguire uno script esterno tramite comportamenti, ma non si può passare o restituire il testo/selezione.

AppleScript

Si può essere in grado di farlo con AppleScript ... ogni volta che ho cercato di fare qualcosa non banale con AS + Xcode, non ha funzionato fuori molto affidabile (se non del tutto) . Ma quello era con Xc3: localizzare ciò di cui hai bisogno potrebbe essere più semplice con Xc4 (UI unificata e tutto).

Uso solo TextMate per questo.

1

C'è un bug su 10.7 e 10.8 in cui i tasti di scelta rapida per i servizi di Automator non funzionano sempre fino a quando è stato mostrato il menu dei servizi una volta dalla barra dei menu. È ancora possibile selezionarli dal menu contestuale, ma un'altra opzione sarebbe quella di assegnare una scorciatoia per uno script come questo:

try 
    set old to the clipboard as record 
end try 
try 
    tell application "System Events" to keystroke "c" using command down 
    do shell script "export LC_CTYPE=UTF-8; pbpaste | sort -fn | pbcopy" 
    tell application "System Events" to keystroke "v" using command down 
    delay 0.05 
end try 
try 
    set the clipboard to old 
end try 

Cercando di ottenere negli appunti quando è risultato vuote in un errore. pbpaste e pbcopy non supportano Unicode per impostazione predefinita nell'ambiente utilizzato dallo script di shell.

1

Dopo 4 anni Xcode non ha ancora questa funzione integrata, ma ora supporta le estensioni. Quindi ecco qua: "xcsort" è un'estensione a sort text in Xcode 8. Aggiunge un comando per ordinare le linee nella selezione.