9.5 KiB
9.5 KiB
快速鍵
顯示快速鍵列表
- Windows:
Ctrl + k+Ctrl + s - Mac:
⌘ + k+⌘ + s
分割目前視窗
- Windows:
Ctrl + \ - Mac:
⌘ + \
程式格式化
格式化整個文件
Shift + Alf + f
格式化選取的範圍
Ctrl + k + Ctrl + f
setting.json
"editor.formatOnType": true:輸入一行後,自動格式化目前這一行。"editor.formatOnSave": true:儲存時格式化檔案。"editor.formatOnPaste": true:貼上程式碼時格式化貼上的內容。
{
// 文字編輯器
"editor.bracketPairColorization.enabled": true,
"editor.fontFamily": "Cascadia Code", // 字型
"editor.fontLigatures": true, //啟用連字
"editor.fontSize": 14, // 文字大小
"editor.fontWeight": "normal",
"editor.guides.bracketPairs": false,
"editor.guides.indentation": false,
"editor.insertSpaces": true,
"editor.minimap.renderCharacters": false,
"editor.renderWhitespace": "boundary",
"editor.renderLineHighlight": "all", // 整行高亮
"editor.snippetSuggestions": "top", // 將程式碼片段建議顯示於頂端
"editor.tabCompletion": "on", // 啟用tab鍵自動完成
"editor.tabSize": 4,
"editor.wordWrap": "off",
// 檔案
"files.trimTrailingWhitespace": true, // 儲存檔案時去除行尾空白
"files.insertFinalNewline": true, // 儲存檔案時在結尾插入一個新行
// 檔案管理員
"explorer.confirmDelete": false,
// 工作台
"workbench.colorTheme": "One Dark Pro", // 主題
"workbench.iconTheme": "material-icon-theme", // Icon主題
"workbench.tree.indent": 15,
"workbench.tree.renderIndentGuides": "always",
"workbench.colorCustomizations": {
"tree.indentGuidesStroke": "#05ef3c"
},
"breadcrumbs.enabled": true, // 啟用麵包屑,可以通過上方路徑來資料夾、文件或者是函數的跳轉
"oneDarkPro.vivid": true,
"diffEditor.wordWrap": "off",
// 終端機
"terminal.integrated.fontFamily": "Fira Code",
"editor.accessibilitySupport": "off",
"[python]": {
"editor.formatOnType": true
},
"polacode.target": "snippet",
"editor.inlineSuggest.enabled": true,
"github.copilot.enable": {
"*": true,
"yaml": false,
"plaintext": false,
"markdown": false,
"scminput": false
}
}
折疊程式碼
收起目前區塊
- Windows:
Ctrl + Shift + [ - Mac:
⌥ + ⌘ + [
打開目前區塊
- Windows:
Ctrl + Shift + ] - Mac:
⌥ + ⌘ + ]
收起目前區塊(整個檔案)
- Windows:
Ctrl + (K => 0) (zero) - Mac:
⌘ + (K => 0) (zero)
打開目前區塊(整個檔案)
- Windows:
Ctrl + (K => J) - Mac:
⌘ + (K => J)
在「已開啟的檔案」間跳轉
Ctrl + tab
Plugin
Setting Sync
- 參考:https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync
- GIST Token:e0f7c5233e3c6dafee77047f61ea74f0d01d24e1 - GIST Token:
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 - GIST ID:
aaee0ee8733879ef2da2eb1b4bf8a993 - GIST address: https://gist.github.com/AwinHuang/aaee0ee8733879ef2da2eb1b4bf8a993
Code snippets
html.json
{
"HTML template": {
"prefix": "HTML_template",
"body": [
"<!doctype html>",
"",
"<html lang=\"en\">",
"<head>",
" <meta charset=\"utf-8\">",
" <meta name=\"description\" content=\"Awin's HTML template\">",
" <meta name=\"author\" content=\"Awin Huang\">",
" <script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js\"></script>",
" <title>A HTML template</title>",
"</head>",
"",
"<body>",
" <H1>Awin's HTML template</H1>",
" <p>Click to hide</p>",
"</body>",
"</html>",
"",
"<script>",
" $(document).ready(function(){",
" $(\"p\").click(function(){",
" $(this).hide();",
" });",
" });",
"</script>",
],
"description": "HTML template"
}
}
python.json
{
"Python template": {
"prefix": "Python_Template",
"body": [
"import sys",
"import argparse",
"",
"",
"def main(args=None):",
" ${1:pass}",
"",
"",
"if __name__ == '__main__':",
" parser = argparse.ArgumentParser()",
" parser.add_argument(\"first_file\", help=\"The first file\")",
" parser.add_argument(\"-s\", \"--sample_args\", default=\"sample_args\", help=\"Modify this arguments for you\")",
" args = parser.parse_args()",
" main(args)",
" sys.exit(0)"
],
"description": "Python script template"
},
"F Print": {
"prefix": "f-print",
"body": [
"print(f'$1 = {$1}')"
],
"description": "print() with f-string and default {}"
},
"Q Print": {
"prefix": "q-print",
"body": [
"print('$1 = {}, '.format($1))"
],
"description": "print() with f-string and default {}"
},
"Debug RobotRun": {
"prefix": "debug_robotrun",
"body": [
"import os",
"import sys",
"sys.path.insert(0, 'D:/codes/logitech/')",
"import RobotRun",
"print('+------------------------------------------------------------------------------+')",
"print('| |')",
"print('| RobotRun: {}'.format(RobotRun.__file__))",
"print('| |')",
"print('+------------------------------------------------------------------------------+')",
],
"description": "Change RobotRun to local version"
},
"Flask template": {
"prefix": "Flask_Template",
"body": [
"## Flask template",
"## Author: Awin Huang",
"## Date: 2020/04/09",
"",
"import os, sys",
"import datetime",
"import json",
"from flask import Flask, render_template, request",
"",
"",
"app = Flask(__name__)",
"",
"## Setup log",
"handler = logging.FileHandler('flask.log', delay=False)",
"handler.setLevel(logging.INFO)",
"app.logger.addHandler(handler)",
"app.logger.setLevel(logging.INFO)",
"",
"",
"def info_log(msg):",
" app.logger.info(msg)",
" # print(msg)",
"",
"",
"def error_log(msg):",
" app.logger.error(msg)",
"",
"",
"@app.route('/')",
"def index():",
" info_log('Return main page to user.')",
" return 'Hello, this is main page'",
"",
"",
"## Receive a GET request",
"@app.route('/get_get', methods=['GET'])",
"def run_testcase():",
" command = request.args.get('command')",
" value = 'This is value for GET'",
" return {",
" 'command': command,",
" 'value': value",
" }",
"",
"",
"## Receive a POST request",
"@app.route('/get_post', methods=['POST'])",
"def get_post():",
" command = request.form['command']",
" value = 'This is value for POST'",
" return {",
" 'command': command:",
" 'value': value",
" }",
"",
"",
"if __name__ == '__main__':",
" app.debug = True",
" app.run(host='0.0.0.0')",
],
"description": "Flask template"
},
"Datetime now": {
"prefix": "now_dt",
"body": [
"datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S:%f')"
],
"description": "Get datetime.now() with format '%Y-%m-%d %H:%M:%S:%f'"
},
"Run process": {
"prefix": "runprocess",
"body": [
"import multiprocessing as mp",
"",
"process = mp.Process(target=task_set.run, args=(self.task_sync, args))",
"process.start()",
"process.join()"
],
"description": "Run function in a process"
},
"Sleep with dots": {
"prefix": "sleepdots",
"body": [
"for i in range($1):",
" import time",
" print(\".\", end=\"\", flush=True)",
" time.sleep(1)",
],
"description": "Sleep and print \".\" every second"
},
"Sleep with numbers": {
"prefix": "sleepnum",
"body": [
"for i in range($1):",
" print(f\"{i+1} \", end=\"\", flush=True)",
" time.sleep(1)",
],
"description": "Sleep and print number every second"
},
}