【发布时间】:2014-08-21 18:17:44
【问题描述】:
我想编写一个AppleScript 程序来执行以下操作(Automator 也可以):
我想用应用程序Transmit 2 打开当前活动的TextMate 文件(可能打开了几个选项卡和其他窗口)。 (这将使用 Transmit 的 DockSend 功能通过 FTP 上传文件。)
我在这里使用了一个特定的应用程序 (TextMate),但理想情况下,我希望它适用于任何应用程序中当前处于活动状态的任何文件。
最终我会分配一个键盘快捷键来运行它。
这是我目前所拥有的:
tell application (path to frontmost application as text)
set p to path of document 1
end tell
tell application "Finder"
open POSIX file p using "Transmit 2"
end tell
我已经尝试了很多变种,但没有任何效果。
编辑: 我找到了这个页面:http://wiki.macromates.com/Main/Howtos 并且有人制作了我正在寻找的脚本:
tell application "Transmit" to open POSIX file "$TM_FILEPATH"
这是用于传输 [不是 2],我认为是用于 TextMate pre v2。我收到错误(使用 Transmit 2 时):
Transmit 2 got an error: AppleEvent handler failed.
v2 的一个更新破坏了它(不确定是哪一个)。
【问题讨论】:
-
您使用的是什么版本的 TextMate?据我所知,就 AppleScript 字典而言,最新的 alpha (2.0-alpha.9561) 是一团糟(它不知道文档是什么,并且 Window 对象没有路径或文件)。 V 1.5 支持“
path of document 1” -
是的,我使用的是最新版本。您在哪里可以找到 AppleScript 词典?我总是很难为 AppleScript 找到好的文档。另见编辑。 (感谢您的调查)
-
将应用程序拖到脚本编辑器上以查看字典。脚本编辑器中还有一个“打开字典...”菜单项(文件)。对于 TextMate,开发人员在未完成功能的情况下添加了字典(不好的做法)。换句话说,字典不正确。
-
你知道,如果你真的想让它适用于每个应用程序,你必须为不同的应用程序使用不同的命令(并且,对于 TextMate,你将必须使用旧版本并等待新版本修复)。有些应用程序的文档具有“文件”属性,有些应用程序具有“路径”属性,还有一些具有其他术语。有些在其 Window 对象中具有这些类型的属性(而不是文档或除了文档之外)。如果您不了解原始 AppleEvent 代码,您可能会摸不着头脑。对不起。
-
要查看应用程序的字典,在 [Apple] 脚本编辑器中,查看文件/打开字典。
标签: applescript automator textmate2