Atom 調(diào)試

2018-08-12 21:50 更新

調(diào)試

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

升級(jí)到最新版本

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

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

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

$ atom --version
0.178.0-37a85bc

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

檢查鏈接的包

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

$ apm links

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

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

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

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

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

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

檢查快捷鍵

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

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

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

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

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

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

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

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

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

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

$ atom --safe

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

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

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

檢查你的配置文件

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

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

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

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

在開(kāi)發(fā)者頁(yè)面的CPU profiler中判斷性能問(wèn)題

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

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

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

詳見(jiàn)Chrome的CPU profiling文檔

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

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

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

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)