開發(fā)者工作流程一般來說就是需要通過一些步驟來達到一個目標。當作者擁有了開發(fā)者工具,這就可以優(yōu)化工作流程以較少的時間來完成常規(guī)任務,比如鎖定文件或者函數(shù),持續(xù)編寫腳本或者樣式表,保存經(jīng)常使用的片段或者僅僅是重新布置一下布局,讓其更貼合你得需求。
在這一節(jié)中,我們將講解一些小技巧,讓你在使用 DevTools 時的工作流程變得更加高效。
你可能發(fā)現(xiàn)開發(fā)者工具在底部時,提供了一些水平空間,可是垂直方向上留下的空間很少。右邊的錨點允許你將開發(fā)者工具放到窗口右邊。這樣你就可以在左邊窗口可以查看當前的頁面,而將測試的東西放在了屏幕的右側(cè)。
這樣的好處在于:
導航到一個你想要排錯的 URL 然后按住位于開發(fā)者工具左手邊底部布局的按鈕。在 dock-to-right 和 dock-to-window 之間切換,
注意:開發(fā)者工具將會記住你最后一次的選項,所以你可以自己在兩種方式間切換。
這將調(diào)整屏幕以顯示可用的布局選項。一旦你已經(jīng)選中了一個偏好,布局將會立刻改變來響應這個更改。
注意:每一個選項卡都有它自己相應的布局形式。這就意味著可能某個選項卡工具是在屏幕右側(cè)而另外一個選項卡則在窗口底部。
對于一個開發(fā)者的工作流程來說,能夠快速定位一個特殊的文件是非常有必要的。通過使用下面的快捷鍵,開發(fā)者工具可以使你搜索全部的腳本,樣式表和文件片段:
Ctrl
+ o
(windows,Linux)Cmd
+ o
(Mac OS X)這個工具與當前正在使用的控制臺無關。對于Todo app,使用下面這些快捷鍵中的某一個將會帶我們進入 Sources 面板并且提供一個列出所有可檢查文件的搜索框。
在這里,我們可以過濾出特定的文件(例:文件命中包含script)或者選中一個文件,預覽或者編輯。
注意:在所有的對話中,我們均提供駝峰匹配。比如:打開FooBarScript.js,你可以只寫 FBaSc,這樣可以節(jié)省時間。
在當前的文件中搜索一個特殊的字符串可以使用以下的快捷鍵:
Ctrl
+ F
(Windows,Linux)Cmd
+ F
(Mac OS X)一旦已經(jīng)輸入了一個關鍵字到搜索框中,點擊回車會調(diào)轉(zhuǎn)到第一個匹配的結(jié)果。繼續(xù)點擊回車將會在結(jié)果中進行跳轉(zhuǎn),或者你也可以點擊搜索框旁邊的 up
和 down
箭頭按鈕來進行跳轉(zhuǎn)。
開發(fā)者工具支持當前文件中定位文字,此外也同樣支持用新的值來替換替換單個或者所有文字。選中 “Relpace” 將會出現(xiàn)第二個輸入?yún)^(qū)域來填寫用于替換的文本。
如果你希望在所有加載的文件中搜索特定的文字,你可以用下面的快捷鍵來加載搜索框界面:
Ctrl
+ Shift
+ F
(Windows,Linux)Cmd
+ Opt
+ F
(Mac OS X)這里同時提供了正則表達式和敏感大小寫的搜索方式。
使用正則表達式進行搜索,就是在搜索處填入表達式,然后選中 Regular Expression
最后點擊回車。
在上面的圖中我們可以看見如何搜索所有匹配
你應該還想要更多功能,這樣就可以在一個文件中導航到(或者搜索到)特殊的 JavaScript 函數(shù)或者是 CSS 規(guī)則文件。
要導航到你選中的文件,進入源面板。然后你就可以使用下面的快捷鍵來打開一個對應函數(shù)/特定選擇器的一個選擇框:
Ctrl
+ Shitf
+ O
(Windows,Linux)Cmd
+ Shitf
+ O
(Mac OS X)基于選中文件的類型,你將會看見所有的 JavaScript 或者是 CSS 樣式定義。開始輸入你要搜索的函數(shù)名稱或者是 CSS 定義時就會過濾出一個列表的結(jié)果,或者是直接選擇一個結(jié)果,進入到定義這個內(nèi)容的文件中。
開發(fā)者工具同時也可以在編輯器中直接跳轉(zhuǎn)到指定行號。要啟動行號輸入框,只需要選中你要查找的文件,然后使用下面的快捷鍵來啟動:
Ctrl
+ G (Windows)Cmd
+ L
(Mac OS X)Ctrl
+ G
(Linux)開發(fā)工具支持實時編輯腳本和樣式,不需要重新加載頁面就可以看到效果。這對于測試設計的更改,原生 JavaScript 函數(shù)或者代碼塊很有幫助。
JavaScript 可以直接在 Sources
面板中進行編輯。打開指定的腳本進行編輯,或者:
在元素面板的視圖中點擊相應腳本的鏈接(例:\)
Scources
子面板中選擇腳本的文件名:這會在右邊的面板上顯示一個新的標簽,里面的源文件將會是語法高亮的。
對于腳本的更改只會在評估時間執(zhí)行,也就是說對代碼的修改不是在頁面加載后進行的話,將不會產(chǎn)生效果。修改后的代碼會在下一個階段執(zhí)行,比如鼠標滑過監(jiān)聽或者點擊事件的回調(diào)更改后可以快速進行測試。
獲取更多有關 JavaScript 在 Sources
面板進行調(diào)試的信息,請關聯(lián)閱讀在 JavaScript 排錯 文檔。同時也可以查看 在線編輯器上的短屏幕截取和斷點排錯。
提示:工作空間對于本地文件的持續(xù)編輯也是支持的。查看更多
下面有一個和編輯樣式類似的工作流。打開開發(fā)者工具,選擇元素面板。在右邊,一些子面板將會被顯示出來,其中就包括樣式面板。檢查在頁面上的某個元素將會在風格面板上顯示一組已經(jīng)被應用到當前節(jié)點的屬性,并且會按選擇器進行排序。
在 "element.style" 部分會顯示在頁面標記中通過樣式屬性設置的相關屬性。
下一個部分是 ”Matched CSS Rules“,這里會顯示匹配相應節(jié)點的選擇器,他們的屬性和值,甚至是其源文件名,以及讀取該樣式的行號。選擇器匹配的節(jié)點將會被設置為黑色,其他的將會顯示成灰色。這么做最大的好處就是在于我們在閱讀時可以更好的區(qū)分選擇器篩選出來的東西。
在一個子面板中改變?nèi)魏?CSS 屬性,比如一個元素的邊界和尺寸,將會將會立刻生效并且在主顯示窗口中顯示。
返回 ”Matched CSS Rules“ 面板,點擊在規(guī)則旁邊的樣式表的鏈接也可以引導你進入 "Sources" 面板。這會顯示完整的樣式表并且會直接定位到相關的 CSS 規(guī)則的行號處。
在這里,你可以向使用常規(guī)編輯器那樣更改文件,并且瀏覽器會實時顯示更改后的效果。
如果你對于做出的更改感到滿意,你可以保存文件。
為此,首先要確認你是否源面板下的文本編輯視圖中做出的更改:
或者是在 ”Element->Style panle“(for SASS/CSS)中點擊文件名稱(例如:style.css)。
接下來,右鍵點擊文件名或者直接點擊文本編輯器內(nèi)任意位置,然后選擇"Save As"。這將彈出一個允許你保存的菜單。
之后提交的更改(在同樣的菜單中保存的或者是使用 Ctrl
/Cmd
+ S
快捷鍵)都會保存到同一個位置中。
開發(fā)工具同樣維護了所有對本地文件做出的歷史修改。如果你已經(jīng)編輯了一段腳本或者樣式表并且使用了開發(fā)工具進行保存,你可以在 Sources 右鍵一個文件名(或者在 source 區(qū)域)然后選擇 ”Local modifications“ 來查看歷史記錄。
一個本地修改面板將會顯示:
此外還有一些鏈接。revert 會將文件上所有的更改回復到它原始的狀態(tài),并且移除更改歷史。
Apply original content 將有效地重復同一操作,但是會維護視圖中的修改歷史,以免你希望回溯到某個特定更改后。
最終,apply version content 將會應用全部更改,并提供時間集上的特定修改記錄。
有時候你想能夠保存小的腳本,書簽和實用的工具好讓這些工具可以讓你在調(diào)試的時候可以用的上。Snippets 是一個新的可以在這個開發(fā)流程中使用的開發(fā)者工具,它允許你在源面板中創(chuàng)建,存儲和執(zhí)行 JavaScript?,F(xiàn)在可以在Chrome Canary 中獲取。
以下是 Snippets 比較有用的情況:
Brian Grinstead 提供了一個存放有用 Snippets 給開發(fā)者的地方,就在 bgrins.github.io/devtools-snippets
用 Snippets 開始,導航到 Sources 面板。如果你沒有做出任何改動,你將會看到默認的布局,就像下面一樣:
點擊在上面左邊角落的切換鍵可以顯示展開后的面板。這里你應該已經(jīng)看見了 Sources,Content scripts 和一個新的標簽,Snippets。點擊它然后進入 Snippets。
Snippets 通過兩個面板來工作。左側(cè)的面板(與 Sources 相似)是文件列表,選擇一個 snippets 文件將會在右邊的編輯器中打開它。這和你在源面板中選中腳本或者樣式表是類似的。
在文件列表中右鍵點擊并選擇 "New" 會創(chuàng)建一個新的 snippet 文件。
Snippet 文件名稱是被自動創(chuàng)建的,但是當 snippets 文件創(chuàng)建之后,你同樣也可以自行更改文件名。
這之后只要想再次更改文件名,只需在文件列表中再次右鍵,選中 “Rename”。如果你需要的話也可以選擇 “Remove” 。
從文件列表中選擇一個 Snippets 文件,然后在你的右側(cè)的編輯器中打開。這里你可以寫或者粘貼任何 JavaScript 代碼(換句話說就是你的 Snippet),包括函數(shù)和表達式。
如果一個文件名以 * 結(jié)尾,那么就意味著這個文件已經(jīng)被修改,但是沒有保存。
要執(zhí)行這個 Snippet,在文件列表上右鍵在該文件,然后選擇 ”Run“。或者你可以點擊 *Run(>)* 按鈕。
如果這個 snippet 會有控制臺輸出,編輯器下的控制臺會輸出相關內(nèi)容。
注意:使用鍵盤快捷鍵也可以執(zhí)行一個 snippet-選中你的 snippet ,之后使用
Ctr
/Cmd
+Enter
來運行它。這和使用 Run(>)按鈕的行為是一樣的-當前僅僅在 Source 控制臺,但是之后將會跳轉(zhuǎn)到到 debugger 控制臺。
如果你想在控制臺中,執(zhí)行 snippet 的一些特殊行中的代碼,你可以在編輯器中選中這些代碼,然后右鍵,選擇 "Evaluate in Console" 選項來進行執(zhí)行。鍵盤上的快捷鍵是 Ctrl
+ Shift
+ E
。
選中 Run 后,輸出的表達式將會在編輯器下方的控制臺中輸出。
對于每一個 Source,Snippet 也支持瀏覽本地更改并回滾到一個特定時間點的更改。
保存更改后在編輯器中右鍵,然后選擇 “Local modifications” 就可以使用該功能。
其他你在 Sources 面板中使用的功能,比如添加觀察表達式,斷點,收起變量和保存文件同樣也可以在 Snippet 中使用。
請閱讀 Sources 面板這一章來了解更多關于這些功能的更多內(nèi)容。
Snippets 可以被保存并且之后依舊能夠通過開發(fā)者工具中的 Snippets 選項卡來使用,或者直接導出一個新的文件。在文本編輯中右鍵打開編輯菜單以獲取 Snippet 的保存選項。
Save 會將變更保存到已有的 Snippets 文件中,而 Save As 將會允許你將這個 Snippets 保存到新的文件路徑中。
注意:Snippets 保存在開發(fā)者工具的本地存儲中。當使用 Sava/Save As的時候,你可以將這個 Snippets 綁定到任何位置的文件中,就像保存其他腳本一樣。
就像在 Sources 中的腳本和樣式表一樣,Snippets 也可以使用我們之前提到的相應的鍵盤快捷鍵,比如導航到特定的 Snippets 文件,函數(shù),或者行號。
更多建議: