如果您花费了开发Plugins for Sketch的不少重要时间,则可以使用这些首选项对工作流程进行一些改进。
由于并非所有Sketch用户都是插件开发人员,因此在“首选项”面板中为这些首选项设置UI并没有任何意义。您需要使用Terminal.app来启用/禁用它们。
有最喜欢的代码编辑器?你可以告诉Sketch使用它来编辑插件。例如,如果你使用Atom,你可以这样做:
$ defaults write ~/Library/Preferences/com.bohemiancoding.sketch3.plist "Plugin Editor" "/usr/local/bin/atom"
并重新启动Sketch,您会看到一些新的菜单项:
要更改“运行脚本...”面板中使用的字体(例如,使用SF Mono),可以这样做:
$ defaults write ~/Library/Preferences/com.bohemiancoding.sketch3.plist scriptEditorFont "SF Mono Light"
要回到默认设置(Andale Mono),只需删除首选项:
$ defaults delete ~/Library/Preferences/com.bohemiancoding.sketch3.plist scriptEditorFont
要更改编辑器的字体大小(默认值为12),请使用
$ defaults write ~/Library/Preferences/com.bohemiancoding.sketch3.plist scriptEditorFontSize 14
警告:这是一项非常昂贵的操作,并且会影响Sketch的性能。请仅在您的开发系统上使用此功能,而不要在客户的计算机上启用此功能。
当与新的合作行动的API,你可能想(试图找到时专门听取多个事件,其事件是您要使用的一个)。
为此,请使用actionWildcardsAllowed
首选项。如果设置为YES
,则允许脚本为事件注册通配符处理程序。这是默认关闭的,它可能会对性能产生不利影响,因此请小心处理。
$ defaults write ~/Library/Preferences/com.bohemiancoding.sketch3.plist actionWildcardsAllowed -bool YES
一旦你这样做了,你可以通过*
在你的handlers.actions
对象中添加一个键来告诉你的插件为每个动作调用一个方法manifest.json
:
{
...
"handlers": {
+ "actions": {
+ "*": "onActionHandler"
+ }
}
...
}
出于性能原因,Sketch会缓存Plugins文件夹的内容。这对用户来说非常方便,因为插件运行速度非常快,但如果您是开发人员,则会让您的生活变得艰难。这就是为什么我们添加了一个首选项来禁用此缓存机制并强制Sketch始终从磁盘重新加载插件的代码:
$ defaults write ~/Library/Preferences/com.bohemiancoding.sketch3.plist AlwaysReloadScript -bool YES
如果启用此功能,只要保存脚本,就可以在Sketch中进行测试了(再见,只是为了测试一个小小的改变而重新启动它)!
请注意,此设置决定了当Sketch为脚本创建新的JavaScript上下文时,脚本的来源是否从光盘重新加载。如果是NO
,源会被缓存,如果是YES
,源始终会从光盘重新加载。
然而,当一个新的JavaScript上下文产生时,它不会做的事情就会改变。对于长时间运行的脚本,相同的上下文保存在内存中(它必须是 - 正在运行的脚本正在使用它),直到脚本退出。因此,如果您正在测试长时间运行的脚本,您仍然必须找到停止脚本的方法,以避免上下文丢失(通常意味着重新启动Sketch或设置coscript.setShouldKeepAround(false)
)。
如果你的插件使用webview,很可能你需要在某个时候检查它。
为此,您需要添加首选项:
$ defaults write com.bohemiancoding.sketch3 WebKitDeveloperExtras -bool true
然后你可以简单地右键点击你的web视图并点击Inspect
。检查员应该出现。
原文:https://developer.sketchapp.com/guides/preferences/