- using mac --- # Command Palette 應用 ## 打開 command palette / 尋找檔案 1. 按下 <font color = "green">`command + P`</font> 就能打開 command palette,接著就能進一步搜尋檔案: ![image](https://hackmd.io/_uploads/BJCybpFX0.png) ## 搜尋指令 按下 <font color = "green">`command + P`</font>之後,再輸入 <font color = "green">`>`</font>,就能搜尋指令,並且查看快捷鍵: ![image](https://hackmd.io/_uploads/HJ2FWTFXC.png) ## 尋找目前檔案裡的符號 按下 <font color = "green">`command + P`</font>之後,再輸入 <font color = "green">`@`</font>,就能列出目前所在檔案裡的所有 symbols ,點按後會跳去這個 symbol 第一次出現的位置: ![image](https://hackmd.io/_uploads/SJhA-TFQ0.png) Note: > 如果不用 command palette,也可以直接按 <font color = "green">`command + shift + .`</font>,也會顯示所有的 symbols: ![image](https://hackmd.io/_uploads/SklM7pY7C.png) ## 跳到某一行 按下 <font color = "green">`command + P`</font> 之後,輸入 <font color = "green">`:數字`</font> 就能跳到指定數字的那一行: ![image](https://hackmd.io/_uploads/H1IVr6Y7C.png) > 按下 `:` 之後,會顯示你目前所在的行數,並顯示你可以再接著輸入的數字範圍(你目前所在的檔案總行數,我這個檔案只寫了 88 行,所以可以跳到 1~88 任一行。) 例如輸入 `:87`,就會跳到 87 行: ![image](https://hackmd.io/_uploads/BJKAr6KmR.png) # 編輯文字 ## 選取文字 在不用滑鼠的情況下,如果要選取某個 word 或某段文字,可以按 <font color = "green">`shift + 左/右鍵`</font>,例如: 原本 code 長這樣: ![image](https://hackmd.io/_uploads/SymRopFQA.png) 按住 `shift` 加上好幾次右鍵後: ![image](https://hackmd.io/_uploads/r1--2TK7C.png) ## 尋找目前滑鼠所在的 word <font color = "green">`command + d`</font> 會 highlight 所有和目前滑鼠所在的 word 相同的 word,例如: 原本滑鼠在 `mapped_colors`: ![image](https://hackmd.io/_uploads/rJbbiaKX0.png) 按了 `command + d` 後: ![image](https://hackmd.io/_uploads/SyR_oTtm0.png) > 所有出現 `mapped_colors` 的地方都會 highlight 標示。 ## 同時修改多個相同名稱的變數 有時候可能會突然想修改某個變數的名稱,但這個變數可能已經出現過好幾次,這時候就可以利用上面說過的 <font color = "green">`command + d`</font> 找到同個名稱出現的位置,例如在下方的 code 中,我想找到那些叫做 `x_vals` 的變數,然後刪掉 `s` 改成 `x_val`: 在我按過一次 `command + d` 後長這樣: ![image](https://hackmd.io/_uploads/SkiX66t7A.png) 接著再多按一次 `command + d`: ![image](https://hackmd.io/_uploads/SJwjpaKXC.png) > 後面 comment 處的 `x_vals` 也被選取了。 假設我要選取畫面中的這幾個 `x_vals`,剩下六個我就再按六次 `command + d`,就會變成下圖這樣: ![image](https://hackmd.io/_uploads/HytZC6KXR.png) 這時候直接按 backspace 會把這整個變數刪除,所以我們按一次右鍵將位置移到最後: ![image](https://hackmd.io/_uploads/rkyv06YQ0.png) > 此時在每個 `x_vals` 後方會有閃爍的 `|` 標示目前所在位置。 這時候再按 backspace 就會將所有的 `x_vals` 改成 `x_val` 了: ![image](https://hackmd.io/_uploads/H1_oA6t70.png) ## 將 comment 分類 有時候 comment 的目的可能不太相同,除了描述該行的內容以外,也有可能想標注之後要在這個地方做的事情、想新增的功能,或是有不確定該怎麼寫的地方、遇到的問題⋯⋯。 如果所有這些都用同樣的顏色可能會有點雜亂,因此我們可以下載一個 extension 叫做 [better comments](https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments)(連結為下載頁面) better comments 的使用方式很簡單,它將 comments 分為下圖中幾類,並用不同的顏色顯示: ![image](https://hackmd.io/_uploads/B1wlgC9QR.png) 只要在 comment 符號(如 python 的 `#` )後方打上圖中的: - <font color = "green">`*`</font> - <font color = "green">`!`</font> - <font color = "green">`?`</font> - <font color = "green">`TODO:`</font> - ... 就能分成不同的顏色,增加 code 的清晰度。 ### 新增/修改分類 除了這些以外,也能自己新增自訂義的 comment 分類,如果要對現有的這些修改顏色、代表符號等等也可以,只要去 `settings.json` 的檔案,找到 `"better-comments.tags":` 的部分去新增或修改即可。 如何找到 `settings.json` 的檔案: $\rightarrow$ 先按 `command + p` 叫出 command palette,接著搜尋 `settings.json` 即可。 打開然後找到以後大概會長這樣: ![image](https://hackmd.io/_uploads/Hk_3fVoXA.png) > 其中: > - `tag` 代表要輸入什麼文字或符號會變成這類型的 comment > - `color` 代表文字顏色 > - `strikethrough` 代表是否加上刪除線 > - `underline` 代表是否畫底線 > - `backgroundColor` 代表是否要有底色 > - `bold` 代表是否要加粗 > - `italic` 代表是否要為斜體 > > $\rightarrow$ 所有這些都可以自行更改 - 挑選色碼時可參考[這個網站](https://www.color-hex.com) 修改完畢後,記得一樣叫出 command palette,輸入 `>` 搜尋指令 `reload window` 將剛才修改的地方更新,就能成功顯示新的 comment 分類啦~ ![image](https://hackmd.io/_uploads/HkONEEsXR.png) #### 例子 除了改掉一些顏色以外,我新增了兩類 comment,一個是 `aim:` 一個是 `subaim:`,來更清楚的標示我的每段 code 要拿來做什麼: ```javascript { "tag": "aim:", "color": "#f8eeee", "strikethrough": false, "underline": false, "backgroundColor": "#b88c8c", "bold": false, "italic": false }, { "tag": "subaim:", "color": "#f8eeee", "strikethrough": false, "underline": false, "backgroundColor": "#937070", "bold": false, "italic": false } ``` 這樣的設定顯示出來會這樣: ![image](https://hackmd.io/_uploads/By8uH4jXC.png) > 是可愛又不傷眼睛的粉紅色! ## 同時 comment 多行 如果一次要將多行改為 comment,一一在每行前面加上 `#` 有點慢,如果不用前後加上 `'''` ,可以將要 comment 的範圍選取起來,接著按 <font color = "green">`command + /`</font>,就會同時把選取的地方變成 comment 了。 舉例來說,假設我要將下圖的 19 - 23 行設成 comment: ![image](https://hackmd.io/_uploads/HyMbO6qXA.png) 先選取起來: ![image](https://hackmd.io/_uploads/B1p4OTcmC.png) 再按 `command + /`,就會全變成 comment 了: ![image](https://hackmd.io/_uploads/rJUtuT9mA.png) # 移動 ## 移動所在位置 ### 左/右移一個 word 每次直接按左右鍵狂按很多次確實也可以移動,但是如果是要移動到下個 word,更快的方式是使用 <font color = "green">`option + 左/右鍵`</font>,例如: 現在我的位置在 `target_y_vals` 的最前方: ![image](https://hackmd.io/_uploads/S15ceRFX0.png) 按一次 `option + 右鍵` 後: ![image](https://hackmd.io/_uploads/Bk2IlAK70.png) > 移到 `target_y_vals` 後方 再按一次: ![image](https://hackmd.io/_uploads/r1m6g0Y7C.png) > 移到等號後方 ## 搬移 ### 把某行上/下搬移 假設目前我在第 64 行如下圖: ![image](https://hackmd.io/_uploads/B1rObRYm0.png) 我希望把這行(`target_y_vals = projected_y_vals[plot_index_list]`)往下搬到後面 ` target_mapped_colors = mapped_colors[plot_index_list] ` 之後,我們可以按 <font color = "green">`option + 上/下`</font>(此例為 `option + 下`)來把它整行下移。 按一次 `option + 下` 後: ![image](https://hackmd.io/_uploads/r184fRFmR.png) > 原本的 64 和 65 行對調了 ### 複製某行並貼在上/下方 由前一段提到的 `option + 上/下` 再加上同時按 `shift`,按下 <font color = "green">`option + shift + 上/下`</font> 會在上/下方加入一行相同的 code: 假設原本長這樣: ![image](https://hackmd.io/_uploads/rJ2I8T5QR.png) 按下 `option + shift + 下` 以後: ![image](https://hackmd.io/_uploads/rk9tUp9XA.png) --- # 參考資料 - [25 VS Code Productivity Tips and Speed Hacks](https://youtu.be/ifTF3ags0XI?si=PQ2ER0FsyT2ZuhlF)