开发环境

目录

  1. 入门

    1. 插件基础
    2. 您的第一个插件
    3. 开发环境
    4. 调试
    5. Action API
    6. 发布插件
  2. 高级

    1. 插件捆绑
    2. 插件,脚本和命令
    3. 插件位置
    4. 更多关于CocoaScript
    5. SketchTool

如果您花费了开发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

收听Action API中的所有操作

警告:这是一项非常昂贵的操作,并且会影响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

如果你的插件使用webview,很可能你需要在某个时候检查它。

为此,您需要添加首选项:

$ defaults write com.bohemiancoding.sketch3 WebKitDeveloperExtras -bool true

然后你可以简单地右键点击你的web视图并点击Inspect。检查员应该出现。

原文:https://developer.sketchapp.com/guides/preferences/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269