Skip to content

vscode

vscode-settings

json
{
  // ========== Visuals ==========
  "editor.cursorSmoothCaretAnimation": "on",
  "editor.guides.bracketPairs": "active",
  // "editor.lineNumbers": "interval",
  "editor.detectIndentation": false,
  "editor.wordWrap": "on",
  "editor.minimap.enabled": true,
  "workbench.preferredDarkColorTheme": "Default Dark Modern",
  "editor.renderControlCharacters": true,
  "editor.renderWhitespace": "boundary",
  "editor.bracketPairColorization.independentColorPoolPerBracketType": true,
  // "window.zoomLevel": -1,
  "window.autoDetectColorScheme": true,
  "workbench.activityBar.location": "default",
  "workbench.productIconTheme": "fluent-icons",
  "workbench.iconTheme": "material-icon-theme",
  "workbench.editor.tabActionLocation": "right",
  "workbench.list.smoothScrolling": true,
  "workbench.sideBar.location": "left",
  "workbench.startupEditor": "newUntitledFile",
  "workbench.tree.expandMode": "singleClick",
  "workbench.tree.indent": 10,
  // "workbench.colorCustomizations": {
  //   // "activityBarBadge.background": "#84FFFF",
  //   "list.activeSelectionForeground": "#84FFFF",
  //   "list.inactiveSelectionForeground": "#84FFFF",
  //   "list.highlightForeground": "#84FFFF",
  //   "scrollbarSlider.activeBackground": "#84FFFF50",
  //   "editorSuggestWidget.highlightForeground": "#84FFFF",
  //   "textLink.foreground": "#84FFFF",
  //   "progressBar.background": "#84FFFF",
  //   "pickerGroup.foreground": "#84FFFF",
  //   "tab.activeBorder": "#84FFFF",
  //   "notificationLink.foreground": "#84FFFF",
  //   "editorWidget.resizeBorder": "#84FFFF",
  //   "editorWidget.border": "#84FFFF",
  //   "settings.modifiedItemIndicator": "#84FFFF",
  //   "settings.headerForeground": "#84FFFF",
  //   "panelTitle.activeBorder": "#84FFFF",
  //   "breadcrumb.activeSelectionForeground": "#84FFFF",
  //   "menu.selectionForeground": "#84FFFF",
  //   "menubar.selectionForeground": "#84FFFF",
  //   "editor.findMatchBorder": "#84FFFF",
  //   "selection.background": "#84FFFF40",
  // },

  // ========== Editor ==========
  "debug.onTaskErrors": "debugAnyway",
  "diffEditor.ignoreTrimWhitespace": false,
  "editor.wordSeparators": "`~!@#%^&*()=+[{]}\\|;:'\",.<>/?",
  "editor.find.addExtraSpaceOnTop": false,
  "editor.inlineSuggest.enabled": true,
  "editor.multiCursorModifier": "ctrlCmd",
  "editor.suggestSelection": "first",
  "editor.tabSize": 2,
  "editor.unicodeHighlight.invisibleCharacters": false,
  "editor.stickyScroll.enabled": true,
  "editor.hover.sticky": true,
  "editor.linkedEditing": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": "never",
    "source.fixAll.eslint": "explicit",
    "source.organizeImports": "never"
  },
  "explorer.confirmDelete": false,
  "explorer.confirmDragAndDrop": false,
  "files.insertFinalNewline": true,
  "files.simpleDialog.enable": true,
  "git.autofetch": true,
  "git.confirmSync": false,
  "git.enableSmartCommit": true,
  "git.untrackedChanges": "separate",
  "terminal.integrated.profiles.windows": {
    "GitBash": {
      "path": "D:\\Program Files\\Git\\bin\\bash.exe"
    }
  },
  "terminal.integrated.defaultProfile.windows": "GitBash",
  "terminal.integrated.cursorBlinking": true,
  "terminal.integrated.cursorStyle": "line",
  "terminal.integrated.fontWeight": "300",
  // "terminal.integrated.fontFamily": "Meslo LG L for Powerline",
  "terminal.integrated.persistentSessionReviveProcess": "never",
  "terminal.integrated.tabs.enabled": true,
  "workbench.editor.closeOnFileDelete": true,
  "workbench.editor.highlightModifiedTabs": true,
  "workbench.editor.limit.enabled": true,
  "workbench.editor.limit.perEditorGroup": true,
  "workbench.editor.limit.value": 20,

  "files.associations": {
    "*.cjson": "jsonc",
    "*.wxss": "css",
    "*.wxs": "javascript",
    "*.env.development": "env",
    "*.env.production": "env"
  },

  // ==========  Global Level Config, needs to put in User Settings ==========
  "window.dialogStyle": "custom",
  "window.nativeTabs": true, // this is great, macOS only
  "window.title": "${rootName}", // this make tabs more readable
  "window.titleBarStyle": "custom",
  "extensions.autoUpdate": "onlyEnabledExtensions",

  "cSpell.allowCompoundWords": true,
  "cSpell.language": "en,en-US",
  "cSpell.userWords": [
    "cdlab996",
    "gotabit",
    "mgcloud",
    "wudi"
  ],
  "gitlens.codeLens.authors.enabled": false,
  "gitlens.codeLens.enabled": false,
  "gitlens.codeLens.recentChange.enabled": false,
  "gitlens.menus": {
    "editor": {
      "blame": false,
      "clipboard": true,
      "compare": true,
      "history": false,
      "remote": false
    },
    "editorGroup": {
      "blame": true,
      "compare": false
    },
    "editorTab": {
      "clipboard": true,
      "compare": true,
      "history": true,
      "remote": true
    },
    "explorer": {
      "clipboard": true,
      "compare": true,
      "history": true,
      "remote": true
    },
    "scm": {
      "authors": true
    },
    "scmGroup": {
      "compare": true,
      "openClose": true,
      "stash": true
    },
    "scmGroupInline": {
      "stash": true
    },
    "scmItem": {
      "clipboard": true,
      "compare": true,
      "history": true,
      "remote": false,
      "stash": true
    }
  },
  "svg.preview.mode": "svg",

  // prettier config
  "prettier.enable": false,
  "prettier.singleQuote": true,
  "prettier.printWidth": 90,
  "prettier.proseWrap": "preserve",
  "prettier.endOfLine": "auto",
  "prettier.tabWidth": 2,
  "prettier.trailingComma": "es5",
  "prettier.useTabs": true,
  "prettier.requirePragma": false,
  "prettier.jsxSingleQuote": true,
  "prettier.semi": false,
  "prettier.bracketSpacing": true,
  "prettier.htmlWhitespaceSensitivity": "css",
  "prettier.quoteProps": "as-needed",
  "prettier.arrowParens": "always",
  "prettier.insertPragma": false,
  "prettier.bracketSameLine": false,
  "prettier.vueIndentScriptAndStyle": false,

  // ========== File Nesting ==========
  "explorer.fileNesting.enabled": true,
  "explorer.fileNesting.expand": false,
  "explorer.fileNesting.patterns": {
    "*.js": "$(capture).js.map, $(capture).*.js, $(capture)_*.js",
    "*.jsx": "$(capture).js, $(capture).*.jsx, $(capture)_*.js, $(capture)_*.jsx",
    "*.mjs": "$(capture).mjs.map, $(capture).*.mjs, $(capture)_*.mjs",
    // "*.ts": "$(capture).test.ts, $(capture).test.tsx",
    // "*.tsx": "$(capture).test.ts, $(capture).test.tsx",
    "*.ts": "$(capture).js, $(capture).d.ts.map, $(capture).*.ts, $(capture)_*.js, $(capture)_*.ts",
    "*.tsx": "$(capture).ts, $(capture).*.tsx, $(capture)_*.ts, $(capture)_*.tsx",
    "*.vue": "$(capture).*.ts, $(capture).*.js, $(capture).story.vue",
    // "*.env": "$(capture).env.*",
    ".env": "*.env, .env.*, .envrc, env.d.ts",
    ".gitignore": ".gitattributes, .gitmodules, .gitmessage, .mailmap, .git-blame*",
    "CHANGELOG.md": "CHANGELOG*",
    // "package.json": "pnpm-lock.yaml,pnpm-workspace.yaml,LICENSE,.gitattributes,.gitignore,.gitpod.yml,CNAME,.npmrc,.browserslistrc",
    "nuxt.config.*": ".babelrc*, .codecov, .cssnanorc*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
    "package.json": ".browserslist*, .circleci*, .commitlint*, .cz-config.js, .czrc, .dlint.json, .dprint.json, .editorconfig, .eslint*, .firebase*, .flowconfig, .github*, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .lintstagedrc*, .markdownlint*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .simple-git-hooks*, .stackblitz*, .styleci*, .stylelint*, .tazerc*, .textlint*, .tool-versions, .travis*, .versionrc*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, Procfile, apollo.config.*, appveyor*, azure-pipelines*, bower.json, build.config.*, commitlint*, crowdin*, dangerfile*, dlint.json, dprint.json, eslint*, firebase.json, grunt*, gulp*, jenkins*, lerna*, lint-staged*, nest-cli.*, netlify*, nodemon*, npm-shrinkwrap.json, nx.*, package-lock.json, package.nls*.json, phpcs.xml, pm2.*, pnpm*, prettier*, pullapprove*, pyrightconfig.json, release-tasks.sh, release.config.*, renovate*, rollup.config.*, rspack*, simple-git-hooks*, stylelint*, tslint*, tsup.config.*, turbo*, typedoc*, unlighthouse*, vercel*, vetur.config.*, webpack*, workspace.json, xo.config.*, yarn*",
    ".eslintrc.cjs": ".eslintignore,.prettierignore,.stylelintignore,.commitlintrc.*,.prettierrc.*,.stylelintrc.*,.editorconfig*",
    "readme*": "authors, backers*, changelog*, citation*, code_of_conduct*, codeowners, contributing*, contributors, copying, credits, governance.md, history.md, license*, maintainers, readme*, security.md, sponsors*",
    "shims.d.ts": "*.d.ts",
    "vite.config.*": ".babelrc*, .codecov, .cssnanorc*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
    "vue.config.*": ".babelrc*, .codecov, .cssnanorc*, .envrc, .htmlnanorc*, .lighthouserc.*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, contentlayer.config.*, cssnano.config.*, cypress.*, formkit.config.*, formulate.config.*, histoire.config.*, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, lighthouserc.*, playwright.config.*, postcss.config.*, puppeteer.config.*, rspack.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, uno.config.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*"
  },

  "tabnine.experimentalAutoImports": true,
  "security.workspace.trust.untrustedFiles": "open",
  "liveServer.settings.host": "127.0.0.1",
  "liveServer.settings.donotShowInfoMsg": true,
  "remote.autoForwardPortsSource": "hybrid",
  "remote.SSH.remotePlatform": {
    "39.102.202.77": "linux",
    "8.143.198.143": "linux",
    "192.168.31.61": "linux",
    "8.218.185.194": "linux",
    "8.218.195.235": "linux",
    "47.76.38.200": "linux",
    "localhost": "linux",
    "8.217.252.180": "linux",
    "8.217.97.92": "linux",
    "8.217.234.142": "linux",
    "8.217.1.150": "linux",
    "chenghuishop.com": "linux",
    "rng99.com": "linux",
    "bt.chenghuishop.com": "linux",
    "211.72.152.176": "linux",
    "94.74.122.144": "linux"
  },
  "[css]": {
    "editor.defaultFormatter": "vscode.css-language-features"
  },
  "[scss]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[markdown]": {
    "editor.defaultFormatter": "yzhang.markdown-all-in-one"
  },
  "[vue]": {
    "editor.defaultFormatter": "Vue.volar"
  }
}
json
{
  "recommendations": [
    "aaron-bond.better-comments",
    "astro-build.astro-vscode",
    "bierner.color-info",
    "bradlc.vscode-tailwindcss",
    "ChakrounAnas.turbo-console-log",
    "christian-kohler.npm-intellisense",
    "christian-kohler.path-intellisense",
    "DavidAnson.vscode-markdownlint",
    "dbaeumer.vscode-eslint",
    "donjayamanne.githistory",
    "dsznajder.es7-react-js-snippets",
    "eamodio.gitlens",
    "ecmel.vscode-html-css",
    "EditorConfig.EditorConfig",
    "esbenp.prettier-vscode",
    "formulahendry.auto-close-tag",
    "formulahendry.auto-rename-tag",
    "formulahendry.code-runner",
    "IronGeek.vscode-env",
    "jock.svg",
    "kisstkondoros.vscode-gutter-preview",
    "lokalise.i18n-ally",
    "mkxml.vscode-filesize",
    "ms-azuretools.vscode-docker",
    "MS-CEINTL.vscode-language-pack-zh-hans",
    "ms-vscode-remote.remote-containers",
    "ms-vscode-remote.remote-ssh",
    "ms-vscode-remote.remote-ssh-edit",
    "ms-vscode-remote.remote-wsl",
    "ms-vscode-remote.vscode-remote-extensionpack",
    "ms-vscode.remote-explorer",
    "ms-vscode.remote-server",
    "octref.vetur",
    "PKief.material-icon-theme",
    "quicktype.quicktype",
    "ritwickdey.LiveServer",
    "steoates.autoimport",
    "streetsidesoftware.code-spell-checker",
    "stylelint.vscode-stylelint",
    "TabNine.tabnine-vscode",
    "techer.open-in-browser",
    "usernamehw.errorlens",
    "Vue.volar",
    "WakaTime.vscode-wakatime",
    "WallabyJs.quokka-vscode",
    "wix.vscode-import-cost",
    "xabikos.JavaScriptSnippets",
    "yzhang.markdown-all-in-one"
  ]
}
bash
# copy extensions to extensions.json

