Atom飞行手册翻译: 3.7 调试

调试

Atom拱了一些工具来帮助你理解预料以外的行为和调试问题。这篇指南介绍了一些工具和方法用于帮助你调试,以及提供了一些提交工单(issue)时的帮助信息。git

升级到最新版本

你可能遇到了在最新版本已经修复的问题。github

若是你从源码中编译Atom,须要拉回(pull)master的最新版本并从新构建。chrome

若是你使用发布版本,检查你所使用的Atom是什么版本:安全

$ atom --version
0.178.0-37a85bc

访问发布列表来查看是否有更新的版本。你能够从发布页面下载Atom来升级到最新的版本,或者经过应用中的自动升级工具。应用中的自动升级工具在你重启Atom,或者点击Atom > Check for Update菜单以后,会检查和下载新的版本。并发

检查连接的包

若是你开发或者发布Atom的包,可能会有一些遗留的包连接到~/.atom/packages或者~/.atom/dev/packages目录下。你可使用:编辑器

$ apm links

来列出全部连接的开发包。你可使用apm unlink命令来移除连接,详见apm unlink --helpide

检查Atom和包的设置

在一些状况下,预料以外的行为多是Atom或者某个包中的错误配置或者缺乏配置形成的。工具

使用cmd-,来打开Atom的设置视图,或者Atom > Preferences来打开菜单选项。性能

在设置面板中检查Atom的设置,每一个选项在这里都会有个详细的描述。例如,若是你但愿Atom使用硬tab(真的tab)而不是软tab(空格),你应该取消“Soft Tabs”选项。开发工具

因为Atom自带一些包而且你能够本身安装附加的包,检查全部包的列表以及他们的设置。例如,若是你喜欢移除编辑器中间的竖直线,禁用Wrap Guide包。另外,若是你但愿Atom移除行尾的空白字符,或者确保文件末尾有个空行,你能够在Whitespace包的选项中设置。

检查快捷键

若是你按下快捷键以后没有执行命令,或者执行了错误的命令,那个键位的快捷键可能出了些问题。Atom自带keybinding resolver,一个小巧的包来帮助你理解执行了哪一个快捷键。

keybinding resolver会向你展现现有快捷键的列表,列表中包含如下内容:

  • 快捷键的命令
  • 快捷键有效时,用于定义上下文的CSS选择器
  • 快捷键被定义的文件

若是匹配到多个快捷键,Atom会根据选择器的特性和以及他们被加载的顺序来决定执行哪一个快捷键。若是你想要触发的命令在keybinding resolver中列出,可是并无执行,通常由如下两种缘由形成:

  • 快捷键并无在选择器定义的上下文中使用。例如,你不能在树视图没有焦点的状况下触发“Tree View: Add File”命令。
  • 有另外一个快捷键具备更高的优先级。这一般发生在你安装的包的快捷键和现有的快捷键冲突的时候。若是这个包的快捷键具备更高的特异性的选择器,或者更晚被加载,它就会覆盖现有的快捷键。

Atom首先会加载核心功能的快捷键,以后才是用户定义的快捷键。因为用户定义的快捷键在随后加载,你可使用keymap.cson文件来调整快捷键并解决问题。例如,你能够使用unset!指令来移除快捷键

若是你发现一个包的快捷键优先级要高于核心功能包,向这个包的GitHub 仓库提交一个工单多是个好主意。

查看是否在安全模式下出现问题

Atom绝大多数的功能都来源于你安装的包。一些状况下,这些包可能会致使预料以外的行为、问题或者性能问题。

从命令行在安全模式下启动Atom,来检查是不是你安装的一个包致使了问题:

$ atom --safe

这会启动Atom,可是并不会加载~/.atom/packages~/.atom/dev/packages中的包。若是安全模式下问题再也不出现,那么可能那些包之一致使了问题。

要弄清楚究竟是哪一个包致使了问题,正常启动Atom,而且按下cmd-,来打开设置。因为设置可让你禁用每一个包,你能够依次禁用每一个包,直到问题再也不发生。在你禁用每一个包来确保问题再也不出现以后,重启(cmd-q)或者从新加载(cmd-ctrl-alt-l)Atom。

当你找到致使问题的包以后,你能够禁用或者卸载这个包,而且考虑向这个包的GitHub仓库提交工单。

检查你的配置文件

你可能在Atom的初始化脚本或者样式表中定义了一些个性化的功能。在一些状况中,这些个性化的调整可能会致使问题,因此清除这些文件,并重启Atom。

检查在开发者工具中的错误

当Atom中抛出了一个错误,开发者工具会在控制台标签页自动展现记录的错误。而若是开发者工具在错误触发以前打开,错误的整个栈轨迹会被记录:

若是你能够重现这个错误,使用这种方法来获得所有的栈轨迹。栈轨迹可能会指向你的初始化脚本,或者安装的某个特定的包,能够禁用它们而且向Github仓库提交工单。

在开发者页面的CPU profiler中判断性能问题

若是你在特定的状况中发现了性能问题,若是报告中包含了Chrome的CPU profiler截图,提供了一些什么东西比较慢的洞察,你的报告会颇有用处。

要运行profiler,在命令面板中打开开发者工具(“Window: Toggle Dev Tools”),访问Profiles标签页,选择Collect JavaScript CPU Profile并点击start按钮。

而后返回Atom而且执行速度慢的操做来作记录。结束以后按下stop按钮。切换到Chart视图,会出现一副记录操做的图片。尝试放大缓慢的部分,而且截图来包含到你的报告中。你也能够保存并发送profile数据,经过按下左边面板中的名字(例如Profile 1)旁边的Save按钮。

详见Chrome的CPU profiling文档

检查你是否安装了开发工具链

若是你在使用apm install安装一个包时出现问题,多是由于那个包依赖了使用本地代码的库。因此你须要安装C++编译器和Python来安装它。

你能够运行apm install --check来查看Atom是否可以在你的机器上编译本地代码。

关于更多信息,在构建指导中查看你的平台上须要先知足的条件。

相关文章
相关标签/搜索