# 軟體配置 本文記錄幾個我個人慣用開發軟體的常用套件、指令等,下方指令皆為 Windows 版本 ## Google Chrome專題 ### 常用套件、插件-從 Chrome web store 下載 Type Sample:馬上知道瀏覽網頁文字字體及大小,可以直接以書籤形式使用 Dimensions:知道網頁中元素的距離 Pesticide for chrome:可了解原始網頁元素分布情況 wappalyzer:可以知道網站使用哪些語言框架,紅色符號才能用 JSONview:分析JSON檔結構 Vue.js Devtools:檢視Vue內容的console windows resizer:自由設定瀏覽模式及大小 ### Chrome 線上應用程式 web server for chrome:創造本地網頁伺服器,需要載入資料夾 本機伺服器-127.0.0.1 勾選下方Accessible on local network、also on Internet後關閉再開啟,可產生192.168.1.102供同路由器下(同網域)其他人讀取 ### Chrome dev tool 可在這邊測試完CSS、JS再貼進編輯器 #### Element 主要看HTML、CSS,也可觀察元素上綁定的JS EventListener事件 右鍵breakon設定DOM事件斷點(到該事件執行前會暫停,用/source看) #### Network 可選擇頻寬,分別顯示載入檔案數量及種類,最好都在 3 秒內完成載入 盡量少用自動播放動畫以維持效能 #### Console 可直接測試JS碼、協助除錯  `console.dir`可見所有屬性方法,沒被所有瀏覽器支援  `console.table`可用表格方式成內容  `console.time(var)`、`console.timeEnd(var)`兩命令相加可知執行var所需時間 ##### 錯誤類型 RHS Right-hand side右側變數取值 如`console.log(ad)`、`var man = ming`,執行時才出現錯誤 LHS Left-hand side左側變數賦值 如`var answer = 6` 出錯表示左邊沒辦法被賦值,編譯過程就會出錯 本機伺服器有錯誤不修正就會卡住該點,下面的程式都無法運行 #### Source 可觀察JS部屬到執行過程、EventListener事件、設定斷點(先不要執行該行),即時修改並儲存 載入後要重新整理才能使用,不行就先暫停再重整 ##### 右邊或下方工具列 Pause/resume script execution-F8 進到下一個斷點 Step over next function call-F10 依程式運作邏輯向下一步(不進函式),不管斷點 Step into next function-F11 依運作邏輯向下一步(進函式),不管斷點 Step out of current function-Shift + F11 依運作邏輯跳出現今函式,進入下個命令 Step-F9 依實際程式運作邏輯向下一步(進函式)不管斷點 最後藍色暫停鍵/pause on exceptions表示以錯誤時為斷點 Watch監測特定變數變化 Call stack、Scope觀察執行堆疊及作用域 xhr breakpoint 可以設定關鍵字、留空就是監視各種相關事件、也可用於查詢使用api #### Performance 可先錄製動作後進行分析 FPS (每秒畫面禎數) 1 秒 50-60 較為流暢 下面 summary 可觀察 scripting(運行程式)、rendering(排版)、painting(繪製) #### Memory 可於錄製後分析記憶體用量,function、log都會使用,如果資料沒人參考就會釋放 ## VSCode專題 ### 指令 開啟檔案-Ctrl + p 關閉檔案-Ctrl + w 關閉所有檔案-Ctrl + K Ctrl + w #### 檢視: 開關 Sidebar(檔案總管列出檔案處)-Ctrl + b Sidebar切到檔案總管-Ctrl+Shift+e Sidebar切到延伸模組-Ctrl+Shift+x  @builtin顯示內建延伸模組 開關 Panel底欄狀態列-Ctrl+j 主控台-Ctrl+~(ESC下方鍵)可叫出終端機 游標跳轉到頁頭-Ctrl + Home 游標跳轉到頁尾-Ctrl + End 展開區域代碼-Ctrl + Shift + ] 折疊區域代碼-Ctrl + Shift + [ 切換編輯器-Ctrl+PageUp、Down //#region ... //#endregion可創造自選摺疊範圍 #### 選取: 選取同字元-Ctrl+d每次向後選一個,其後可用Ctrl+左右在內容和tag間調整游標位置,  Ctrl+Shift+l一次全選同字元 F2-選取並更改專案中特定函式、以及由此函式生的建構instance,例如下面book1 ``` function Book1(title, author) { this.title = title; this.author = author; } new Book1("War of the Worlds", "H G Wells"); ``` Alt+Shift+右-向右從tag增加選取內容(或相反),依序為單字、用連字號-或_連接的字、一個變數、括號1、括號2、一行內的全命令、一行全命令連縮排、全選 Alt+Shift+Ctrl+方向鍵-一次一個字元的選取 壓住滑鼠中鍵拖曳-垂直選取特定範圍 Alt+Ctrl+上下、Alt+Click以增加游標數 #### 內容: 減少縮排-Shift+Tab 整理排版-Alt+Shift+f 開上方新行-Ctrl+Shift+Enter 開下方新行-Ctrl+Enter 同指令開新行複製貼上-Alt + Shift + 上下  剪下貼上整行只要游標在同行上就可進行 特定行指令上下搬動-Alt+上下 刪除一整行-Ctrl+Shift+k 將某行改為註解-Ctrl+/  塊區域註釋-Shift + Alt + A 加入資料型別檢查-檔案中加入 // @ts-check 切換語言-Ctrl+Shift+p開啟套件主控台→輸入display language 檢查各插件使用記憶體-Ctrl+Shift+p開啟套件主控台→輸入Developer: Open Process Explorer #### VSCode設定專題 打開設定-Ctrl+, 設定模式有json文字跟GUI圖形兩種,又可分全域跟工作區兩種 全域在settings.json中設定以下命令可增加emmet縮寫支援 ``` "emmet.includeLanguages": { "javascript": "javascriptreact", "vue-html": "html", "plaintext": "jade" }, "emmet.triggerExpansionOnTab": true, ``` 工作區則先點工作區再開啟settings.json #### VSCode自訂snippet專題 使用者設定→設定→使用者程式碼片段→新增全域程式碼片段 設定`"editor.snippetSuggestions": "top"`, 把自訂snippet放到建議列表前端   `"editor.TabCompletion": true`, Tab自動轉換不用等 `${1:預設已輸文字}、${2|one,two選項|}`為參數概念,可一次改變所在位置內容,可用Tab切換 $0表示游標最後位置,亦可用Tab到達 此prefix指令可設定多組呼叫關鍵字 ``` "add Copyright notice": {  "prefix": [ "header", "stub", "copyright"],  "body": [...] } ``` #### 搜尋: 在單檔中搜尋-Ctrl+f 搜尋專案資料夾內各檔案-Ctrl+Shift+f 在單檔中取代-Ctrl+h 搜尋取代時可用regex,萬用字元為(.+?),被替代的字元依序為$1、$2 [abc] 字元集合(a、b或z) [^abc] 負值字元集合 (任何字元, 除了abc) ^ 匹配字串的開始 $ 匹配字串的結束 \b 匹配單詞的開始或結束 {n} 重複n次 {n,} 重複n次或更多次 {n,m} 重複n到m次 {n,m}? 重複n到m次,但儘可能少重複 {n,}? 重複n次以上,但儘可能少重複 ### 套件、插件 #### 已安裝 indent rainbow可用於辨別indent Bracket pair colorizer增加大括號物件標示 git lens補充git功能 Code Spell checker檢查拼字 favorites製作檔案書籤 AutoFileName自動補完檔名 Auto Rename Tag多數情況下同時修改開頭跟結尾標籤,特別是對齊後的(但很慢...) Path IntelliSense自動補完路徑 vetur標示vue物件及自動排版整個檔案 `<script lang="ts">`自行設定使用語言 "vetur.format.options.TabSize": 2, "vetur.format.options.useTabs": false 可被格式化繼承,但會被.prettierrc和.eslintrc.js覆蓋 Prettier - Code formatter格式器、排版,安裝後記得設定editor.defaultFormatter Preview on Web Server建立本地伺服器,用vscode會即時更新  Ctrl+Shift+l可以瀏覽器開啟目前工作 Ctrl+Shift+v透過side panel開啟目前工作 Ctrl+Shift+r重啟伺服器,只能在command palette使用 Ctrl+Shift+s關閉伺服器,只能在command palette使用 Ctrl+Shift+u顯示UI頁面,可在UI頁面調整各種功能選項 不能用可以更換為ritwickdey.LiveServer #### 未安裝 project manager製作專案書籤 Copy Relative Path按右鍵複製相對路徑 Regex Previewer預覽Regex change-case轉換命名風格 #### 次要插件 polacode轉程式碼為圖片,選取程式碼後按Ctrl+Shift+p輸入pola即會輸出檔案 vscode-pdf用VSCODE讀PDF檔 excel viewer對檔案按右鍵開啟 #### 插件相關指令 cmd+Shift+p 輸入 config recommend ,會在專案下建立 .vscode/extensinos.json 把擴充工具ID放入可以透過@recommended推薦給團隊 #### 參考插件 Material Icon Theme - pkief.material-icon-theme Material Theme - equinusocio.vsc-material-theme Cobalt2 Theme Official - wesbos.theme-cobalt2 advanced-new-file - patbenatar.advanced-new-file Markdown All in One - yzhang.markdown-all-in-one jumpy - wmaurer.vscode-jumpy-CSS指令自動帶入各種prefix ## Sublime專題 Goto/Goto anything主要處理檔案路徑style.css :98表示第98行Ctrl+p Goto/Goto Symbol .p表示特定selector @可總覽所有selector Ctrl+r Edit/text/insert line before Ctrl+Shift+Enter Edit/text/insert line after Ctrl+Enter 該行文字直接轉為註解 Ctrl+? 選取同字串 Ctrl+d 開啟套件主控台 Ctrl+Shift+p ### 套件及指令 HTML/CS/JS prettify----Ctrl+Shift+h程式碼自動對齊 colorpicker----Ctrl+Shift+c叫出調色盤 Color Highlight可在色碼、顏色名稱底下顯示該顏色 AutoFileName自動補完檔名 ## Emmet專題 當右下角為html時,輸入!再按Tab會跑出html基本指令 輸入link:css再按Tab可帶入CSS檔案連結指令 輸入p*3等tag後再按Tab會長出三個<p></p> 輸入ul>li再按Tab會自動帶入<ul><li>>意為前包後 +意為接續 Tab#id Tab.class1.class2再按Tab可自動帶入屬性,如果沒打Tab部分則會自動帶入div $可用於替代序列性數字、$$表示01-99、$@3表示從3開始、$@-3表示反向數字從3開始 表示長度時px不用打、p代表percent lorem可自動輸入假字以供檢視樣式,lorem3表示只要三個字,lorem*3表示3倍的假文 tag[attri=XX]{文字內容} 包裝:選取文本後叫出主控台,再輸入div>ul>li*|t 沒*號表示用一行,剩下會被*填滿、|t可刪除1、1.序數