- using mac
---
# Command Palette 應用
## 打開 command palette / 尋找檔案
1. 按下 <font color = "green">`command + P`</font> 就能打開 command palette,接著就能進一步搜尋檔案:

## 搜尋指令
按下 <font color = "green">`command + P`</font>之後,再輸入 <font color = "green">`>`</font>,就能搜尋指令,並且查看快捷鍵:

## 尋找目前檔案裡的符號
按下 <font color = "green">`command + P`</font>之後,再輸入 <font color = "green">`@`</font>,就能列出目前所在檔案裡的所有 symbols ,點按後會跳去這個 symbol 第一次出現的位置:

Note:
> 如果不用 command palette,也可以直接按 <font color = "green">`command + shift + .`</font>,也會顯示所有的 symbols:

## 跳到某一行
按下 <font color = "green">`command + P`</font> 之後,輸入 <font color = "green">`:數字`</font> 就能跳到指定數字的那一行:

> 按下 `:` 之後,會顯示你目前所在的行數,並顯示你可以再接著輸入的數字範圍(你目前所在的檔案總行數,我這個檔案只寫了 88 行,所以可以跳到 1~88 任一行。)
例如輸入 `:87`,就會跳到 87 行:

# 編輯文字
## 選取文字
在不用滑鼠的情況下,如果要選取某個 word 或某段文字,可以按 <font color = "green">`shift + 左/右鍵`</font>,例如:
原本 code 長這樣:

按住 `shift` 加上好幾次右鍵後:

## 尋找目前滑鼠所在的 word
<font color = "green">`command + d`</font> 會 highlight 所有和目前滑鼠所在的 word 相同的 word,例如:
原本滑鼠在 `mapped_colors`:

按了 `command + d` 後:

> 所有出現 `mapped_colors` 的地方都會 highlight 標示。
## 同時修改多個相同名稱的變數
有時候可能會突然想修改某個變數的名稱,但這個變數可能已經出現過好幾次,這時候就可以利用上面說過的 <font color = "green">`command + d`</font> 找到同個名稱出現的位置,例如在下方的 code 中,我想找到那些叫做 `x_vals` 的變數,然後刪掉 `s` 改成 `x_val`:
在我按過一次 `command + d` 後長這樣:

接著再多按一次 `command + d`:

> 後面 comment 處的 `x_vals` 也被選取了。
假設我要選取畫面中的這幾個 `x_vals`,剩下六個我就再按六次 `command + d`,就會變成下圖這樣:

這時候直接按 backspace 會把這整個變數刪除,所以我們按一次右鍵將位置移到最後:

> 此時在每個 `x_vals` 後方會有閃爍的 `|` 標示目前所在位置。
這時候再按 backspace 就會將所有的 `x_vals` 改成 `x_val` 了:

## 將 comment 分類
有時候 comment 的目的可能不太相同,除了描述該行的內容以外,也有可能想標注之後要在這個地方做的事情、想新增的功能,或是有不確定該怎麼寫的地方、遇到的問題⋯⋯。
如果所有這些都用同樣的顏色可能會有點雜亂,因此我們可以下載一個 extension 叫做 [better comments](https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments)(連結為下載頁面)
better comments 的使用方式很簡單,它將 comments 分為下圖中幾類,並用不同的顏色顯示:

只要在 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` 即可。
打開然後找到以後大概會長這樣:

> 其中:
> - `tag` 代表要輸入什麼文字或符號會變成這類型的 comment
> - `color` 代表文字顏色
> - `strikethrough` 代表是否加上刪除線
> - `underline` 代表是否畫底線
> - `backgroundColor` 代表是否要有底色
> - `bold` 代表是否要加粗
> - `italic` 代表是否要為斜體
>
> $\rightarrow$ 所有這些都可以自行更改
- 挑選色碼時可參考[這個網站](https://www.color-hex.com)
修改完畢後,記得一樣叫出 command palette,輸入 `>` 搜尋指令 `reload window` 將剛才修改的地方更新,就能成功顯示新的 comment 分類啦~

#### 例子
除了改掉一些顏色以外,我新增了兩類 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
}
```
這樣的設定顯示出來會這樣:

> 是可愛又不傷眼睛的粉紅色!
## 同時 comment 多行
如果一次要將多行改為 comment,一一在每行前面加上 `#` 有點慢,如果不用前後加上 `'''` ,可以將要 comment 的範圍選取起來,接著按 <font color = "green">`command + /`</font>,就會同時把選取的地方變成 comment 了。
舉例來說,假設我要將下圖的 19 - 23 行設成 comment:

先選取起來:

再按 `command + /`,就會全變成 comment 了:

# 移動
## 移動所在位置
### 左/右移一個 word
每次直接按左右鍵狂按很多次確實也可以移動,但是如果是要移動到下個 word,更快的方式是使用 <font color = "green">`option + 左/右鍵`</font>,例如:
現在我的位置在 `target_y_vals` 的最前方:

按一次 `option + 右鍵` 後:

> 移到 `target_y_vals` 後方
再按一次:

> 移到等號後方
## 搬移
### 把某行上/下搬移
假設目前我在第 64 行如下圖:

我希望把這行(`target_y_vals = projected_y_vals[plot_index_list]`)往下搬到後面 ` target_mapped_colors = mapped_colors[plot_index_list]
` 之後,我們可以按 <font color = "green">`option + 上/下`</font>(此例為 `option + 下`)來把它整行下移。
按一次 `option + 下` 後:

> 原本的 64 和 65 行對調了
### 複製某行並貼在上/下方
由前一段提到的 `option + 上/下` 再加上同時按 `shift`,按下 <font color = "green">`option + shift + 上/下`</font> 會在上/下方加入一行相同的 code:
假設原本長這樣:

按下 `option + shift + 下` 以後:

---
# 參考資料
- [25 VS Code Productivity Tips and Speed Hacks](https://youtu.be/ifTF3ags0XI?si=PQ2ER0FsyT2ZuhlF)