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!
Grate first post! molto dettagliato e approfondito, grazie mille –
NOTA: i nomi delle cartelle di schizzo non possono avere spazi bianchi –
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