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是否可以在你的機器上編譯本地代碼。

關於更多信息,在構建指導中查看你的平臺上須要先知足的條件。

相關文章
相關標籤/搜索