Skip to content

Instantly share code, notes, and snippets.

@ppcamp
Last active June 8, 2024 00:03
Show Gist options
  • Save ppcamp/a8a1f9e139ca976c5bbf3e20dc29fc68 to your computer and use it in GitHub Desktop.
Save ppcamp/a8a1f9e139ca976c5bbf3e20dc29fc68 to your computer and use it in GitHub Desktop.
VScode configs and tips

VScode configs and tips:

Summary

A curated list of tips and configs for VScode

Configs

settings.json (user's settings)
{
    "[python]": {
        "diffEditor.ignoreTrimWhitespace": false,
        "editor.defaultFormatter": "ms-python.black-formatter",
        "editor.formatOnType": true,
        "editor.wordBasedSuggestions": "off",
        "gitlens.codeLens.symbolScopes": [
            "!Module"
        ]
    },
    "[typescriptreact]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "breadcrumbs.filePath": "on",
    "debug.onTaskErrors": "debugAnyway",
    "debug.terminal.clearBeforeReusing": true,
    "diffEditor.codeLens": true,
    "diffEditor.experimental.showMoves": true,
    "diffEditor.wordWrap": "off",
    "editor.accessibilitySupport": "off",
    "editor.autoClosingBrackets": "always",
    "editor.bracketPairColorization.enabled": true,
    "editor.bracketPairColorization.independentColorPoolPerBracketType": true,
    "editor.codeActionsOnSave": {
        "source.fixAll": "explicit"
    },
    "editor.codeLens": true,
    "editor.defaultFormatter": "GitHub.copilot-chat",
    "editor.definitionLinkOpensInPeek": true,
    "editor.detectIndentation": false,
    "editor.foldingImportsByDefault": true,
    "editor.foldingStrategy": "indentation",
    "editor.fontFamily": "'JetBrains Mono','Fira Code',Consolas, 'Courier New', monospace",
    "editor.fontLigatures": true,
    "editor.formatOnSave": true,
    "editor.guides.bracketPairs": true,
    "editor.inlayHints.fontFamily": "'JetBrains Mono',monospace",
    "editor.inlayHints.fontSize": 9,
    "editor.inlayHints.padding": true,
    "editor.inlineSuggest.enabled": true,
    "editor.inlineSuggest.showToolbar": "always",
    "editor.insertSpaces": true,
    "editor.lineHeight": 1.8,
    "editor.minimap.renderCharacters": false,
    "editor.minimap.showSlider": "always",
    "editor.minimap.size": "fit",
    "editor.renderWhitespace": "none",
    "editor.rulers": [
        80,
        100
    ],
    "editor.scrollbar.horizontal": "hidden",
    "editor.scrollbar.vertical": "hidden",
    "editor.semanticHighlighting.enabled": false,
    "editor.stickyScroll.defaultModel": "foldingProviderModel",
    "editor.stickyScroll.maxLineCount": 3,
    "editor.suggestSelection": "first",
    "editor.tabSize": 4,
    "editor.unfoldOnClickAfterEndOfLine": true,
    "editor.unicodeHighlight.allowedCharacters": {
        " ": true
    },
    "emmet.triggerExpansionOnTab": true,
    "explorer.compactFolders": true,
    "explorer.confirmDelete": false,
    "explorer.confirmDragAndDrop": false,
    "explorer.fileNesting.enabled": true,
    "explorer.fileNesting.patterns": {
        "*.js": "*.js.map, *.min.js, *.d.ts",
        "*.jsx": "*.js",
        "*.ts": "*.js",
        "*.tsx": "*.ts",
        "*.yaml": "*.yml,*.yaml",
        ".gitignore": ".gitignore, .gitattributes, .gcloudignore, .gitmodules, .moreignore",
        "Dockerfile": "Dockerfile, Dockerfile.*, docker-compose*, .docker*",
        "go.*": "go.*",
        "Makefile": "go.work*, debug-env.sh, .vscode.env",
        "package.json": "package-lock.json, yarn.lock, pnpm-lock.yaml, .env*, .prettier*, .npmrc",
        "tsconfig.*": "tsconfig.*.json, vite.config.*, svelte.config.*, .eslint*"
    },
    "extensions.ignoreRecommendations": true,
    "files.associations": {
        "*.csv": "plaintext",
        "*.svelte": "svelte",
        "*.tmpl": "gohtml"
    },
    "files.exclude": {
        "**/.classpath": true,
        "**/.factorypath": true,
        "**/.project": true,
        "**/.settings": true
    },
    "files.trimTrailingWhitespace": true,
    "git.allowForcePush": true,
    "git.autofetch": true,
    "git.autoRepositoryDetection": "openEditors",
    "git.autoStash": true,
    "git.confirmSync": false,
    "git.enableSmartCommit": true,
    "git.ignoreMissingGitWarning": true,
    "git.ignoreRebaseWarning": true,
    "git.openRepositoryInParentFolders": "always",
    "git.terminalAuthentication": false,
    "github.copilot.advanced": {
        "inlineSuggestCount": 2,
        "listCount": 5
    },
    "github.copilot.chat.terminalChatLocation": "quickChat",
    "github.copilot.enable": {
        "markdown": "true"
    },
    "gitlens.autolinks": [
        {
            "prefix": "#",
            "url": "https://bitbucket.cablevision.com/projects/MAUI/repos/maui/pull-requests/<num>/overview"
        },
        {
            "prefix": "MAUI-",
            "url": "https://jira.cablevision.com/browse/MAUI-<num>"
        },
        {
            "prefix": "PR-",
            "url": "https://bitbucket.cablevision.com/projects/MAUI/repos/maui/pull-requests/<num>/overview"
        }
    ],
    "gitlens.gitCommands.skipConfirmations": [
        "fetch:command",
        "switch:command",
        "stash-push:command",
        "branch-create:command"
    ],
    "gitlens.graph.dimMergeCommits": true,
    "gitlens.graph.minimap.additionalTypes": [
        "tags"
    ],
    "gitlens.graph.minimap.dataType": "lines",
    "gitlens.graph.minimap.enabled": false,
    "gitlens.remotes": [
        {
            "domain": "bitbucket.cablevision.com",
            "ignoreSSLErrors": true,
            "name": "MAUI",
            "protocol": "https",
            "type": "BitbucketServer",
            "urls": {
                "branch": "https://bitbucket.cablevision.com/projects/MAUI/repos/${repo}/branches?base=${branch}",
                "branches": "https://bitbucket.cablevision.com/projects/MAUI/repos/${repo}/branches",
                "commit": "https://bitbucket.cablevision.com/projects/MAUI/repos/${repo}/commits/${id}",
                "file": "https://bitbucket.cablevision.com/projects/MAUI/repos/${repo}/browse/${file}#${line}",
                "fileInBranch": "https://bitbucket.cablevision.com/projects/MAUI/repos/${repo}/browse/${file}?at=refs/heads/${branch}#${line}",
                "fileInCommit": "https://bitbucket.cablevision.com/projects/MAUI/repos/${repo}/browse/${file}?at=${id}#${line}",
                "fileLine": "#${line}",
                "fileRange": "#${start}-${end}",
                "repository": "https://bitbucket.cablevision.com/projects/MAUI/repos/${repo}/browse"
            }
        }
    ],
    "gitlens.showWelcomeOnInstall": false,
    "gitlens.sortBranchesBy": "name:asc",
    "gitlens.views.commits.showBranchComparison": "branch",
    "gitlens.views.fileHistory.avatars": false,
    "gitlens.views.lineHistory.avatars": false,
    "gitlens.views.searchAndCompare.files.layout": "tree",
    "gitlens.views.searchAndCompare.files.threshold": 1,
    "go.delveConfig": {
        "hideSystemGoroutines": true
    },
    "go.editorContextMenuCommands": {
        "fillStruct": true
    },
    "go.enableCodeLens": {
        "runtest": false
    },
    "go.inlayHints.compositeLiteralFields": true,
    "go.inlayHints.compositeLiteralTypes": true,
    "go.inlayHints.constantValues": true,
    "go.inlayHints.functionTypeParameters": true,
    "go.inlayHints.parameterNames": true,
    "go.inlayHints.rangeVariableTypes": true,
    "go.languageServerFlags": [],
    "go.testFlags": [],
    "go.toolsManagement.autoUpdate": true,
    "gopls": {
        "ui.completion.usePlaceholders": false
    },
    "grunt.autoDetect": "on",
    "gulp.autoDetect": "on",
    "jake.autoDetect": "on",
    "javascript.inlayHints.enumMemberValues.enabled": true,
    "javascript.inlayHints.functionLikeReturnTypes.enabled": true,
    "javascript.inlayHints.parameterNames.enabled": "all",
    "javascript.inlayHints.parameterTypes.enabled": true,
    "javascript.inlayHints.propertyDeclarationTypes.enabled": true,
    "javascript.inlayHints.variableTypes.enabled": true,
    "javascript.updateImportsOnFileMove.enabled": "always",
    "notebook.outline.showCodeCells": true,
    "prettier.requireConfig": true,
    "python.terminal.activateEnvInCurrentTerminal": true,
    "python.terminal.activateEnvironment": true,
    "remote.autoForwardPortsSource": "hybrid",
    "remote.SSH.configFile": "C:\\Users\\pedro\\alticeusa\\SSHhosts",
    "remote.SSH.remotePlatform": {
        "default": "linux",
        "gcloud": "linux"
    },
    "security.allowedUNCHosts": [
        "wsl.localhost"
    ],
    "security.workspace.trust.untrustedFiles": "open",
    "svelte.enable-ts-plugin": true,
    "svelte.plugin.svelte.defaultScriptLanguage": "ts",
    "symbols.hidesExplorerArrows": false,
    "task.quickOpen.history": 15,
    "terminal.integrated.copyOnSelection": true,
    "terminal.integrated.customGlyphs": true,
    "terminal.integrated.defaultProfile.windows": null,
    "terminal.integrated.enableImages": true,
    "terminal.integrated.fontFamily": "'JetBrains Mono',monospace",
    "terminal.integrated.fontSize": 12,
    "terminal.integrated.fontWeight": "200",
    "terminal.integrated.fontWeightBold": "800",
    "terminal.integrated.gpuAcceleration": "on",
    "terminal.integrated.hideOnStartup": "whenEmpty",
    "terminal.integrated.letterSpacing": 1,
    "terminal.integrated.lineHeight": 1.5,
    "terminal.integrated.profiles.linux": {
        "bash": {
            "args": [
                "-l"
            ],
            "icon": "terminal-bash",
            "path": "bash"
        },
        "tmux": {
            "icon": "terminal-tmux",
            "path": "tmux"
        },
        "zsh": {
            "path": "zsh"
        }
    },
    "terminal.integrated.shellIntegration.decorationsEnabled": "gutter",
    "todo-tree.general.showActivityBarBadge": true,
    "todo-tree.general.tags": [
        "BUG",
        "HACK",
        "FIXME",
        "TODO",
        "XXX",
        "[ ]",
        "[x]",
        "SEE",
        "NOTE",
        "IMPORTANT"
    ],
    // "todo-tree.highlights.customHighlight": {
    //   "BUG": {
    //     "icon": "bug"
    //   },
    //   "HACK": {
    //     "icon": "tools"
    //   },
    //   "FIXME": {
    //     "foreground": "#f080ff",
    //     "iconColour": "#f080ff",
    //     "gutterIcon": true,
    //     "icon": "flame",
    //   },
    //   "XXX": {
    //     "icon": "x"
    //   },
    //   "[ ]": {
    //     "icon": "issue-draft"
    //   },
    //   "[x]": {
    //     "icon": "issue-closed"
    //   }
    // },
    "typescript.inlayHints.functionLikeReturnTypes.enabled": true,
    "typescript.inlayHints.parameterNames.enabled": "all",
    "typescript.inlayHints.parameterTypes.enabled": true,
    "typescript.inlayHints.propertyDeclarationTypes.enabled": true,
    "typescript.inlayHints.variableTypes.enabled": true,
    "typescript.updateImportsOnFileMove.enabled": "always",
    "typescript.workspaceSymbols.scope": "currentProject",
    "vscode-edge-devtools.browserFlavor": "Stable",
    "vscode-edge-devtools.defaultUrl": "localhost:5000",
    "vsicons.dontShowNewVersionMessage": true,
    "window.closeWhenEmpty": true,
    "window.density.editorTabHeight": "compact",
    "window.dialogStyle": "custom",
    "window.newWindowDimensions": "fullscreen",
    "window.restoreFullscreen": true, // "preserve" to open previous windows
    "window.title": "${dirty}${rootName}",
    "window.titleBarStyle": "custom",
    "workbench.colorCustomizations": {
        "activityBar.activeBackground": "#83b3e0",
        "activityBar.activeBorder": "#010033",
        "activityBar.background": "#1781e4",
        "activityBar.foreground": "#010033",
        "activityBar.inactiveForeground": "#313131",
        "activityBarBadge.background": "#010033",
        "activityBarBadge.foreground": "#e7e7e7",
        "terminal.ansiBlack": "#0F111A",
        "terminal.ansiBlue": "#3c268a",
        "terminal.ansiBrightBlack": "#bba0a0",
        "terminal.ansiGreen": "#bca4db",
        "titleBar.activeForeground": "#fff",
        "titleBar.inactiveForeground": "#FFF"
    },
    "workbench.colorTheme": "Panda Syntax",
    "workbench.commandPalette.experimental.askChatLocation": "quickChat",
    "workbench.commandPalette.history": 10,
    "workbench.commandPalette.preserveInput": true,
    "workbench.editor.empty.hint": "hidden",
    "workbench.editor.labelFormat": "default",
    "workbench.editor.restoreViewState": false,
    "workbench.iconTheme": "symbols",
    "workbench.preferredDarkColorTheme": "Panda Syntax",
    "workbench.sideBar.location": "right",
    "workbench.startupEditor": "none",
    "workbench.tips.enabled": false,
    "workbench.tree.enableStickyScroll": true,
    "terminal.integrated.defaultProfile.linux": "bash",
    "window.commandCenter": false,
    "window.menuBarVisibility": "compact",
    "workbench.activityBar.location": "bottom",
    "[sql]": {
        "editor.defaultFormatter": "adpyke.vscode-sql-formatter"
    },
    "window.restoreWindows": "none",
    "[markdown]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    } // "preserve" to open previous windows
}
tasks.json
{
  "version": "2.0.0",
  "tasks": [
      {
          "command": "go",
          "args": [
              "test",
              "-v",
              "${file}"
          ],
          "label": "gorun:current",
          "detail": "Go run current file",
          "type": "shell",
          "presentation": { "reveal": "silent" },
          "group": "build",
          "problemMatcher": "$gcc",
      },
      {
          // "windows": {},
          "command": "go",
          "args": [
              "test",
              "-v",
              "${input:runTestFolder}"
          ],
          "label": "gorun:tests",
          "detail": "Go test package",
          "type": "shell",
          "presentation": { "reveal": "silent" },
          "group": "build",
          "problemMatcher": "$gcc",
      },
  ],
  "inputs": [
      {
          "id": "runTestFolder",
          "type": "command",
          "command": "extension.commandvariable.pickStringRemember",
          "args": {
              "description": "Which directory to run tests?",
              "options": [
                  [ "Rerun task", "${remember:toRememberFolder}" ],
                  [ "Pick directory", "${pickFile:directory}" ],
                  [ "All", "./..." ],
              ],
              "rememberTransformed": true,
              "key": "goFilesPath",
              "default": null,
              "pickFile": {
                  "directory": {
                      "description": "Which directory?",
                      "include": "**/*.go",
                      "showDirs": true,
                      "keyRemember": "toRememberFolder"
                  }
              }
          }
      },
      {
          "id": "filename",
          "type": "promptString",
          "description": "Allow user to set the file",
      }
  ]
} 
keybindings.json
[
  {
    "key": "ctrl+abnt_c1",
    "command": "editor.action.commentLine",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+shift+abnt_c1",
    "command": "editor.action.blockComment",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+alt+right",
    "command": "-workbench.action.moveEditorToNextGroup"
  },
  // {
  // 	"key": "ctrl+right",
  // 	"command": "maptz.camelcasenavigation.moveCamelRightCommand",
  // 	"when": "editorTextFocus"
  // },
  // {
  // 	"key": "ctrl+right",
  // 	"command": "-maptz.camelcasenavigation.moveCamelRightCommand",
  // 	"when": "editorTextFocus"
  // },
  {
    "key": "ctrl+alt+right",
    "command": "editor.action.inlineSuggest.acceptNextWord",
    "when": "inlineSuggestionVisible && !editorReadonly"
  },
  {
    "key": "ctrl+right",
    "command": "-editor.action.inlineSuggest.acceptNextWord",
    "when": "inlineSuggestionVisible && !editorReadonly"
  },
  {
    "key": "shift+alt+c",
    "command": "copyRelativeFilePath",
    "when": "!editorFocus"
  },
  {
    "key": "ctrl+k ctrl+shift+c",
    "command": "-copyRelativeFilePath",
    "when": "!editorFocus"
  },
  {
    "key": "shift+alt+c",
    "command": "copyRelativeFilePath",
    "when": "editorFocus"
  },
  {
    "key": "ctrl+k ctrl+shift+c",
    "command": "-copyRelativeFilePath",
    "when": "editorFocus"
  },
  {
    "key": "shift+alt+c",
    "command": "-copyFilePath",
    "when": "!editorFocus"
  },
  {
    "key": "shift+alt+c",
    "command": "-copyFilePath",
    "when": "editorFocus"
  },
  {
    "key": "ctrl+alt+k",
    "command": "-bookmarks.toggle",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+shift+alt+k",
    "command": "bookmarks.toggleLabeled"
  },
  {
    "key": "ctrl+alt+k",
    "command": "bookmarks.toggle"
  },
  {
    "key": "ctrl+k ctrl+s",
    "command": "git.stageSelectedRanges",
    "when": "isInDiffEditor && !operationInProgress"
  },
  {
    "key": "ctrl+k ctrl+alt+s",
    "command": "-git.stageSelectedRanges",
    "when": "isInDiffEditor && !operationInProgress"
  },
  {
    "key": "ctrl+k ctrl+alt+s",
    "command": "workbench.action.openGlobalKeybindings"
  },
  {
    "key": "ctrl+k ctrl+s",
    "command": "-workbench.action.openGlobalKeybindings"
  },
  {
    "key": "ctrl+k ctrl+u",
    "command": "git.unstageSelectedRanges",
    "when": "isInDiffEditor && !operationInProgress"
  },
  {
    "key": "ctrl+k ctrl+n",
    "command": "-git.unstageSelectedRanges",
    "when": "isInDiffEditor && !operationInProgress"
  },
  {
    "key": "ctrl+k ctrl+n",
    "command": "editor.action.removeCommentLine",
    "when": "editorTextFocus && !editorReadonly"
  },
  {
    "key": "ctrl+k ctrl+u",
    "command": "-editor.action.removeCommentLine",
    "when": "editorTextFocus && !editorReadonly"
  },
]
launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
			"name": "Attach to Remote Node.js (Docker)",
			"address": "localhost",
			"localRoot": "${workspaceFolder}",
			"port": 9229,
			"remoteRoot": "/maui-app",
			"request": "attach",
			"skipFiles": ["<node_internals>/**"],
			"type": "node"
		},
		{
			"name": "Attach to Remote Node.js (Local)",
			"localRoot": "${workspaceFolder}",
			"port": 9229,
			"request": "attach",
			"skipFiles": ["<node_internals>/**"],
			"type": "node"
		},
    {
      "preLaunchTask": "npm: build",
      "type": "node",
      "request": "launch",
      "name": "NestJs",
      "args": ["${workspaceFolder}/src/main.ts"],
      "runtimeArgs": [
        "--nolazy",
        "-r",
        "ts-node/register",
        "-r",
        "tsconfig-paths/register"
      ],
      "sourceMaps": true,
      "envFile": "${workspaceFolder}/.env",
      "cwd": "${workspaceRoot}",
      "console": "integratedTerminal",
      "protocol": "inspector"
    },
    {
      "name": "vagrant-debug",
      "type": "go",
      "request": "launch",
      "mode": "debug",
      "program": "${workspaceRoot}/api/cmd/grpc-server",
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "${workspaceRoot}/../credentials/atus-maui-dev.json",
        "GOOGLE_CLOUD_PROJECT": "atus-maui-dev",
        "CONFIG_FILE": "${workspaceRoot}/build/local/config/api-config.yaml"
      },
      "args": [
        "--port",
        "${input:server-port}",
        "--tableprefix",
        "${input:table-prefix}"
      ]
    },
    {
      "name": "gcp-vm-debug",
      "type": "go",
      "request": "launch",
      "mode": "debug",
      "program": "${workspaceRoot}/api/cmd/grpc-server",
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "${workspaceRoot}/../credentials/atus-maui-dev.json",
        "GOOGLE_CLOUD_PROJECT": "atus-maui-dev",
        "CONFIG_FILE": "${workspaceRoot}/build/local/config/api-config.yaml"
      },
      "args": [
        "--port",
        "${input:server-port}",
        "--tableprefix",
        "${input:table-prefix}"
      ]
    },
    {
      "name": "localhost-ui",
      "type": "chrome",
      "request": "launch",
      "url": "http://localhost:5000",
      "webRoot": "${workspaceFolder}/ui"
    },
    {
      "name": "gcp-vm-client-debug",
      "type": "go",
      "request": "launch",
      "mode": "debug",
      "program": "${workspaceRoot}/api/cmd/grpc-client",
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "${workspaceRoot}/../credentials/atus-maui-dev.json",
        "GOOGLE_CLOUD_PROJECT": "atus-maui-dev",
        "ORACONN": "oracle://${input:ora-user}:${input:ora-pass}@cvdwrprod.cablevision.com:1535/cvdwrp.cablevision.com?TRACE FILE=/tmp/trace.log?AUTH TYPE=Normal"
      },
      "args": [
        "--t",
        "houseMaster[verify]",
        "--verbose"
      ]
    },
    {
      "name": "location-extractor-debug",
      "type": "go",
      "request": "launch",
      "mode": "debug",
      "program": "${workspaceRoot}/api/cmd/location-extractor",
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "${workspaceRoot}/../credentials/atus-maui-dev.json",
        "GOOGLE_CLOUD_PROJECT": "atus-maui-dev",
        "CONFIG_PATH": "${workspaceRoot}",
        "APP_ENV": "local",
        "ORACONN": "oracle://${input:ora-user}:${input:ora-pass}@cvdwrprod.cablevision.com:1535/cvdwrp.cablevision.com?TRACE FILE=/tmp/trace.log?AUTH TYPE=Normal"
      },
      "args": [
        "--debug",
        "--mode",
        "file",
        "--path",
        "/tmp/extracts"
      ]
    }
  ],
  "inputs": [
    {
      "id": "table-prefix",
      "type": "command",
      "command": "extension.commandvariable.file.content",
      "args": {
        "fileName": "${workspaceFolder}/.vscode.env",
        "key": "TABLE_PREFIX"
      }
    },
    {
      "id": "server-port",
      "type": "command",
      "command": "extension.commandvariable.file.content",
      "args": {
        "fileName": "${workspaceFolder}/.vscode.env",
        "key": "SERVER_PORT"
      }
    },
    {
      "id": "ora-pass",
      "type": "command",
      "command": "extension.commandvariable.file.content",
      "args": {
        "fileName": "${workspaceRoot}/../credentials/.vscode.env",
        "key": "ORA_PASS"
      }
    },
    {
      "id": "ora-user",
      "type": "command",
      "command": "extension.commandvariable.file.content",
      "args": {
        "fileName": "${workspaceRoot}/../credentials/.vscode.env",
        "key": "ORA_USER"
      }
    }
  ]
}
extensions.json
{
  // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
  // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
  // List of extensions which should be recommended for users of this workspace.
  "recommendations": [
	        "alefragnani.bookmarks",
        "ms-vscode-remote.remote-containers",
        "usernamehw.errorlens",
        "tinkertrain.theme-panda",
        "ms-edgedevtools.vscode-edge-devtools",
        "miguelsolorio.symbols",
        "teabyii.ayu",
        "akamud.vscode-theme-onedark",
        "dbaeumer.vscode-eslint",
        "github.copilot",
        "eamodio.gitlens",
        "visualstudioexptteam.vscodeintellicode",
        "ms-python.isort",
        "ms-toolsai.jupyter",
        "bierner.markdown-mermaid",
        "whizkydee.material-palenight-theme",
        "ms-python.debugpy",
        "alefragnani.separators",
        "gruntfuggly.todo-tree",
        "ms-python.black-formatter",
        "ms-azuretools.vscode-docker",
    "aaron-bond.better-comments",
    "alexkrechik.cucumberautocomplete",
    "cucumberopen.cucumber-official",
    "dbaeumer.vscode-eslint",
    "dotenv.dotenv-vscode",
    "dotjoshjohnson.xml",
    "eamodio.gitlens",
    "esbenp.prettier-vscode",
    "formulahendry.code-runner",
    "golang.go",
    "gruntfuggly.todo-tree",
    "jock.svg",
    "mikestead.dotenv",
    "ms-python.black-formatter",
    "ms-vscode.makefile-tools",
    "pflannery.vscode-versionlens",
    "rioj7.command-variable",
    "svelte.svelte-vscode",
    "usernamehw.errorlens",
    "visualstudioexptteam.vscodeintellicode",
    "vscode-icons-team.vscode-icons",
    "windmilleng.vscode-go-autotest",
    "yzhang.markdown-all-in-one",
    "zxh404.vscode-proto3",
    "humao.rest-client",
    "vitest.explorer"
  ],
  // List of extensions recommended by VS Code that should not be recommended for users of this workspace.
  "unwantedRecommendations": []
}