echo '{"recommendations":['$(code --list-extensions | sed 's/^/"/;s/$/",/g')']}' > extensions.json

Preview

快捷键

Win

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

image.png

macOS

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf

image.png

Mac设置iTerm2终端样式

Meslo LG L for Powerline

image.png

image.png

命令行打开 VSCode

  • 手动打开 vscode
  • command + shift + p 打开命令面板(或者点击菜单栏 查看>命令面板)
  • 输入shell(选择"install code command in PATH")

image.png

  • 打开终端 进入需要用IDE打开的文件夹 输入"code ~/Di-got/GitHub/Front-End"

image.png

远程服务器

text
ssh root@192.168.1.105 -p 31419

# /Users/wudi/.ssh/config
Host 192.168.1.105
    HostName 192.168.1.105
    Port 31419
    User root

利用插件实现远程服务器开发

image.png

image.png

image.png

image.png

Layout Switch

Adjust the layout style of VitePress to adapt to different reading needs and screens.

Expand all
The sidebar and content area occupy the entire width of the screen.
Expand sidebar with adjustable values
Expand sidebar width and add a new slider for user to choose and customize their desired width of the maximum width of sidebar can go, but the content area width will remain the same.
Expand all with adjustable values
Expand sidebar width and add a new slider for user to choose and customize their desired width of the maximum width of sidebar can go, but the content area width will remain the same.
Original width
The original layout width of VitePress

Page Layout Max Width

Adjust the exact value of the page width of VitePress layout to adapt to different reading needs and screens.

Adjust the maximum width of the page layout
A ranged slider for user to choose and customize their desired width of the maximum width of the page layout can go.

Content Layout Max Width

Adjust the exact value of the document content width of VitePress layout to adapt to different reading needs and screens.

Adjust the maximum width of the content layout
A ranged slider for user to choose and customize their desired width of the maximum width of the content layout can go.

Spotlight

Highlight the line where the mouse is currently hovering in the content to optimize for users who may have reading and focusing difficulties.

ONOn
Turn on Spotlight.
OFFOff
Turn off Spotlight.