# vscode 使用原則 vscode for Remote Development
## 使用方式
SSH Host 設定 `[username]@[host]` 並選擇 `linux` 即可連線使用,詳細方式可以參考 [VScode - Remote Development using SSH](https://code.visualstudio.com/docs/remote/ssh)
## 常見問題
1. `~/.vscode-server` 占用家目錄空間導致硬碟 quota 不足
solution: [避免佔用家目錄空間](#quota)
2. vscode 沒有正確關閉 connection,留下過多 orphan processes 超過每人 process 上限 (512)
solution: [避免 orphan processes](#orphan-processes)
## Best Practice and Recommendations
### 避免佔用硬碟 quota
##### 定期清理 ~/.vscode-server
可以使用 `rm -rf ~/.vscode-server` 將 `~/.vscode-server` 資料夾定期刪除,此方法刪除的內容有所有與 vscode 設定相關的資料,包含安裝的 extension
##### 搬移 ~/.vscode-server
可以將 `~/.vscode-server` 目錄移動至 `/tmp2` 就不會占用家目錄 quota
1. `mv ~/.vscode-server /tmp2/$your-dir/.vscode-server`
2. `ln -s /tmp2/$your-dir/.vscode-server/ .vscode-server`
### 避免 orphan processes
##### 正確關閉 connection
每次結束使用 vscode 前點選左下的 SSH session,並 "Close Remote Connection"
##### 定期清理 process
note: 即使每次都有關閉 connection 仍需定期清理
使用 `ps aux | grep $(whoami) | grep vscode` 查看 vscode 目前存在的 process,接著用 `ps aux | grep $(whoami) | grep vscode | awk '{print $2}' | xargs kill -9` 停止所有 vscode process,清理後建議再次檢查是否還有殘留 process
## Reference
[Pawsey - Visual Studio Code for Remote Development](https://pawsey.atlassian.net/wiki/spaces/US/pages/51931360/Visual+Studio+Code+for+Remote+Development)