前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >调试目录

调试目录

作者头像
iOSDevLog
发布2018-05-17 10:59:34
6890
发布2018-05-17 10:59:34
举报
文章被收录于专栏:iOSDevLog

开发Sketch插件时,您可能需要一些方法来了解代码运行时发生了什么。

日志

调试JavaScript代码最常用的方法是console.log在关键步骤中添加一堆。不幸的是,JavaScriptCore(Sketch插件运行上下文)没有提供console。相反,调用的特殊方法log是可用的。

有几个选项可以查看这些日志:

  • 打开Console.app并查找Sketch日志
  • 看看这个文件~/Library/Logs/com.bohemiancoding.sketch3/Plugin Output.log
  • 运行skpm log它将输出上面的文件(skpm log -f对日志进行流式处理)

skpm将填充console以便console.log照常使用。除了使用log场景后面的方法之外,它还会将日志转发给sketch-dev-tools

debugger 和变量检查

当插件运行时,Sketch会创建一个与其关联的JavaScript上下文。可以使用Safari检查此上下文。

在Safari中,转到Develop> name of your machine> Automatically Show Web Inspector for JSContexts。而且你可能想要启用,Automatically Pause Connecting to JSContext否则检查器将会关闭,然后才能与之交互(当脚本运行完成后,上下文将被销毁)。

现在,您可以在代码中使用断点,在运行时检查变量的值等。

Objective-C类内省(Introspection)

Sketch中的插件系统可让您完全访问应用程序的内部结构和macOS中的核心框架。Sketch使用Objective-C构建,其类被桥接到JavaScript。知道你正在处理哪些类以及定义了哪些方法通常很有用。

您可以使用由网桥定义的一些自省方法来访问这些信息。例如:

代码语言:javascript
复制
String(context.document.class()) // MSDocument

var mocha = context.document.class().mocha()

mocha.properties() // array of MSDocument specific properties defined on a MSDocument instance
mocha.propertiesWithAncestors() // array of all the properties defined on a MSDocument instance

mocha.instanceMethods() // array of methods defined on a MSDocument instance
mocha.instanceMethodsWithAncestors()

mocha.classMethods() // array of methods defined on the MSDocument class
mocha.classMethodsWithAncestors()

mocha.protocols() // array of protocols the MSDocument class inherits from
mocha.protocolsWithAncestors()

Sketch的开发工具

我们创建了一个小的Sketch特定工具来帮助您调试插件,并希望让您的生活更轻松。它采用Sketch插件的形式,您可以在此下载并随其启动cmd + option + j

原文:https://developer.sketchapp.com/guides/debugging-plugins/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.03.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开发Sketch插件时,您可能需要一些方法来了解代码运行时发生了什么。
    • 日志
      • debugger 和变量检查
        • Objective-C类内省(Introspection)
          • Sketch的开发工具
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档