我正在使用Mac OSX Lion
谢谢你的建议brunchstorm!我修改了您的方法,以便在Sublime中打开的Processing文件可以直接发送到Processing应用程序.首先,我下载并安装了一个TextMate处理包,以便将.pde文件正确识别(和语法突出显示)作为Sublime( http://www.onebitwonder.com/projects/processing)中的Processing文档.如果您浏览该tmbundle,则需要修改TextMate语言定义文件(Processing.tmbundle / Syntaxes / Processing.tmLanguage).在该文件的底部附近有一行:<串GT; source.java处理< /串GT;
该行必须更改为:
<串GT; source.pde< /串GT;
保存Processing.tmLanguage后,可以将整个Processing.tmbundle包放到Sublime包目录中.现在在Sublime中打开一个.pde文件. Sublime窗口右下角的文档类型标识符可能会显示为“纯文本”.点击该标识符,然后选择“使用当前扩展名打开全部为…”,然后选择“处理”,现在应该在列表中.我写了两个AppleScript来启动并运行Processing和一个shell脚本来驱动它们(这是我可以让AppleScript按顺序从Sublime正确启动的唯一方法).
如果第一个脚本尚未运行,则会启动“处理”.此步骤是必要的,因为如果处理未运行,则必须先插入延迟,然后“处理”将注册按键(启动期间会出现启动画面几秒钟). 3秒的延迟对我的系统运行良好,但您可能需要根据硬件延长延迟.也许其他人可以想到一个更优雅的方式来使AppleScript等待处理以超越闪屏.
第一个AppleScript(我名为“first_processing.scpt”):
--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
第二个应用程序发送一个按键来运行您的处理程序(名为“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
驱动程序shell脚本(命名为“launch_processing_file.sh”):
osascript ~/Documents/AppleScript_Library/processing/first_processing.scpt open -a Processing $1 osascript ~/Documents/AppleScript_Library/processing/second_processing.scpt
最后,用于处理的Sublime构建系统(要存储在您的用户目录中,具有“.sublime-build”扩展名):
{ "cmd": ["sh", "full_path_to_shell_script/launch_processing_file.sh", "$file"], "selector": "source.pde" }
请注意,您必须在处理首选项中选择“使用外部编辑器”以使此方法正常工作.另请注意,您的处理文件必须包含在具有相同名称的文件夹中.我可以编写一个脚本来为裸机处理文件创建正确的包围文件夹,但是现在这个方面不会自动处理.请享用!
附:
这是我在这里的第一篇文章.一个奇妙的网站!