2012-02-20 16 views

risposta

5

Grazie per il consiglio brunchstorm! Ho modificato il tuo metho d in modo che il file di elaborazione aperto in Sublime possa essere inviato direttamente all'applicazione di elaborazione. Innanzitutto, ho scaricato e installato un pacchetto di elaborazione TextMate in modo che i file .pde fossero identificati correttamente (e evidenziato dalla sintassi) come documenti di elaborazione in Sublime (http://www.onebitwonder.com/projects/processing). Se si esplora quel tmbundle, esiste un file di definizione della lingua TextMate (Processing.tmbundle/Syntaxes/Processing.tmLanguage) che deve essere modificato. Nella parte inferiore del file c'è una linea:

<string>source.java-processing</string>

Questa linea deve essere cambiato in:

Dopo aver salvato Processing.tmLanguage, è possibile eliminare l'intera elaborazione. pacchetto tmbundle nella directory dei pacchetti di Sublime. Ora apri un documento .pde in Sublime. Nell'angolo in basso a destra della finestra di Sublime c'è un identificatore del tipo di documento che probabilmente dirà "Testo normale". Fai clic su quell'identificatore e seleziona "Apri tutto con estensione corrente come ..." e scegli "Elaborazione", che ora dovrebbe essere nell'elenco. Ho scritto due AppleScript per lanciare ed eseguire Processing e uno script di shell per guidarli (questo è l'unico modo per far sì che AppleScripts possa essere avviato correttamente da Sublime in sequenza).

Il primo script avvia Processing se non è già in esecuzione. Questo passaggio è necessario perché se Processing non è in esecuzione, è necessario inserire un ritardo prima che Processing registrerà le sequenze di tasti (una schermata iniziale appare per diversi secondi durante l'avvio). Un ritardo di 3 secondi funziona bene con il mio sistema, ma potrebbe essere necessario allungare il ritardo a seconda dell'hardware. Forse qualcun altro può pensare ad un modo più elegante per far sì che AppleScript attenda l'elaborazione per superare la schermata iniziale.

Prima AppleScript (denominato "first_processing.scpt" da me):

--check to see if Processing is running 
tell application "System Events" 
    set x to (count (every process whose creator type is "Pde1")) 
end tell 

--if Processing is not running, open Processing and delay 
--for three seconds to allow time for splash screen 
--to disappear and to allow keystrokes to be 
--registered 
if x is 0 then 
    activate application "Processing" 
    delay 3 
end if 

Il secondo AppleScript invia una sequenza di tasti per eseguire il programma di elaborazione (denominato "second_processing.SCPT "):

tell application "Processing" 
    activate 
end tell 

tell application "System Events" 
    --deliver the "run" command 
    delay 0.1 
    keystroke "r" using command down 
    --hide Processing; delay is necessary for reliable hiding 
    --you may want to turn off hiding to see error messages 
    delay 0.2 
    keystroke "h" using command down 
end tell 

Lo script di shell driver (denominato "launch_processing_file.sh"):

osascript ~/Documents/AppleScript_Library/processing/first_processing.scpt 
open -a Processing $1 
osascript ~/Documents/AppleScript_Library/processing/second_processing.scpt 

Infine, il sistema di generazione Sublime alla trasformazione (da memorizzare nella directory utente con un" .sublime-build" estensione):

{ 
    "cmd": ["sh", "full_path_to_shell_script/launch_processing_file.sh", "$file"], 
    "selector": "source.pde" 
} 

Nota che si deve scegliere 'Utilizzare editor esterno' nelle preferenze di elaborazione per questo metodo di funzionare correttamente anche notare che il file di trasformazione devono essere contai ned in una cartella con lo stesso nome. Potrei scrivere uno script per creare la cartella di chiusura appropriata per un file di elaborazione non elaborato, ma per ora questo aspetto non viene gestito automaticamente. Godere!

P.S.

Questo è il mio primo post qui. Che sito fantastico!

+0

Grate first post! molto dettagliato e approfondito, grazie mille –

+0

NOTA: i nomi delle cartelle di schizzo non possono avere spazi bianchi –

+0

debitamente notato! A proposito, ho apportato una piccola modifica al secondo AppleScript per aggiungere un breve ritardo prima che venga inviato il segnale cmd-R. Questa aggiunta corregge un bug in cui il file di elaborazione non veniva eseguito se l'applicazione di elaborazione era già in esecuzione prima che il file fosse aperto. – tubuliferous

0

Tools > Build System > New Build System

Questo vi permetterà di creare un sistema di compilazione che può essere innescato da Ctrl+B o può essere impostato per costruire su salvare.

1

Ho violato questo insieme come un modo rapido per usare il comando + B per eseguire gli schizzi di elaborazione che si stanno modificando.

Questo è il file di configurazione in sublime .... (Strumenti-> Costruire Sistema-> Nuove costruzioni sistema

{ 
    "cmd": ["osascript", "/PathTo/RunProcessing.scpt"] 
} 

e questo è il file applescript utilizza ...

- ------------------

tell application "Processing" 
    activate 
end tell 

tell application "System Events" 
    keystroke "r" using command down 
end tell 

--------------------

+0

Cool stuff Prenderò questo per un giro durante il fine settimana –

5

Un aggiornamento alla soluzione Brunchstorms. Ecco la migliore soluzione attuale. Meglio della build personalizzata. In primo luogo, installare l'elaborazione, l'ultimo funziona bene.

Quando l'elaborazione aperta seguire queste istruzioni:

http://wiki.processing.org/w/Command_Line

che installerà gli strumenti della riga di comando, niente di difficile a questo proposito, basta andare Strumenti-> installare "trattamento-java" questa installazione strumenti a linea di comando

Se non hai il gestore di pacchetti installati per sublimi, è molto semplice, basta seguire le seguenti istruzioni:

http://wbond.net/sublime_packages/package_control

copia e incolla!

Ora, in Sublime Text 2 è possibile installare il plug-in Processing Sublime Text 2, quindi quando apri un file .pde puoi semplicemente premere command + b e verrà eseguito lo sketch. L'elaborazione non ha nemmeno bisogno di essere aperta!

+0

Fantastico! Ci sono voluti 30 secondi per rovinarti. La migliore risposta in questa data. – kontur