Atom 調(diào)試

2018-08-12 21:50 更新

調(diào)試

Atom拱了一些工具來幫助你理解預(yù)料之外的行為和調(diào)試問題。這篇指南介紹了一些工具和方法用于幫助你調(diào)試,以及提供了一些提交工單(issue)時的幫助信息。

升級到最新版本

你可能遇到了在最新版本已經(jīng)修復(fù)的問題。

如果你從源碼中編譯Atom,需要拉回(pull)master的最新版本并重新構(gòu)建。

如果你使用發(fā)布版本,檢查你所使用的Atom是什么版本:

$ atom --version
0.178.0-37a85bc

訪問發(fā)布列表來查看是否有更新的版本。你可以從發(fā)布頁面下載Atom來升級到最新的版本,或者通過應(yīng)用中的自動升級工具。應(yīng)用中的自動升級工具在你重啟Atom,或者點擊Atom > Check for Update菜單之后,會檢查和下載新的版本。

檢查鏈接的包

如果你開發(fā)或者發(fā)布Atom的包,可能會有一些遺留的包鏈接到~/.atom/packages或者~/.atom/dev/packages目錄下。你可以使用:

$ apm links

來列出所有鏈接的開發(fā)包。你可以使用apm unlink命令來移除鏈接,詳見apm unlink --help

檢查Atom和包的設(shè)置

在一些情況下,預(yù)料之外的行為可能是Atom或者某個包中的錯誤配置或者缺少配置造成的。

使用cmd-,來打開Atom的設(shè)置視圖,或者Atom > Preferences來打開菜單選項。

在設(shè)置面板中檢查Atom的設(shè)置,每個選項在這里都會有個詳細的描述。例如,如果你希望Atom使用硬tab(真的tab)而不是軟tab(空格),你應(yīng)該取消“Soft Tabs”選項。

由于Atom自帶一些包并且你可以自己安裝附加的包,檢查所有包的列表以及他們的設(shè)置。例如,如果你喜歡移除編輯器中間的豎直線,禁用Wrap Guide包。另外,如果你希望Atom移除行尾的空白字符,或者確保文件末尾有個空行,你可以在Whitespace包的選項中設(shè)置。

檢查快捷鍵

如果你按下快捷鍵之后沒有執(zhí)行命令,或者執(zhí)行了錯誤的命令,那個鍵位的快捷鍵可能出了些問題。Atom自帶keybinding resolver,一個小巧的包來幫助你理解執(zhí)行了哪個快捷鍵。

keybinding resolver會向你展示現(xiàn)有快捷鍵的列表,列表中包含以下內(nèi)容:

  • 快捷鍵的命令
  • 快捷鍵有效時,用于定義上下文的CSS選擇器
  • 快捷鍵被定義的文件

如果匹配到多個快捷鍵,Atom會根據(jù)選擇器的特性和以及他們被加載的順序來決定執(zhí)行哪個快捷鍵。如果你想要觸發(fā)的命令在keybinding resolver中列出,但是并沒有執(zhí)行,一般由以下兩種原因造成:

  • 快捷鍵并沒有在選擇器定義的上下文中使用。例如,你不能在樹視圖沒有焦點的情況下觸發(fā)“Tree View: Add File”命令。
  • 有另一個快捷鍵具有更高的優(yōu)先級。這通常發(fā)生在你安裝的包的快捷鍵和現(xiàn)有的快捷鍵沖突的時候。如果這個包的快捷鍵具有更高的特異性的選擇器,或者更晚被加載,它就會覆蓋現(xiàn)有的快捷鍵。

Atom首先會加載核心功能的快捷鍵,之后才是用戶定義的快捷鍵。由于用戶定義的快捷鍵在隨后加載,你可以使用keymap.cson文件來調(diào)整快捷鍵并解決問題。例如,你可以使用unset!指令來移除快捷鍵。

如果你發(fā)現(xiàn)一個包的快捷鍵優(yōu)先級要高于核心功能包,向這個包的GitHub 倉庫提交一個工單可能是個好主意。

查看是否在安全模式下出現(xiàn)問題

Atom絕大多數(shù)的功能都來源于你安裝的包。一些情況下,這些包可能會導(dǎo)致預(yù)料之外的行為、問題或者性能問題。

從命令行在安全模式下啟動Atom,來檢查是否是你安裝的一個包導(dǎo)致了問題:

$ atom --safe

這會啟動Atom,但是并不會加載~/.atom/packages~/.atom/dev/packages中的包。如果安全模式下問題不再出現(xiàn),那么可能那些包之一導(dǎo)致了問題。

要弄清楚到底是哪個包導(dǎo)致了問題,正常啟動Atom,并且按下cmd-,來打開設(shè)置。由于設(shè)置可以讓你禁用每個包,你可以依次禁用每個包,直到問題不再發(fā)生。在你禁用每個包來確保問題不再出現(xiàn)之后,重啟(cmd-q)或者重新加載(cmd-ctrl-alt-l)Atom。

當(dāng)你找到導(dǎo)致問題的包之后,你可以禁用或者卸載這個包,并且考慮向這個包的GitHub倉庫提交工單。

檢查你的配置文件

你可能在Atom的初始化腳本或者樣式表中定義了一些個性化的功能。在一些情況中,這些個性化的調(diào)整可能會導(dǎo)致問題,所以清除這些文件,并重啟Atom。

檢查在開發(fā)者工具中的錯誤

當(dāng)Atom中拋出了一個錯誤,開發(fā)者工具會在控制臺標(biāo)簽頁自動展示記錄的錯誤。而如果開發(fā)者工具在錯誤觸發(fā)之前打開,錯誤的整個棧軌跡會被記錄:

如果你可以重現(xiàn)這個錯誤,使用這種方法來得到全部的棧軌跡。棧軌跡可能會指向你的初始化腳本,或者安裝的某個特定的包,可以禁用它們并且向Github倉庫提交工單。

在開發(fā)者頁面的CPU profiler中判斷性能問題

如果你在特定的情況中發(fā)現(xiàn)了性能問題,如果報告中包含了Chrome的CPU profiler截圖,提供了一些什么東西比較慢的洞察,你的報告會很有用處。

要運行profiler,在命令面板中打開開發(fā)者工具(“Window: Toggle Dev Tools”),訪問Profiles標(biāo)簽頁,選擇Collect JavaScript CPU Profile并點擊start按鈕。

然后返回Atom并且執(zhí)行速度慢的操作來做記錄。結(jié)束之后按下stop按鈕。切換到Chart視圖,會出現(xiàn)一副記錄操作的圖片。嘗試放大緩慢的部分,并且截圖來包含到你的報告中。你也可以保存并發(fā)送profile數(shù)據(jù),通過按下左邊面板中的名字(例如Profile 1)旁邊的Save按鈕。

詳見Chrome的CPU profiling文檔。

檢查你是否安裝了開發(fā)工具鏈

如果你在使用apm install安裝一個包時出現(xiàn)問題,可能是因為那個包依賴了使用本地代碼的庫。所以你需要安裝C++編譯器和Python來安裝它。

你可以運行apm install --check來查看Atom是否能夠在你的機器上編譯本地代碼。

關(guān)于更多信息,在構(gòu)建指導(dǎo)中查看你的平臺上需要先滿足的條件。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號