---
# System prepended metadata

title: Visual Studio Code tutorial＆NOTE

---

# Visual Studio Code tutorial＆NOTE
## system requirements (C++)
* [windows] 需先安裝MinGw或Microsoft c++，並加入system PATH
* :apple: [MacOS] Clang已安裝，需安裝xcode command line tools
## system requirements (Python)
* [windows] 安裝python interpreter, 建議anaconda,並加入system path
* :apple:[MacOS]安裝anaconda, xcode command line tools

## STEPS
### VSCODE介面
![](https://i.imgur.com/QBSKcNh.png)
最左側直列->為功能表列，會依擴充功能新增選項
左下人像->Account
左下齒輪->設定
左中->導覽列
右->編輯區
上->導覽列、內有快捷

#### 設定選項：
![](https://i.imgur.com/GkCIdr3.png)
##### settings 設定
![](https://i.imgur.com/fYV5udc.png)
新版本應有GUI，舊版本為JSON編輯頁面
有新的extention就會有新的設定選項，故這邊無法把所有的內容都列出翻譯、說明，請自行上網找資料，或至vscode market place查看 README檔
##### user snippets 使用者程式碼片段
為眾多ＩＤＥ訂有的功能之一，可以自定義關鍵字，一次打出（多行）特定的程式碼，以C++為例，在一般的程式中，皆須打出include和main函式，使用user snippets就可以一次打出
```json=
{
// Place your snippets for cpp here. Each snippet is defined under a snippet name and has a prefix, body and 
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the 
// same ids are connected.
// Example:
// "Print to console": {
// 	"prefix": "log",
// 	"body": [
// 		"console.log('$1');",
// 		"$2"
// 	],
// 	"description": "Log output to console"
// }
}
```
```json=
{
	"basic cpp code": {
		"prefix": "init",
		"body":[
			"#include <iostream>$1",
			"using namespace std;",
			"int main(int argc, char const *argv[]){ ",
			"    $2",
			"    return 0;",
			"}"

		],
		"description": "cpp基本代碼"

	}

}
```