Atom 調(diào)試

2018-08-12 21:50 更新

調(diào)試

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

升級到最新版本

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

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

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

$ atom --version
0.178.0-37a85bc

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

檢查鏈接的包

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

$ apm links

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

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

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

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

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

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

檢查快捷鍵

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

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

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

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

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

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

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

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

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

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

$ atom --safe

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

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

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

檢查你的配置文件

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

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

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

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

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

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

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

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

詳見Chrome的CPU profiling文檔。

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

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

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

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號