Keyboard Shortcuts

Sidebar Views

  • ctrl+shift+g G source control
  • ctrl+shift+e Explorer
  • ctrl+shift+f Search
  • ctrl+shift+d Run
  • ctrl+shift+x extensions
  • ctrl+1 focus on thunder client
  • ctrl+2 focus on docker containers
  • ctrl+3 focus on remote explorer
  • ctrl+, user settings
  • ctrl+k ctrl+s keyboard settings
  • F1 command palette

View

  • alt+z word wrap
  • ctrl+/ toggle line comment
  • ctrl+k ctrl+0 fold all
  • ctrl+k ctrl+j unfold all
  • ctrl+k ctrl- fold all except the current
  • ctrl+shift+[ fold the current region
  • ctrl+shift+] unfold the current region
  • ctrl+k ctrl+; fold all block comments
  • ctrl+k ctrl+NUMBER where number is a digit meaning the level of the founding

Inside a file

  • ctrl+p goto file
  • ctrl+g goto line/column
  • ctrl+shift+] goes to where the bracket start of finish
  • ctrl+shift+. opens the outline on the top

Debug & Running & Terminal

  • ctrl+shift+m problems
  • ctrl+shift+y debug console
  • ctrl+shift+u output
  • ctrl+shift+c open external terminal
  • ctrl+' terminal on the main directory
  • ctrl+shift+' open terminal on the workspace directory selected
  • F5 start/continue debug
  • ctrl+shift+b debug task

Regex replacement

  1. Remove extra content that doesn't match with this
@Column[\s{(\w:'\d,]*(name: '[\w]*').*
@Column({ $1 })
  1. Replace it to lower
(name:[\s]*'[\w]*')
\L$1
  1. Replace the entities to lower
@Entity\('([\w]*)'\)
@Entity('\L$1')
  1. Replace it back to database name

  2. At first, update every word to first letter in upper case, and the second ones, into first letter uppercase and others into lower

>> ./back-end/src/modules/**/*.ts
(name:[\s]*'([\w]*)')
name: '\u\L$2'
  1. Make every id be lowercase and every letter after, upper
>> ./back-end/src/modules/**/*entity.ts
@Entity\('([\w]*)'\)
@Entity('\u\l$1')

(['_]+)id([a-zA-Z]*)
$1id\u\L$2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment