Skip to content

Instantly share code, notes, and snippets.

@xianghongai
Last active August 30, 2022 09:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xianghongai/5f0eb9482b96be16eb6865cbc7728d29 to your computer and use it in GitHub Desktop.
Save xianghongai/5f0eb9482b96be16eb6865cbc7728d29 to your computer and use it in GitHub Desktop.
Visual Studio Code Sync Share
{"lastUpload":"2022-08-30T09:23:43.263Z","extensionVersion":"v3.4.3"}
[
{
"metadata": {
"id": "d3836729-9cc1-42c1-b2af-d50071f57d29",
"publisherId": "formulahendry.auto-close-tag",
"publisherDisplayName": "formulahendry"
},
"name": "auto-close-tag",
"publisher": "formulahendry",
"version": "0.5.14"
},
{
"metadata": {
"id": "6e440e71-8ed9-4f25-bb78-4b13096b8a03",
"publisherId": "formulahendry.auto-rename-tag",
"publisherDisplayName": "formulahendry"
},
"name": "auto-rename-tag",
"publisher": "formulahendry",
"version": "0.1.10"
},
{
"metadata": {
"id": "b689fcc8-d494-4dbf-a228-2c694a578afc",
"publisherId": "alefragnani.Bookmarks",
"publisherDisplayName": "alefragnani"
},
"name": "Bookmarks",
"publisher": "alefragnani",
"version": "13.3.1"
},
{
"metadata": {
"id": "2aa040bf-c73a-455d-8946-5c6cc83b8019",
"publisherId": "wmaurer.change-case",
"publisherDisplayName": "wmaurer"
},
"name": "change-case",
"publisher": "wmaurer",
"version": "1.0.0"
},
{
"metadata": {
"id": "a6a0c5b2-d078-4bf5-a9ee-4e37054414b3",
"publisherId": "formulahendry.code-runner",
"publisherDisplayName": "formulahendry"
},
"name": "code-runner",
"publisher": "formulahendry",
"version": "0.11.8"
},
{
"metadata": {
"id": "e337c67b-55c2-4fef-8949-eb260e7fb7fd",
"publisherId": "Shan.code-settings-sync",
"publisherDisplayName": "Shan"
},
"name": "code-settings-sync",
"publisher": "Shan",
"version": "3.4.3"
},
{
"metadata": {
"id": "f6dbd813-b0a0-42c1-90ea-10dde9d925a7",
"publisherId": "streetsidesoftware.code-spell-checker",
"publisherDisplayName": "streetsidesoftware"
},
"name": "code-spell-checker",
"publisher": "streetsidesoftware",
"version": "2.7.0"
},
{
"metadata": {
"id": "8c1fc960-44b1-45e8-89b5-85f982fdaf27",
"publisherId": "adpyke.codesnap",
"publisherDisplayName": "adpyke"
},
"name": "codesnap",
"publisher": "adpyke",
"version": "1.3.4"
},
{
"metadata": {
"id": "816d44eb-5e28-431b-be81-2c52551d81ea",
"publisherId": "mitchdenny.ecdc",
"publisherDisplayName": "mitchdenny"
},
"name": "ecdc",
"publisher": "mitchdenny",
"version": "1.8.0"
},
{
"metadata": {
"id": "f60a60a6-95ba-42d4-b41c-3d24c1b89588",
"publisherId": "EditorConfig.EditorConfig",
"publisherDisplayName": "EditorConfig"
},
"name": "EditorConfig",
"publisher": "EditorConfig",
"version": "0.16.4"
},
{
"metadata": {
"id": "1b625615-bded-4797-9806-079abcacfcc1",
"publisherId": "letrieu.expand-region",
"publisherDisplayName": "letrieu"
},
"name": "expand-region",
"publisher": "letrieu",
"version": "0.1.4"
},
{
"metadata": {
"id": "4de763bd-505d-4978-9575-2b7696ecf94e",
"publisherId": "eamodio.gitlens",
"publisherDisplayName": "eamodio"
},
"name": "gitlens",
"publisher": "eamodio",
"version": "12.1.2"
},
{
"metadata": {
"id": "1bd4f828-df27-4316-952d-2d89c42e6b16",
"publisherId": "Asuka.insertnumbers",
"publisherDisplayName": "Asuka"
},
"name": "insertnumbers",
"publisher": "Asuka",
"version": "0.9.1"
},
{
"metadata": {
"id": "b63c44fd-0457-4696-99e9-dbfdf70d77de",
"publisherId": "ritwickdey.LiveServer",
"publisherDisplayName": "ritwickdey"
},
"name": "LiveServer",
"publisher": "ritwickdey",
"version": "5.7.8"
},
{
"metadata": {
"id": "3b1db1fc-c7f7-4bd6-9fa4-b499dfa99a8a",
"publisherId": "shd101wyy.markdown-preview-enhanced",
"publisherDisplayName": "shd101wyy"
},
"name": "markdown-preview-enhanced",
"publisher": "shd101wyy",
"version": "0.6.3"
},
{
"metadata": {
"id": "db9e305f-2d5a-44a5-97f7-91d4f2199a81",
"publisherId": "fcrespo82.markdown-table-formatter",
"publisherDisplayName": "fcrespo82"
},
"name": "markdown-table-formatter",
"publisher": "fcrespo82",
"version": "2.2.4"
},
{
"metadata": {
"id": "5db78037-f674-459f-a236-db622c427c5b",
"publisherId": "PKief.material-icon-theme",
"publisherDisplayName": "PKief"
},
"name": "material-icon-theme",
"publisher": "PKief",
"version": "4.20.0"
},
{
"metadata": {
"id": "07edd9f5-dc8a-41e4-bd52-850c236edbf0",
"publisherId": "metaseed.MetaJump",
"publisherDisplayName": "metaseed"
},
"name": "MetaJump",
"publisher": "metaseed",
"version": "1.4.0"
},
{
"metadata": {
"id": "1a7b1f64-469d-4116-bb35-508ea3894f88",
"publisherId": "raynigon.nginx-formatter",
"publisherDisplayName": "raynigon"
},
"name": "nginx-formatter",
"publisher": "raynigon",
"version": "0.0.13"
},
{
"metadata": {
"id": "79afa437-682e-4fa2-a4fd-87844832a1dc",
"publisherId": "ryu1kn.partial-diff",
"publisherDisplayName": "ryu1kn"
},
"name": "partial-diff",
"publisher": "ryu1kn",
"version": "1.4.3"
},
{
"metadata": {
"id": "0d1241e3-fa60-4f24-8f2a-6d7085677c48",
"publisherId": "ionutvmi.path-autocomplete",
"publisherDisplayName": "ionutvmi"
},
"name": "path-autocomplete",
"publisher": "ionutvmi",
"version": "1.20.2"
},
{
"metadata": {
"id": "a41c1549-4053-44d4-bf30-60fc809b4a86",
"publisherId": "christian-kohler.path-intellisense",
"publisherDisplayName": "christian-kohler"
},
"name": "path-intellisense",
"publisher": "christian-kohler",
"version": "2.8.1"
},
{
"metadata": {
"id": "96fa4707-6983-4489-b7c5-d5ffdfdcce90",
"publisherId": "esbenp.prettier-vscode",
"publisherDisplayName": "esbenp"
},
"name": "prettier-vscode",
"publisher": "esbenp",
"version": "9.8.0"
},
{
"metadata": {
"id": "1b747f06-3789-4ebd-ac99-f1fe430c3347",
"publisherId": "alefragnani.project-manager",
"publisherDisplayName": "alefragnani"
},
"name": "project-manager",
"publisher": "alefragnani",
"version": "12.6.1"
},
{
"metadata": {
"id": "c1f83a6b-6400-4f90-b341-846a48e20136",
"publisherId": "BBFE.qp-ide",
"publisherDisplayName": "BBFE"
},
"name": "qp-ide",
"publisher": "BBFE",
"version": "5.5.6"
},
{
"metadata": {
"id": "ea3b0eb9-3f67-4845-b107-0ad599361832",
"publisherId": "BBFE.qp-sitemap-editor",
"publisherDisplayName": "BBFE"
},
"name": "qp-sitemap-editor",
"publisher": "BBFE",
"version": "4.1.2"
},
{
"metadata": {
"id": "11858313-52cc-4e57-b3e4-d7b65281e34b",
"publisherId": "ms-vscode.remote-explorer",
"publisherDisplayName": "ms-vscode"
},
"name": "remote-explorer",
"publisher": "ms-vscode",
"version": "0.1.2022082909"
},
{
"metadata": {
"id": "607fd052-be03-4363-b657-2bd62b83d28a",
"publisherId": "ms-vscode-remote.remote-ssh",
"publisherDisplayName": "ms-vscode-remote"
},
"name": "remote-ssh",
"publisher": "ms-vscode-remote",
"version": "0.85.2022082615"
},
{
"metadata": {
"id": "bfeaf631-bcff-4908-93ed-fda4ef9a0c5c",
"publisherId": "ms-vscode-remote.remote-ssh-edit",
"publisherDisplayName": "ms-vscode-remote"
},
"name": "remote-ssh-edit",
"publisher": "ms-vscode-remote",
"version": "0.80.0"
},
{
"metadata": {
"id": "00518570-772b-4ccb-8b06-d056f3f556e0",
"publisherId": "Tyriar.sort-lines",
"publisherDisplayName": "Tyriar"
},
"name": "sort-lines",
"publisher": "Tyriar",
"version": "1.9.1"
},
{
"metadata": {
"id": "6623619a-676d-4cde-943f-a3c193b44fc0",
"publisherId": "ChakrounAnas.turbo-console-log",
"publisherDisplayName": "ChakrounAnas"
},
"name": "turbo-console-log",
"publisher": "ChakrounAnas",
"version": "2.5.1"
},
{
"metadata": {
"id": "2f5dd8cb-d251-4d70-abfe-ddebcb077483",
"publisherId": "octref.vetur",
"publisherDisplayName": "octref"
},
"name": "vetur",
"publisher": "octref",
"version": "0.36.0"
},
{
"metadata": {
"id": "70159dd5-3ca5-4ccc-a7ae-011a662e08c2",
"publisherId": "mrmlnc.vscode-autoprefixer",
"publisherDisplayName": "mrmlnc"
},
"name": "vscode-autoprefixer",
"publisher": "mrmlnc",
"version": "3.0.1"
},
{
"metadata": {
"id": "f97a6398-d553-44cf-9ebf-54e8dbf8d3fb",
"publisherId": "pucelle.vscode-css-navigation",
"publisherDisplayName": "pucelle"
},
"name": "vscode-css-navigation",
"publisher": "pucelle",
"version": "1.13.3"
},
{
"metadata": {
"id": "583b2b34-2c1e-4634-8c0b-0b82e283ea3a",
"publisherId": "dbaeumer.vscode-eslint",
"publisherDisplayName": "dbaeumer"
},
"name": "vscode-eslint",
"publisher": "dbaeumer",
"version": "2.2.6"
},
{
"metadata": {
"id": "d637104e-1fd7-4063-98fc-8afe46012c9b",
"publisherId": "sleistner.vscode-fileutils",
"publisherDisplayName": "sleistner"
},
"name": "vscode-fileutils",
"publisher": "sleistner",
"version": "3.5.0"
},
{
"metadata": {
"id": "855ea71f-dc48-40b4-a0fb-303c2c52ba95",
"publisherId": "heaths.vscode-guid",
"publisherDisplayName": "heaths"
},
"name": "vscode-guid",
"publisher": "heaths",
"version": "1.4.20"
},
{
"metadata": {
"id": "92d01ae4-5a2e-4299-990c-7905798fb719",
"publisherId": "jsynowiec.vscode-insertdatestring",
"publisherDisplayName": "jsynowiec"
},
"name": "vscode-insertdatestring",
"publisher": "jsynowiec",
"version": "2.3.1"
},
{
"metadata": {
"id": "13a64630-a963-4102-a5dd-488b09d1a9f1",
"publisherId": "NicholasHsiang.vscode-javascript-comment",
"publisherDisplayName": "NicholasHsiang"
},
"name": "vscode-javascript-comment",
"publisher": "NicholasHsiang",
"version": "1.0.5"
},
{
"metadata": {
"id": "ae467ce4-775d-47e8-aa16-50d563493942",
"publisherId": "NicholasHsiang.vscode-javascript-snippet",
"publisherDisplayName": "NicholasHsiang"
},
"name": "vscode-javascript-snippet",
"publisher": "NicholasHsiang",
"version": "0.1.6"
},
{
"metadata": {
"id": "e4ee7751-6514-4731-9cdb-7580ffa9e70b",
"publisherId": "MS-CEINTL.vscode-language-pack-zh-hans",
"publisherDisplayName": "MS-CEINTL"
},
"name": "vscode-language-pack-zh-hans",
"publisher": "MS-CEINTL",
"version": "1.71.8240911"
},
{
"metadata": {
"id": "414b2873-c80e-4dc6-9031-bd185cfb3944",
"publisherId": "william-voyek.vscode-nginx",
"publisherDisplayName": "william-voyek"
},
"name": "vscode-nginx",
"publisher": "william-voyek",
"version": "0.7.2"
},
{
"metadata": {
"id": "9a97436d-76aa-479c-8ae9-db2f400a7b04",
"publisherId": "ahmadalli.vscode-nginx-conf",
"publisherDisplayName": "ahmadalli"
},
"name": "vscode-nginx-conf",
"publisher": "ahmadalli",
"version": "0.1.3"
},
{
"metadata": {
"id": "016c23fd-fbd7-48a6-8e94-6418d5b941b0",
"publisherId": "NicholasHsiang.vscode-opened-editors",
"publisherDisplayName": "NicholasHsiang"
},
"name": "vscode-opened-editors",
"publisher": "NicholasHsiang",
"version": "0.1.4"
},
{
"metadata": {
"id": "c4fac055-b854-41f0-9610-f8a9d62e9b89",
"publisherId": "dbankier.vscode-quick-select",
"publisherDisplayName": "dbankier"
},
"name": "vscode-quick-select",
"publisher": "dbankier",
"version": "0.2.9"
},
{
"metadata": {
"id": "beb68b20-7c55-471c-9b63-3486f9423566",
"publisherId": "mrmlnc.vscode-scss",
"publisherDisplayName": "mrmlnc"
},
"name": "vscode-scss",
"publisher": "mrmlnc",
"version": "0.10.0"
},
{
"metadata": {
"id": "97a08c5f-6667-4242-a5c5-045dfb6bd4b9",
"publisherId": "wayou.vscode-todo-highlight",
"publisherDisplayName": "wayou"
},
"name": "vscode-todo-highlight",
"publisher": "wayou",
"version": "1.0.5"
},
{
"metadata": {
"id": "d88f593e-0116-4094-9b2f-d836704b87b0",
"publisherId": "NicholasHsiang.vscode-vue-basic-snippets",
"publisherDisplayName": "NicholasHsiang"
},
"name": "vscode-vue-basic-snippets",
"publisher": "NicholasHsiang",
"version": "0.0.3"
},
{
"metadata": {
"id": "a8cd1fee-3471-4775-8dd4-3465260e3bc6",
"publisherId": "NicholasHsiang.vscode-vue2-snippets",
"publisherDisplayName": "NicholasHsiang"
},
"name": "vscode-vue2-snippets",
"publisher": "NicholasHsiang",
"version": "1.1.1"
},
{
"metadata": {
"id": "876e8f93-74d0-4f4f-91b7-34a09f19f444",
"publisherId": "VisualStudioExptTeam.vscodeintellicode",
"publisherDisplayName": "VisualStudioExptTeam"
},
"name": "vscodeintellicode",
"publisher": "VisualStudioExptTeam",
"version": "1.2.23"
}
]
// #region DESCRIPTION
// IDE不要配置自定义快捷键
// 有用IDE和编辑器,将编辑器快捷键配置和IDE一致
// Alt (Alternate), 切换改变、修改之意, 侧重“动”。如:实现切换窗口、关闭当前应用程序、选择(访问)菜单、命令和选项等功能。苹果上为Option键,用作其他命令代码的修饰键。
// Ctrl (Control), 控制键, 侧重“控”
// Shift 转换键, 辅助控制键, 范围获取键, 侧重“辅助”(挂档)。如:字符选择, 输入切换、字母大小写及数字字符转换。 不单独设置快捷按键,
// 快捷键的设定原则:
// 1. 不可覆盖系统常用 `Ctrl+Z/A/C/V/X/W/O/Q/S/F/H` 等按键
// 2. 不可单独使用 `Shift` 按键
// 3. 不单独使用 `F1~F12` 功能键
// 4. 避免使用 `Alt+字母` 按键,此操作通常访问菜单
// 5. 避开编辑器/IDE在其领域的常识性、公用性 Keymap 按键,如 `F5` `Ctrl+P`, `Ctrl+Shift+P`, `Ctrl+R`, `Ctrl+G`, `Ctrl+;`, `Ctrl+~` 等最通用的按键
// 不建议选择依赖在线服务的插件,离线不可用,运用时需要连接网络等待
// 可安装 Snippets 代码块,实现快速编码,
// 可安装 Formatter 实现格式化代码
// ------
/* 窗口器 */
// 新建文件 ctrl+n
// 新建窗口 ctrl+shift+n
// 打开文件 ctrl+o
// 打开目录 ctrl+shift+o
// 在新窗口打开当前文件 ctrl+alt+shift+o *
// 关闭当前编辑器 ctrl+w
// 关闭所有编辑器 ctrl+k+w *
// 退出当前程序 ctrl+shift+w
// 本地资源管理器打开文件所在位置 alt+x
// 菜单栏显示隐藏 ctrl+t+m
// 状态栏显示隐藏 ctrl+t+s
// 侧边栏显示隐藏 ctrl+b
/* 通用指令 */
// 执行编辑器和插件的命令 ctrl+shift+p
// 快速定位文件 ctrl+p
// 跳转到行(Line) ctrl+g
// 查看定义(Definition) f12
// 查看引用(Reference) shift+f12
// 打开或关闭命令终端 ctrl+~
// 列出文件中的 function ,可选择跳转(Symbol) ctrl+r
// 列出整个工程文件中的 function ,可选择跳转 ctrl+shift+r
// 上一个function标识(Symbol) shift+f7
// 下一个function标识(Symbol) f7
// 代码换行显示切换 alt+z
// 全屏 ctrl+k+z* / f11
/* 加书签 */
// 添加、取消书签 ctrl+k+k
// 下一书签 ctrl+k+n
// 上一书签 ctrl+k+p
// 清除当前文档所有书签 ctrl+k+c
// 当前文档所有书签列表 ctrl+k+a
/* 强大的选择功能 */
// 列模式选择 ctrl+d
// 列模式选择所有项 alt+f3
// 列模式垂直向上/下 ctrl+shift+↑/↓
// 按行步进选择 ctrl+l
// 层级范围向内(inner)、外(outer)选择 alt+shift+i←/o→
// 按符号范围选择 alt+shift+({["<` *
// Sublime Text 中向外扩展选择(expand selection)
// 到行(line) ctrl+e+l #
// 括号对(brackets) ctrl+e+b #
// 同层级(indentation) ctrl+e+i #
// 同标签(tag) ctrl+e+t #
// 同作用域(scope) ctrl+e+s #
// 同段落(paragraph) ctrl+e+p #
// 删除行 ctrl+shift+k
// 复制当前内容插入到上/下一位置 alt+shift+↑/↓
/* 缩进和折叠 */
// 代码缩进 ctrl+[/]
// 当前代码折叠 ctrl+shift+[
// 当前代码展开 ctrl+shift+]
// 展开所有 ctrl+k+j
// 层级折叠 Sublime Text 和 VS Code 有异同
// Sublime Text 中
// 层级折叠 ctrl+k+1-9
// 展开所有 ctrl+k+0/j
// 折叠属性 ctrl+k+t
// VS Code 中
// 层级折叠 ctrl+k+1~7
// 折叠所有 ctrl+k+0
// 折叠块级注释 ctrl+k+/
/* 分屏(组)与移动 */
// 聚焦侧边栏 ctrl+0
// Sublime Text 分屏强大灵活:
// 聚焦第1至9组 ctrl+1-9
// 移至第1至9组 ctrl+shift+1-9
// alt+shift+1/2(水平)/3/4/5(四宫格)/8(2个垂直)/9(3个垂直)
// VS Code分屏不灵活,移动切换灵活,顶多3个分屏(需要开太多分屏?)
// 新建编辑器分组(分屏) ctrl + \
// 撤销新建编辑器分组(撤销分屏) ctrl+shift+ \
// 垂直、水平方向分屏(Layout) shift+alt+l *
// 第1、2、3个编辑器组 ctrl+1/2/3
// 移至第1、2、3个编辑器组 ctrl+shift+1/2/3 #
// 编辑器移至前、后一组 ctrl+shift+pageup/pagedow
// 编辑器在组内向左、右移 ctrl+alt+pageup/pagedown *
// 前、后切换编辑器 ctrl+pageup/pagedown
// 前、后聚焦编辑组 ctrl+alt+shift+pageup/pagedown *
// 对HTML、CSS操作:强大的Emmet
// HTML标签、CSS选择器 中以“属性、值”步进选择(向前、后) alt+</>
// HTML 中上、下一编辑点 ctrl+alt+</>
// HTML 中向层级内、外选择 alt+shift+-/=
// HTML 添加包裹标签
// HTML 更新、移除标签 ctrl+shift+;/"
/* 变量命名方式更新 */
// underline(snake) ctrl+u+s
// screaming_snake(constant) ctrl+u+u
// camel ctrl+u+c
// pascal ctrl+u+p
// dot ctrl+u+d
// dash(kebab) ctrl+u+k
// separate_words ctrl+u+b
// slash(path) ctrl+u+/
// back_slash ctrl+u+\
// 触发建议 alt+/
// 触发建议细节 ctrl+alt+/
// 触发参数提示 ctrl+shift+alt+/
// 查看编辑器输出日志 ctrl+shift+u
// #endregion DESCRIPTION
[
/* 编辑器部分 ⚙️⚙️ */
// #region 编辑器控制
// 打开文件位置
{
"key": "alt+x",
"command": "workbench.action.files.revealActiveFileInWindows"
},
// 保存所有
{
"key": "ctrl+k ctrl+s",
"command": "workbench.action.files.saveAll"
},
// 打开目录
{
"key": "ctrl+shift+o",
"command": "workbench.action.files.openFolderInNewWindow"
},
// 在新窗口打开当前文件
{
"key": "ctrl+alt+shift+o",
"command": "workbench.action.files.showOpenedFileInNewWindow"
},
// 在新窗口打开文件夹
{
"key": "ctrl+k ctrl+o",
"command": "workbench.action.files.openFolder"
},
// 清除最近打开过的文件
{
"key": "ctrl+k ctrl+h",
"command": "workbench.action.clearRecentFiles"
},
// 关闭/退出当前目录
{
"key": "ctrl+k ctrl+q",
"command": "workbench.action.closeFolder"
},
{
"key": "ctrl+k f",
"command": "-workbench.action.closeFolder"
},
// 关闭所有编辑器窗口
{
"key": "ctrl+k ctrl+w",
"command": "workbench.action.closeAllEditors"
},
// 关闭其它编辑器窗口
{
"key": "ctrl+alt+w",
"command": "workbench.action.closeOtherEditors"
},
// 切换面板
{
"key": "ctrl+j",
"command": "-workbench.action.togglePanel"
},
// Zen Mode
{
"key": "ctrl+k ctrl+z",
"command": "workbench.action.toggleZenMode"
},
// 另存为
{
"key": "ctrl+shift+s",
"command": "workbench.action.files.saveAs"
},
{
"key": "ctrl+shift+s",
"command": "-markdown-preview-enhanced.syncPreview",
"when": "editorLangId == 'markdown'"
},
// #endregion 编辑器控制
// #region 编辑器面板
// 新建编辑器分组 Ctrl + \
{
"key": "ctrl+oem_5",
"command": "workbench.action.splitEditor"
},
// 撤销新建编辑器分组 Ctrl + Shift + \
{
"key": "ctrl+shift+oem_5",
"command": "workbench.action.joinTwoGroups"
},
// 编辑器组 垂直/水平 方向布局 Direction Layout
{
"key": "shift+alt+l",
"command": "workbench.action.toggleEditorGroupLayout"
},
// 聚焦编辑器组
{
"key": "ctrl+alt+1",
"command": "workbench.action.showEditorsInFirstGroup"
},
{
"key": "ctrl+alt+2",
"command": "workbench.action.showEditorsInSecondGroup"
},
{
"key": "ctrl+alt+3",
"command": "workbench.action.showEditorsInThirdGroup"
},
// 编辑器组左移
{
"key": "alt+shift+pageup",
"command": "workbench.action.moveActiveEditorGroupLeft"
},
// 编辑器组右移
{
"key": "alt+shift+pagedown",
"command": "workbench.action.moveActiveEditorGroupRight"
},
// 移至前一编辑器组
{
"key": "ctrl+shift+pageup",
"command": "workbench.action.moveEditorToPreviousGroup"
},
// 移至后一编辑器组
{
"key": "ctrl+shift+pagedown",
"command": "workbench.action.moveEditorToNextGroup"
},
// 编辑器在组内向左移
{
"key": "ctrl+alt+pageup",
"command": "workbench.action.moveEditorLeftInGroup"
},
// 编辑器在组内向右移
{
"key": "ctrl+alt+pagedown",
"command": "workbench.action.moveEditorRightInGroup"
},
// 禁用部分编辑器移动
{
"key": "shift+alt+9",
"command": "-workbench.action.moveEditorToLastGroup"
},
// #endregion 编辑器面板
// #region 编辑器控件
// 聚集“大纲”
{
"key": "ctrl+t ctrl+o",
"command": "outline.focus"
},
// 显示隐藏“菜单栏”
{
"key": "ctrl+t ctrl+m",
"command": "workbench.action.toggleMenuBar"
},
// 显示隐藏“状态栏”
{
"key": "ctrl+t ctrl+s",
"command": "workbench.action.toggleStatusbarVisibility"
},
// 显示隐藏“活动栏”
{
"key": "ctrl+t ctrl+b",
"command": "workbench.action.toggleActivityBarVisibility"
},
// 显示隐藏“侧边栏” (跟 Sublime Text 一致)
{
"key": "ctrl+k ctrl+b",
"command": "workbench.action.toggleSidebarVisibility"
},
// 列出文件中的 function ,可选择跳转 (跟 Sublime Text 一致)
{
"key": "ctrl+r",
"command": "workbench.action.gotoSymbol"
},
{
"key": "ctrl+shift+o",
"command": "-workbench.action.gotoSymbol"
},
// 列出整个工程文件中的 function,可选择跳转 (跟 Sublime Text 一致)
{
"key": "ctrl+shift+r",
"command": "workbench.action.showAllSymbols"
},
{
"key": "ctrl+t",
"command": "-workbench.action.showAllSymbols"
},
// #endregion 编辑器控件
// #region 代码相关控制
// 内容折不折行
{
"key": "alt+z",
"command": "editor.action.toggleWordWrap"
},
{
"key": "alt+z",
"command": "-extension.pxToremAndRemToPx"
},
{
"key": "ctrl+i ctrl+w",
"command": "workbench.action.evenEditorWidths"
},
// 选择功能切换为列模式
{
"key": "ctrl+shift+alt+l",
"command": "editor.action.toggleColumnSelection"
},
// 列模式: 选择全部匹配项
{
"key": "alt+f3",
"command": "editor.action.selectHighlights",
"when": "editorFocus"
},
// 列模式: 选择上一行
{
"key": "ctrl+shift+up",
"command": "cursorColumnSelectUp",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+alt+up",
"command": "-cursorColumnSelectUp",
"when": "editorTextFocus"
},
// 列模式: 选择下一行
{
"key": "ctrl+shift+down",
"command": "cursorColumnSelectDown",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+alt+down",
"command": "-cursorColumnSelectDown",
"when": "editorTextFocus"
},
// 以“行”扩展选择
{
"key": "ctrl+l",
"command": "expandLineSelection",
"when": "textInputFocus"
},
{
"key": "ctrl+i",
"command": "-expandLineSelection",
"when": "textInputFocus"
},
// 列模式: 当前内容复制至上一行
{
"key": "shift+alt+up",
"command": "editor.action.copyLinesUpAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+alt+up",
"command": "-editor.action.copyLinesUpAction",
"when": "editorTextFocus && !editorReadonly"
},
// 列模式: 当前内容复制至下一行
{
"key": "shift+alt+down",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+alt+down",
"command": "-editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
// 折叠、展开
{
"key": "ctrl+shift+[",
"command": "editor.fold",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+]",
"command": "editor.unfold",
"when": "editorTextFocus"
},
// 减少缩进
{
"key": "ctrl+oem_4",
"command": "editor.action.outdentLines",
"when": "editorTextFocus && !editorReadonly"
},
// 块级注释
{
"key": "ctrl+shift+/",
"command": "editor.action.blockComment",
"when": "editorTextFocus && !editorReadonly"
},
// 触发建议
{
"key": "alt+/",
"command": "editor.action.triggerSuggest",
"when": "editorHasCompletionItemProvider && editorTextFocus && !editorReadonly"
},
// 触发建议细节
{
"key": "ctrl+alt+/",
"command": "toggleSuggestionDetails",
"when": "editorTextFocus && suggestWidgetVisible"
},
// 触发参数提示
{
"key": "ctrl+shift+alt+/",
"command": "editor.action.triggerParameterHints",
"when": "editorHasSignatureHelpProvider && editorTextFocus"
},
// 删除所有断点
{
"key": "ctrl+shift+f9",
"command": "workbench.debug.viewlet.action.removeAllBreakpoints"
},
// 删除末尾空白字符
{
"key": "shift+backspace",
"command": "editor.action.trimTrailingWhitespace",
"when": "editorTextFocus && !editorReadonly"
},
// 删除右边字符
{
"key": "ctrl+delete",
"command": "deleteWordEndRight"
},
// 删除左边字符
{
"key": "ctrl+backspace",
"command": "deleteWordStartLeft"
},
// 删除光标右侧所有字符
{
"key": "shift+delete",
"command": "deleteAllRight"
},
// 删除光标左侧所有字符
{
"key": "shift+backspace",
"command": "deleteAllLeft"
},
// 文本转大写
{
"key": "ctrl+k ctrl+u",
"command": "editor.action.transformToUppercase",
"when": "editorTextFocus"
},
// 文本转小写
{
"key": "ctrl+k ctrl+l",
"command": "editor.action.transformToLowercase",
"when": "editorTextFocus"
},
// 行排序 (升)
{
"key": "ctrl+l ctrl+a",
"command": "editor.action.sortLinesAscending",
"when": "editorTextFocus"
},
// 行排序 (渐)
{
"key": "ctrl+l ctrl+d",
"command": "editor.action.sortLinesDescending",
"when": "editorTextFocus"
},
// 合并为一行
{
"key": "ctrl+j",
"command": "editor.action.joinLines",
"when": "editorTextFocus"
},
// 跳转到括号
{
"key": "ctrl+m ctrl+b",
"command": "editor.action.jumpToBracket",
"when": "editorTextFocus"
},
// 执行构建命名
{
"key": "ctrl+shift+b",
"command": "workbench.action.tasks.build"
},
// #endregion 代码相关控制
// #region 移除所有 `ctrl + r` 开头的绑定 (跟 Sublime Text gotoSymbol 一致)
{
"key": "ctrl+r",
"command": "-workbench.action.openRecent"
},
{
"key": "ctrl+r r",
"command": "-npm-script.rerun-last-script"
},
{
"key": "ctrl+r shift+r",
"command": "-npm-script.run"
},
{
"key": "ctrl+r t",
"command": "-npm-script.test"
},
{
"key": "ctrl+r l",
"command": "-npm-script.showOutput"
},
{
"key": "ctrl+r shift+x",
"command": "-npm-script.terminate-script"
},
{
"key": "ctrl+k ctrl+r",
"command": "-workbench.action.keybindingsReference"
},
{
"key": "ctrl+r",
"command": "-workbench.action.quickOpenNavigateNextInRecentFilesPicker",
"when": "inQuickOpen && inRecentFilesPicker"
},
{
"key": "ctrl+k r",
"command": "-workbench.action.files.revealActiveFileInWindows"
},
{
"key": "shift+f12",
"command": "editor.action.revealDefinitionAside",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
},
{
"key": "ctrl+f12",
"command": "editor.action.peekTypeDefinition"
},
// #endregion 移除所有 `ctrl + r` 开头的绑定 (跟 Sublime Text gotoSymbol 一致)
/* 扩展部分 🎉🎉🎉 */
// #region Emmet (VS Code 已内置)
// 更新标签对
{
"key": "ctrl+shift+;",
"command": "editor.emmet.action.updateTag",
"when": "editorTextFocus"
},
// 移除标签对
{
"key": "ctrl+shift+'",
"command": "editor.emmet.action.removeTag",
"when": "editorTextFocus"
},
// HTML 标签、CSS 选择器中以“属性、值”步进选择 (向前)
{
"key": "alt+,",
"command": "editor.emmet.action.selectPrevItem",
"when": "editorTextFocus"
},
// HTML 标签、CSS 选择器中以“属性、值”步进选择 (向后)
{
"key": "alt+.",
"command": "editor.emmet.action.selectNextItem",
"when": "editorTextFocus"
},
// HTML 中上一编辑点
{
"key": "ctrl+alt+,",
"command": "editor.emmet.action.prevEditPoint",
"when": "editorTextFocus"
},
// HTML 中下一编辑点
{
"key": "ctrl+alt+.",
"command": "editor.emmet.action.nextEditPoint",
"when": "editorTextFocus"
},
// HTML、CSS 中向内选择
{
"key": "shift+alt+-",
"command": "editor.emmet.action.balanceIn"
},
// HTML、CSS 中向外选择
{
"key": "shift+alt+=",
"command": "editor.emmet.action.balanceOut"
},
// 合并行 (Merge Lines)
{
"key": "ctrl+m ctrl+l",
"command": "editor.emmet.action.mergeLines"
},
// 更新或添加图片尺寸 (Image Size)
{
"key": "ctrl+i ctrl+s",
"command": "editor.emmet.action.updateImageSize",
"when": "editorTextFocus"
},
// 以1减
{
"key": "alt+oem_minus",
"command": "editor.emmet.action.decrementNumberByOne"
},
// 以1增
{
"key": "alt+oem_plus",
"command": "editor.emmet.action.incrementNumberByOne"
},
// 以10减
{
"key": "ctrl+alt+oem_minus",
"command": "editor.emmet.action.decrementNumberByTen"
},
// 以10增
{
"key": "ctrl+alt+oem_plus",
"command": "editor.emmet.action.incrementNumberByTen"
},
// 以0.1减
{
"key": "ctrl+shift+alt+oem_minus",
"command": "editor.emmet.action.decrementNumberByOneTenth"
},
// 以0.1增
{
"key": "ctrl+shift+alt+oem_plus",
"command": "editor.emmet.action.incrementNumberByOneTenth"
},
// 跳至 <tag /> 开始或结束 (Match Tag)
{
"key": "ctrl+m ctrl+t",
"command": "editor.emmet.action.matchTag"
},
// #endregion Emmet
// #region 代码书签 (bookmarks)
// 添加/取消书签
{
"key": "ctrl+k ctrl+k",
"command": "bookmarks.toggle",
"when": "editorTextFocus"
},
// 下一书签
{
"key": "ctrl+k ctrl+n",
"command": "bookmarks.jumpToNext",
"when": "editorTextFocus"
},
// 上一书签
{
"key": "ctrl+k ctrl+p",
"command": "bookmarks.jumpToPrevious",
"when": "editorTextFocus"
},
// 清除当前文档所有书签
{
"key": "ctrl+k ctrl+c",
"command": "bookmarks.clear",
"when": "editorTextFocus"
},
// 当前文档所有书签列表
{
"key": "ctrl+k ctrl+a",
"command": "bookmarks.list",
"when": "editorTextFocus"
},
// #endregion 代码书签 (bookmarks)
// #region 内外范围选择 (expand-region)
// 向内选择 (Outward)
{
"key": "shift+alt+o",
"command": "expand_region",
"when": "editorTextFocus"
},
{
"key": "ctrl+w",
"command": "-expand_region",
"when": "editorTextFocus"
},
// 向外选择 (Inward)
{
"key": "shift+alt+i",
"command": "undo_expand_region",
"when": "editorHasSelection && editorTextFocus"
},
{
"key": "ctrl+shift+w",
"command": "-undo_expand_region",
"when": "editorHasSelection && editorTextFocus"
},
// #endregion 内外范围选择 (expand-region)
// #region 强大的选择功能 (vscode-quick-select)
// [ ] 方括号内部:Ctrl + Shift + Alt + [
{
"key": "ctrl+shift+alt+oem_4",
"command": "extension.selectSquareBrackets"
},
// [ ] 包括方括号:Ctrl + Shift + Alt + ]
{
"key": "ctrl+shift+alt+oem_6",
"command": "extension.selectSquareBracketsOuter"
},
// ( ) 圆括号内部:Alt + Shift + (
{
"key": "shift+alt+9",
"command": "extension.selectParenthesis"
},
// ( ) 包括圆括号:Alt + Shift + )
{
"key": "shift+alt+0",
"command": "extension.selectParenthesisOuter"
},
// { } 花括号内部:Alt + Shift + {
{
"key": "shift+alt+oem_4",
"command": "extension.selectCurlyBrackets"
},
// { } 包括花括号:Alt + Shift + }
{
"key": "shift+alt+oem_6",
"command": "extension.selectCurlyBracketsOuter"
},
// ` ` 反引号内部:Alt + Shift + `
{
"key": "shift+alt+oem_3",
"command": "extension.selectBackTick"
},
// " ", ' ' 双/单引号内部:Alt + Shift + "
{
"key": "shift+alt+oem_7",
"command": "extension.selectEitherQuote"
},
// < > 尖括号内部:Alt + Shift + <
{
"key": "shift+alt+oem_comma",
"command": "extension.selectAngleBrackets"
},
// <> ... </> Tag 之间:Alt + Shift + >
{
"key": "shift+alt+oem_period",
"command": "extension.selectInTag"
},
// #endregion 强大的选择功能 (vscode-quick-select)
// #region Markdown (markdown-preview-enhanced, markdown-table-formatter)
// markdown 预览
{
"key": "ctrl+k ctrl+v",
"command": "markdown-preview-enhanced.openPreview",
"when": "editorLangId == 'markdown'"
},
// #endregion Markdown (markdown-preview-enhanced, markdown-table-formatter)
// #region 强大的变量名操作 (change-case)
// kebab-case
{
"key": "ctrl+u ctrl+k",
"command": "extension.changeCase.kebab"
},
// PascalCase
{
"key": "ctrl+u ctrl+p",
"command": "extension.changeCase.pascal",
"when": "editorTextFocus && !editorReadonly"
},
// camelCase
{
"key": "ctrl+u ctrl+c",
"command": "extension.changeCase.camel",
"when": "editorTextFocus && !editorReadonly"
},
// dot.case
{
"key": "ctrl+u ctrl+d",
"command": "extension.changeCase.dot",
"when": "editorTextFocus && !editorReadonly"
},
// snake_case
{
"key": "ctrl+u ctrl+s",
"command": "extension.changeCase.snake",
"when": "editorTextFocus && !editorReadonly"
},
// path/case
{
"key": "ctrl+u ctrl+/",
"command": "extension.changeCase.path",
"when": "editorTextFocus && !editorReadonly"
},
// CONSTANT_CASE
{
"key": "ctrl+u ctrl+u",
"command": "extension.changeCase.constant",
"when": "editorTextFocus && !editorReadonly"
},
// no case
{
"key": "ctrl+u ctrl+w",
"command": "extension.changeCase.no",
"when": "editorTextFocus && !editorReadonly"
},
// Title Case
{
"key": "ctrl+u ctrl+t",
"command": "extension.changeCase.title",
"when": "editorTextFocus && !editorReadonly"
},
// #endregion 强大的变量名操作 (change-case)
// #region 对打开文件的操作 (vscode-opened-editors)
// 在侧边栏资源目录中的位置
{
"key": "alt+r",
"command": "opened-editors.revealSidebar"
},
// 复制文件名
{
"key": "ctrl+shift+c",
"command": "opened-editors.copyFileName"
},
// 复制目录名
{
"key": "ctrl+alt+shift+c",
"command": "opened-editors.copyFolderName"
},
// #endregion 对打开文件的操作 (vscode-opened-editors)
/* Other 🏷️ */
// #region Other
// 禁用插入日期时间
{
"key": "ctrl+shift+alt+i",
"command": "-insertDateString.insertOwnFormatDateTime",
"when": "editorTextFocus"
},
{
"key": "alt+q",
"command": "-rewrap.rewrapComment",
"when": "editorTextFocus"
},
{
"key": "ctrl+alt+oem_2",
"command": "-metaGo.addCursorSmart"
},
{
"key": "shift+alt+oem_2",
"command": "-metaGo.selectSmart",
"when": "editorTextFocus"
},
{
"key": "alt+m",
"command": "metaGo.gotoSmart"
},
{
"key": "alt+oem_2",
"command": "-metaGo.gotoSmart"
},
{
"key": "ctrl+alt+l",
"command": "-bookmarks.jumpToNext",
"when": "editorTextFocus"
},
{
"key": "shift+alt+w",
"command": "cSpell.addWordToUserSettings"
}
]
// @SEE https://code.visualstudio.com/docs/getstarted/settings
{
/* 语言部分 🌏 */
// #region Language-specific
// #endregion Language-specific
/* 编辑器部分 ⚙️ */
// #region Editor
// breadcrumbs
"breadcrumbs.enabled": true,
"breadcrumbs.symbolPath": "off",
"breadcrumbs.symbolSortOrder": "type",
// editor
"editor.dragAndDrop": true,
// 0oO1lI
"editor.fontFamily": "consolas, 'Source Code Pro', 'Lucida Console', 'Ubuntu Mono', '等线', '微软雅黑 Light', '思源黑体 CN Light'",
"editor.fontSize": 14,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
"source.fixAll.stylelint": true
},
// "editor.formatOnSave": false,
"editor.inlineSuggest.enabled": true,
"editor.gotoLocation.multipleReferences": "goto",
"editor.language.brackets": [
["(", ")"],
["(", ")"],
["【", "】"],
["《", "》"]
],
"editor.lineHeight": 22,
"editor.minimap.enabled": true,
"editor.renderControlCharacters": false,
"editor.renderWhitespace": "all",
"editor.rulers": [80, 120, 215],
"editor.selectionHighlight": false,
"editor.showFoldingControls": "always",
"editor.suggestSelection": "first",
"editor.tabSize": 2,
"editor.wordWrap": "on",
"editor.wordWrapColumn": 80,
"editor.lineNumbers": "on", // off, on, relative, interval
"editor.quickSuggestions": {
"other": true,
"comments": true,
"strings": false
},
// 支持对 CJK 标点符号
"editor.wordSeparators": "`~!@#$%^&+-*/=()[]{}<>\\|;:'\",.?,。、《》()?;:‘’“”【】—〈〉",
// explorer
"explorer.autoReveal": false,
"explorer.openEditors.visible": 1,
// extensions
"extensions.autoCheckUpdates": false,
"extensions.autoUpdate": false,
// files
// "files.autoSave": "off",
// 会破坏 ESLint 自动 Save
// "files.associations": {
// "*.vue": "html"
// },
"files.eol": "\n",
"files.exclude": {
"**/.DS_Store": true,
"**/.git": true,
"**/.hg": true,
"**/.svn": true,
"**/bower_components": true
},
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true
},
"files.trimTrailingWhitespace": true,
// Git
"git.ignoredRepositories": ["extension-example"],
// tasks
"jake.autoDetect": "off",
// security
"security.workspace.trust.untrustedFiles": "open",
// 禁用数据收集
"telemetry.telemetryLevel": "off",
// terminal
"terminal.integrated.env.windows": {
"LC_ALL": "en_US.UTF-8"
},
"terminal.integrated.defaultProfile.windows": "Git Bash", // Git Bash
// "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe", // Git Bash
// "terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe", // Bash on Ubuntu (on Windows)
// "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe", // Command Prompt
// "terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", // PowerShell
"terminal.integrated.windowsEnableConpty": false,
// update
"update.enableWindowsBackgroundUpdates": false,
"update.mode": "manual",
"update.showReleaseNotes": false,
// window
"window.title": "${rootName}${separator}${activeEditorMedium}",
"window.restoreWindows": "none",
// workbench
"workbench.enableExperiments": false,
"workbench.iconTheme": "material-icon-theme",
// "window.menuBarVisibility": "compact",
"workbench.sideBar.location": "left",
"workbench.startupEditor": "none",
"workbench.tree.expandMode": "singleClick",
"workbench.colorCustomizations": {
"window.activeBorder": "#1f6feb"
},
"workbench.editorAssociations": {
"*.png": "imagePreview.previewEditor",
"*.jpg": "imagePreview.previewEditor"
},
// #endregion Editor
/* 扩展部分 🎉 */
// #region Extension
// CSS
"CSSNavigation.enableWorkspaceSymbols": false,
"liveSassCompile.settings.autoprefix": ["> 1%", "last 2 versions"],
"liveSassCompile.settings.excludeList": ["**/node_modules/**", ".vscode/**"],
"liveSassCompile.settings.formats": [
/**
* 1. 'format' can be:
* - `expanded` (*),
* - `compact` (一个规则一行),
* - `compressed` (所有压缩成一行)
* - `nested` (规则结束符 } 不换行)
*
* 2. `extensionName` can be `.css` (*) or `.min.css`
*
* 3. `savePath` is relative from workspace root or your Sass files.
* - `null` (*), (NOT `"null"`) , it will generate CSS in the location of scss/sass.
* - `/`, denotes relative to root. eg. `"/dist/css"`
* - `~`, denotes relative to every sass file. eg. `"~/../css/"`
*/
{
"format": "expanded",
"extensionName": ".css",
"savePath": "~/"
},
{
"format": "compressed",
"extensionName": ".min.css",
"savePath": "~/"
}
],
"liveSassCompile.settings.generateMap": false,
// stylelint
// 即使为空,都很重要,不然 StyleLint 会报错 (stylelint: Could not find "stylelint-prettier". Do you need a `configBasedir`?)
"stylelint.config": {},
// HTML
"html-css-class-completion.excludeGlobPattern": "**/node_modules/**, **/bower_components/**",
"htmlhint.enable": false,
// Markdown
"markdown-preview-enhanced.enableScriptExecution": true,
"markdown-preview-enhanced.liveUpdate": false,
"markdown-preview-enhanced.mathRenderingOption": "None",
"markdown-preview-enhanced.previewTheme": "github-light.css",
"markdown-table-formatter.markdownGrammarScopes": ["markdown", "html"],
// #region Emmet
// 即使为空,都很重要,不然 Markdown 代码片断中不出来
"emmet.excludeLanguages": [],
"emmet.includeLanguages": {
"javascript": "javascriptreact",
"vue-html": "html",
"plaintext": "jade",
"markdown": "html"
},
"emmet.showSuggestionsAsSnippets": true,
"emmet.triggerExpansionOnTab": true,
"emmet.variables": {
"lang": "zh-cmn-Hans",
"charset": "utf-8"
},
// #endregion
// #region VCS
// gitlens
"gitlens.advanced.messages": {
"suppressCommitHasNoPreviousCommitWarning": false,
"suppressCommitNotFoundWarning": false,
"suppressFileNotUnderSourceControlWarning": false,
"suppressGitVersionWarning": false,
"suppressLineUncommittedWarning": false,
"suppressNoRepositoryWarning": false
},
"gitlens.keymap": "none",
//
"diffEditor.codeLens": true,
"git.mergeEditor": false,
// #endregion
// #region Server
"liveServer.settings.donotShowInfoMsg": true,
"liveServer.settings.donotVerifyTags": true,
"liveServer.settings.host": "127.0.0.1",
"liveServer.settings.port": 7095,
"liveServer.settings.root": "/",
// #endregion
// #region Todo
// Gruntfuggly.todo-tree
"todo-tree.general.tags": ["NOTE:", "HACK:", "FIXME:", "BUG:", "TODO:"],
"todo-tree.highlights.customHighlight": {
"NOTE:": {
"gutterIcon": false,
"foreground": "#ecf0f1",
"border": "1px solid #2980b9",
"borderRadius": "4px",
"background": "#3498db",
"iconColour": "#3498db"
},
"HACK:": {
"gutterIcon": false,
"foreground": "#ecf0f1",
"border": "1px solid #8e44ad",
"borderRadius": "4px",
"background": "#9b59b6",
"iconColour": "#9b59b6"
},
"FIXME:": {
"gutterIcon": false,
"foreground": "#ecf0f1",
"border": "1px solid #f39c12",
"borderRadius": "4px",
"background": "#f1c40f",
"iconColour": "#f1c40f"
},
"BUG:": {
"gutterIcon": false,
"foreground": "#ecf0f1",
"border": "1px solid #c0392b",
"borderRadius": "4px",
"background": "#e74c3c",
"iconColour": "#e74c3c"
},
"TODO:": {
"gutterIcon": false,
"foreground": "#ecf0f1",
"border": "1px solid #27ae60",
"borderRadius": "4px",
"background": "#2ecc71",
"iconColour": "#2ecc71"
}
},
"todo-tree.highlights.defaultHighlight": {
"gutterIcon": true
},
"todo-tree.tree.showScanModeButton": false,
// wayou.vscode-todo-highlight
"todohighlight.keywords": [
{
"text": "NOTE:",
"color": "#ecf0f1",
"border": "1px solid #2980b9",
"borderRadius": "4px",
"backgroundColor": "#3498db"
},
{
"text": "HACK:",
"color": "#ecf0f1",
"border": "1px solid #8e44ad",
"borderRadius": "4px",
"backgroundColor": "#9b59b6"
},
{
"text": "FIXME:",
"color": "#ecf0f1",
"border": "1px solid #f39c12",
"borderRadius": "4px",
"backgroundColor": "#f1c40f"
},
{
"text": "BUG:",
"color": "#ecf0f1",
"border": "1px solid #c0392b",
"borderRadius": "4px",
"backgroundColor": "#e74c3c"
},
{
"text": "TODO:",
"color": "#ecf0f1",
"border": "1px solid #27ae60",
"borderRadius": "4px",
"backgroundColor": "#2ecc71"
}
],
// #endregion
// #region Sync
"sync.removeExtensions": false,
"sync.autoDownload": false,
"sync.autoUpload": false,
"sync.forceDownload": false,
"sync.forceUpload": true,
"sync.quietSync": false,
"sync.syncExtensions": true,
"sync.gist": "5f0eb9482b96be16eb6865cbc7728d29", // Share
"settingsSync.ignoredSettings": [
"Notes.notesLocation",
"projectManager.projectsLocation",
"projectManager.vscode.baseFolders",
"projectManager.vscode.ignoredFolders",
"projectManager.git.baseFolders",
"projectManager.git.ignoredFolders",
"projectManager.hg.baseFolders",
"projectManager.hg.ignoredFolders",
"projectManager.svn.baseFolders",
"projectManager.svn.ignoredFolders",
"projectManager.any.baseFolders",
"projectManager.any.ignoredFolders",
"remote.SSH.remotePlatform"
],
// #endregion
// Bookmarks
"bookmarks.navigateThroughAllFiles": true,
// Code Runner
"code-runner.enableAppInsights": false,
// Codesnap
"codesnap.backgroundColor": "transparent",
"codesnap.boxShadow": "rgba(0, 0, 0, 0.55) 0px 0px 5px",
// Insert *
"insertDateString.format": "-YYYYMMDD-hhmmss",
"insertnum.formatstr": "%d",
"insertnum.start": 1,
"insertnum.step": 1,
// UI
"material-icon-theme.folders.theme": "classic",
"material-icon-theme.hidesExplorerArrows": true,
// Relative Path
"relativePath.excludedExtensions": [".json", ".md"],
"relativePath.ignore": ["**/node_modules/**"],
"relativePath.removeExtension": false,
// Remote SSH
"remote.SSH.remotePlatform": {
"ChangSha": "linux",
"CloudIDE": "linux"
},
"remote.SSH.connectTimeout": 60,
// Github Copilot
"github.copilot.enable": {
"*": true,
"yaml": false,
"plaintext": false,
"markdown": true
},
// Path Intellisense
"path-intellisense.extensionOnImport": true,
"path-intellisense.autoSlashAfterDirectory": false,
"path-intellisense.autoTriggerNextSuggestion": true,
"path-intellisense.mappings": {
"/": "${workspaceFolder}",
"@": "${workspaceFolder}/src"
},
// Turbo Console Log
"turboConsoleLog.addSemicolonInTheEnd": true,
"turboConsoleLog.quote": "'",
// Others
"cSpell.userWords": [
"autoprefix",
"codesnap",
"Colour",
"Conpty",
"consolas",
"donot",
"endregion",
"esbenp",
"formatstr",
"Gruntfuggly",
"htmlhint",
"insertnum",
"keymap",
"Lucida",
"octref",
"preload",
"rgba",
"stylelint",
"todohighlight",
"vetur",
"vsintellicode",
"wayou",
"xianghongai"
],
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"win-ca.inject": "append",
"projectManager.git.baseFolders": [
"C:\\Users\\xianghongai\\Me+\\front-end-note",
"C:\\Users\\xianghongai\\Me+\\note",
"C:\\Users\\xianghongai\\Me+\\front-end-awesome",
"C:\\Users\\xianghongai\\Me+\\feature"
],
// #endregion Extension
// Corporate
}
/**
* NOTE: Description of how the code works (when it isn’t self evident). 汝等凡人
* XXX: Warning about possible pitfalls, can be used as NOTE:XXX: 陷阱
* HACK: Not very well written or malformed code to circumvent a problem/bug. Should be used as HACK:FIXME: 补锅踩雷填坑
* FIXME: This works, sort of, but it could be done better (usually code written in a hurry that needs rewriting), Fuck Me
* BUG: There is a problem here. 丢锅埋雷挖坑
* TODO: No problem, but additional code needs to be written (usually when you are skipping something). 再会
*/
/**
* Carriage Return (MAC pre-OSX), CR, \r, 0x0D, ASCII code 13
* Line Feed (UNIX/Linux, MAC OSX), LF, \n, 0x0A, ASCII code 10
* Carriage Return and Line Feed (Windows), CRLF, \r\n
*/
{
"printWidth": 120,
"tabWidth": 2,
"useTabs": true,
"semi": true,
"singleQuote": true,
"overrides": [
{
"files": "*.html",
"options": {
"printWidth": 80
}
}
]
}
{
// Place your snippets for bat 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"
// }
"bat": {
"prefix": "bat",
"body": [
"@echo off",
"@REM @Author: xianghongai@gmail.com",
"mode con cols=100 lines=39",
"color 02",
"title TITLE",
"SETLOCAL ENABLEDELAYEDEXPANSION",
"",
"rem COMMENT",
"@echo.",
"",
"$1",
"",
"pause >nul",
"exit"
],
"description": "Batch file template"
}
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "/* prettier-ignore */",
"description": "Prettier Ignore"
},
"region": {
"prefix": "region",
"body": [
"/* #region $1 */",
"$0",
"/* #endregion $1 */"
],
"description": "code fold"
},
}
{
"github.summary": {
"prefix": "details.summary",
"body": [
"<details>",
" <summary>$1</summary>",
" <pre>",
"$2",
" </pre>",
"</details>"
]
},
"snippet": {
"prefix": "snippet",
"body": [
"\"${1:key}\": {",
"\t\"prefix\": \"${2:PREFIX}\",",
"\t\"body\": [",
"\t\t\"${3:BODY}\"",
"\t],",
"\t\"description\": \"${4:description}\"",
"},",
],
"description": "snippet"
},
"snippet param": {
"prefix": ["snippet.placeholder"],
"body": [
"\\${${2:1}:${1:text}}"
],
"description": "With \\ (backslash), you can escape $, }, and \\. Within choice elements, the backslash also escapes comma and pipe characters."
}
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "<!-- prettier-ignore -->",
"description": "Prettier ignore in HTML"
},
"Prettier Ignore Attribute": {
"prefix": "pi.attribute",
"body": "<!-- prettier-ignore-attribute -->",
"description": "Prettier Ignore Attribute"
},
"region": {
"prefix": "region",
"body": ["<!-- #region $1 -->", "$0", "<!-- #endregion $1 -->"],
"description": "code fold"
},
"Meta Viewport": {
"prefix": "meta.viewport",
"body": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=yes\" />",
"description": "Viewport Meta Tag"
},
"Meta Viewport (Recommendations)": {
"prefix": "meta.viewport.recommendation",
"body": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />",
"description": "Viewport Meta Tag"
},
"Meta Description & Keywords": {
"prefix": "meta.dk",
"body": [
"<meta name=\"description\" content=\"${1:description}\" />",
"<meta name=\"keywords\" content=\"${2:keywords}\" />"
],
"description": "Meta Description & Keywords"
},
"IE-Only": {
"prefix": "ie(only)",
"body": ["<!--[if IE]>", "${0}", "<![endif]-->"],
"description": "Note that IE 10 and up DO NOT support conditional comments at all."
},
"NOT IE": {
"prefix": "ie(not)",
"body": ["<!--[if !IE]><!-->", "${0}", "<!--<![endif]-->"]
},
"IE 8 and LOWER": {
"prefix": "ie(lower)",
"body": ["<!--[if lt IE ${1:9}]>", "${0}", "<![endif]-->"],
"description": "`gt` means 'greater than';\n`gte` means 'greater than or equal'\n`lt` means 'less than';\n`lte` means 'less than or equal';\nNote that IE 10 and up DO NOT support conditional comments at all."
},
"IE Version ONLY": {
"prefix": "ie(version)",
"body": ["<!--[if IE ${1:7}]>", "${0}", "<![endif]-->"]
},
"Moment from CDN": {
"prefix": "cdn.moment",
"body": [
"<script src=\"https://cdn.bootcss.com/moment.js/2.24.0/moment.js\"></script>",
"<!-- <script src=\"https://cdn.bootcss.com/moment.js/2.24.0/locale/zh-cn.js\"></script> -->",
"<script src=\"https://cdn.bootcss.com/moment.js/2.24.0/moment-with-locales.js\"></script>"
],
"description": "Moment from CDN"
},
"Vue from CDN": {
"prefix": "cdn.vue",
"body": ["<script src=\"https://cdn.bootcss.com/vue/2.6.11/vue.js\"></script>"],
"description": "Vue from CDN"
},
"jQuery from CDN": {
"prefix": "cdn.jquery",
"body": [
"<script src=\"https://cdn.bootcss.com/jquery/3.5.0/jquery.js\"></script>",
"<!--",
"<script src=\"https://cdn.bootcss.com/jquery/2.2.4/jquery.js\"></script>",
"<script src=\"https://cdn.bootcss.com/jquery/1.12.4/jquery.js\"></script>",
"-->"
],
"description": "jQuery from CDN"
},
"Lodash from CDN": {
"prefix": "cdn.lodash",
"body": [
"<!-- https://www.bootcdn.cn/lodash.js/ -->",
"<script src=\"https://cdn.bootcss.com/lodash.js/4.17.15/lodash.js\"></script>"
],
"description": "Lodash from CDN"
},
"Underscore from CDN": {
"prefix": "cdn.underscore",
"body": [
"<!-- https://www.bootcdn.cn/underscore.js/ -->",
"<script src=\"https://cdn.bootcss.com/underscore.js/1.9.1/underscore.js\"></script>"
],
"description": "Underscore from CDN"
},
"Bootstrap CSS from CDN": {
"prefix": "cdn.bootstrap",
"body": [
"<!-- https://www.bootcdn.cn/twitter-bootstrap/ -->",
"<link href=\"https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js\"></script>"
],
"description": "Bootstrap CSS from CDN"
},
"AngularJS from CDN": {
"prefix": "cdn.angularjs",
"body": ["<script src=\"https://cdn.bootcss.com/angular.js/1.6.10/angular.js\"></script>"],
"description": "AngularJS from CDN"
},
"AngularJS App from CDN": {
"prefix": "cdn.angularjs.app",
"body": [
"<!-- https://www.bootcdn.cn/twitter-bootstrap/ -->",
"<link href=\"https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/jquery/2.2.4/jquery.js\"></script>",
"<script src=\"https://cdn.bootcss.com/lodash.js/4.17.15/lodash.js\"></script>",
"<!-- https://www.bootcdn.cn/angular.js/1.7.8/ -->",
"<!-- https://www.bootcdn.cn/angular.js/1.6.10/ -->",
"<!-- 内容安全策略 (CSP, Content Security Policy, https://developer.mozilla.org/en/Security/CSP) -->",
"<link href=\"https://cdn.bootcss.com/angular.js/1.6.10/angular-csp.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/angular.js/1.6.10/angular.js\"></script>",
"<!-- ngAria, Accessibility, 无障碍富互联网应用程序 (ARIA, Accessible Rich Internet Applications, https://www.w3.org/TR/wai-aria/) -->",
"<script src=\"https://cdn.bootcss.com/angular.js/1.6.10/angular-aria.js\"></script>",
"<!-- https://docs.angularjs.org/guide/animations -->",
"<script src=\"https://cdn.bootcss.com/angular.js/1.6.10/angular-animate.js\"></script>",
"<!-- https://docs.angularjs.org/api/ngCookies/service/$cookies -->",
"<script src=\"https://cdn.bootcss.com/angular.js/1.6.10/angular-cookies.js\"></script>",
"<!-- https://docs.angularjs.org/api/ngMessages/directive/ngMessages -->",
"<script src=\"https://cdn.bootcss.com/angular.js/1.6.10/angular-messages.js\"></script>",
"<script src=\"https://cdn.bootcss.com/angular.js/1.6.10/angular-sanitize.js\"></script>",
"<!-- https://www.bootcdn.cn/angular-translate/ -->",
"<script src=\"https://cdn.bootcss.com/angular-translate/2.18.2/angular-translate.js\"></script>",
"<script src=\"https://cdn.bootcss.com/angular-translate/2.18.2/angular-translate-loader-partial/angular-translate-loader-partial.js\"></script>",
"<!-- https://www.bootcdn.cn/angular-local-storage/ -->",
"<script src=\"https://cdn.bootcss.com/angular-local-storage/0.7.1/angular-local-storage.js\"></script>",
"<!-- https://www.bootcdn.cn/angular-ui-router/ -->",
"<script src=\"https://cdn.bootcss.com/angular-ui-router/1.0.25/angular-ui-router.js\"></script>",
"<!-- https://www.bootcdn.cn/angular-ui-select/ -->",
"<link href=\"https://cdn.bootcss.com/angular-ui-select/0.20.0/select.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/angular-ui-select/0.20.0/select.js\"></script>",
"<!-- https://angular-ui.github.io (Ace, Bootstrap, Calendar, CodeMirror, TinyMCE, Mask) -->",
"<!-- https://www.bootcdn.cn/angular-ui-bootstrap/ -->",
"<script src=\"https://cdn.bootcss.com/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.js\"></script>",
"<!-- https://www.bootcdn.cn/angularjs-toaster/ -->",
"<link href=\"https://cdn.bootcss.com/angularjs-toaster/3.0.0/toaster.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/angularjs-toaster/3.0.0/toaster.js\"></script>",
"<!-- https://www.bootcdn.cn/angular-ui-notification/ -->",
"<link href=\"https://cdn.bootcss.com/angular-ui-notification/0.3.6/angular-ui-notification.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/angular-ui-notification/0.3.6/angular-ui-notification.js\"></script>",
"<!-- https://www.bootcdn.cn/angular-hotkeys/ -->",
"<link href=\"https://cdn.bootcss.com/angular-hotkeys/1.7.0/hotkeys.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/angular-hotkeys/1.7.0/hotkeys.js\"></script>",
"<link href=\"https://cdn.bootcss.com/angular-loading-bar/0.9.0/loading-bar.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/angular-loading-bar/0.9.0/loading-bar.js\"></script>",
"<!-- https://www.bootcdn.cn/angular-busy/ -->",
"<link href=\"https://cdn.bootcss.com/angular-busy/4.1.4/angular-busy.css\" rel=\"stylesheet\" />",
"<script src=\"https://cdn.bootcss.com/angular-busy/4.1.4/angular-busy.js\"></script>"
],
"description": "AngularJS App from CDN"
},
"blog icon": {
"prefix": "blog.icon",
"body": [
"<meta name=\"author\" content=\"山茶树和葡萄树/xianghongai@gmail.com\">",
"<link rel=\"icon\" type=\"image/png\" href=\"https://xinlu.ink/favicon.png\">",
"<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://xinlu.ink/favicon.ico\">"
]
},
"Markdown Preview Enhanced add Meta & Style": {
"prefix": "md.style",
"description": "Markdown Preview Enhanced add Meta & Style",
"body": [
"<meta name=\"description\" content=\"说明\">",
"<meta name=\"author\" content=\"山茶树和葡萄树/xianghongai@gmail.com\">",
"<link rel=\"icon\" type=\"image/png\" href=\"https://xinlu.ink/favicon.png\">",
"<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://xinlu.ink/favicon.ico\">",
"",
"<style>",
"\thtml body code {",
"\t\tpadding: 2px 4px;",
"\t\tfont-size: 90%;",
"\t\tcolor: #c0341d;",
"\t\tbackground-color: #fcefed;",
"\t\tborder-radius: 3px;",
"\t}",
"\thtml body[for=\"html-export\"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview {",
"\t\twidth: 100%;",
"\t\tpadding: 2em 20%;",
"\t}",
"\t@media screen and (min-width: 914px) {",
"\t\thtml body[for=\"html-export\"]:not([data-presentation-mode]) .markdown-preview {",
"padding: 2em 20%;",
"\t\t}",
"\t}",
"</style>"
]
}
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "// prettier-ignore",
"description": "Prettier Ignore"
},
"ESLint Ignore": {
"prefix": "ed",
"body": "/* eslint-disable ${1:no-unused-vars} */",
},
"ESLint Enable": {
"prefix": "ee",
"body": "/* eslint-enable ${1:no-unused-vars} */",
},
"ESLint Ignore Line": {
"prefix": "edl",
"body": "/* eslint-disable-line ${1:no-unused-vars} */",
},
"ESLint Ignore Next Line": {
"prefix": "ednl",
"body": "/* eslint-disable-next-line ${1:no-unused-vars} */",
},
"region": {
"prefix": "region",
"body": [
"// #region $1",
"$0",
"// #endregion $1"
],
"description": "code fold"
},
"name": {
"prefix": "name",
"body": [
"name: '${WORKSPACE_NAME/(.*)/${1:/pascalcase}/}${TM_FILENAME_BASE/(.*)/${1:/pascalcase}/}',",
],
"description": "Variables: CLIPBOARD;\nhttps://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables"
},
"i18n": {
"prefix": "i18n",
"body": [
"import { useTranslation } from 'react-i18next';",
"const { t } = useTranslation();",
"t('key')"
],
"description": "i18n"
}
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "{/* prettier-ignore */}",
"description": "Prettier Ignore"
},
"i18n": {
"prefix": "i18n",
"body": [
"import { useTranslation } from 'react-i18next';",
"const { t } = useTranslation();",
"t('key')"
],
"description": "i18n"
},
"import ant design icon": {
"prefix": "imadi",
"body": [
"import { PlusOutlined } from '@ant-design/icons';"
],
"description": "import ant design icon"
},
"import ant design": {
"prefix": "imad",
"body": [
"import { Row, Col, Button } from 'antd';"
],
"description": "import ant design"
}
}
{
"key value": {
"prefix": "kv",
"body": ["\"$1\": \"$2\","],
"description": "key, value"
}
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "/* prettier-ignore */",
"description": "Prettier Ignore"
},
"region": {
"prefix": "region",
"body": [
"/* #region $1 */",
"$0",
"/* #endregion $1 */"
],
"description": "code fold"
},
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "<!-- prettier-ignore -->",
"description": "Prettier Ignore"
},
"Prettier Ignore (Range)": {
"prefix": "pi.range",
"body": ["<!-- prettier-ignore-start -->", "$1", "<!-- prettier-ignore-end -->"],
"description": "Prettier Ignore (Range)"
},
"markdown head": {
"prefix": "md.head",
"body": ["---", "title: $1", "author:Nicholas Hsiang", "---"],
"description": "Docment Head"
},
"comment": {
"prefix": "md.code",
"body": ["```$1", "$2", "```"],
"description": "comment"
},
"comment js": {
"prefix": "md.js",
"body": ["```javascript", "$1", "```"],
"description": "comment js"
},
"comment css": {
"prefix": "md.css",
"body": ["```css", "$1", "```"],
"description": "comment css"
},
"comment json": {
"prefix": "md.json",
"body": ["```json", "$1", "```"],
"description": "comment json"
},
"comment bash": {
"prefix": "md.bash",
"body": ["```bash", "$1", "```"],
"description": "comment bash"
},
"comment html": {
"prefix": "md.html",
"body": ["```html", "$2", "```"],
"description": "comment html"
},
"toc": {
"prefix": "md.toc",
"body": [
"# Title",
"",
"## Overview",
"",
"## Content",
"",
"### Documentation",
"",
"### Examples",
"",
"## Summary (TL;DR)",
"",
"## Conclusion",
"",
"## Up Next",
"",
"## Questions",
"",
"## Resources",
"",
"## License",
"",
"许可协议:自由转载-保持署名-非商业性使用-禁止演绎 ([CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh))",
"",
"山茶树和葡萄树 (xianghongai@gmail.com)"
],
"description": "TOC"
},
"How to": {
"prefix": "md.howto",
"body": [
"# Title",
"",
"## Issue",
"",
"$1",
"",
"## Resolution",
"",
"$2",
"",
"NOTE: ",
"",
"## References",
"",
"$3"
],
"description": "How to"
},
"License": {
"prefix": "md.license",
"body": [
"",
"许可协议:自由转载-保持署名-非商业性使用-禁止演绎 ([CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh))",
"",
"山茶树和葡萄树 (xianghongai@gmail.com)"
],
"description": "Conclusion"
},
"Conclusion": {
"prefix": "md.conclusion",
"body": ["## Conclusion", "", "$1"],
"description": "Conclusion"
},
"Introduction": {
"prefix": "md.introduction",
"body": ["## Introduction", "", "$1"],
"description": "Introduction"
},
"References": {
"prefix": "md.references",
"body": ["## References", "", "### Normative References", "", "$1", "", "### Informative References", "", ""],
"description": "Resources"
},
"Resources": {
"prefix": "md.resources",
"body": ["## Resources", "", "$1"],
"description": "Resources"
},
"Legal": {
"prefix": "md.legal",
"body": ["## Legal", "", "### Terms of Service", "", "### Copyright Policy", "", "### Privacy Policy", ""],
"description": "Legal"
},
"details summary": {
"prefix": "md.details.summary",
"body": ["<details>", "\t<summary>$1</summary>", "\t$2", "</details>", ""]
},
"Insert table": {
"prefix": "md.table",
"body": [
"| ${1:Column1} | ${2:Column2} | ${3:Column3} |",
"|-------------- | -------------- | -------------- |",
"| ${4:Item1} | ${5:Item1} | ${6:Item1} |",
"${0}"
],
"description": "Insert table with 2 rows and 3 columns. First row is heading."
},
}
{
"region": {
"prefix": "region",
"body": [
"/* #region $1 */",
"$0",
"/* #endregion $1 */"
],
"description": "code fold"
}
}
{
// Place your snippets for shellscript 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"
// }
"GNU Bash": {
"prefix": "bash.gnu",
"body": [
"#!/bin/bash",
"",
"$1"
],
"description": "GNU Bash"
},
"POSIX shell": {
"prefix": "bash.posix",
"body": [
"#!/bin/sh",
"",
"$1"
],
"description": "POSIX shell"
},
"Bash Exit": {
"prefix": "bash.exit",
"body": [
"read -n 1 -s -r -p \"Press any key to continue\"",
"exit 0;"
]
}
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "// prettier-ignore",
"description": "Prettier Ignore"
}
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "<!-- prettier-ignore -->",
"description": "Prettier ignore in Vue HTML"
},
"region": {
"prefix": "region",
"body": ["<!-- #region $1 -->", "$0", "<!-- #endregion $1 -->"],
"description": "code fold"
}
}
{
"Prettier Ignore": {
"prefix": "pi",
"body": "// prettier-ignore",
"description": "Prettier ignore in Vue"
},
"<sitemap>": {
"prefix": ["sm", "sitemap"],
"body": ["<sitemap>", "{", "\t\"title\": \"$1\"", "}", "</sitemap>"],
"description": "description"
},
"<sitemap> permissionKey": {
"prefix": ["smp", "sitemap"],
"body": [
"<sitemap>",
"{",
"\t\"title\": \"$1\",",
"\t\"extension\": {",
"\t\t\"permissionKey\": \"key\"",
"\t}",
"}",
"</sitemap>"
],
"description": "description"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment