Skip to content

Instantly share code, notes, and snippets.

@simicd
Last active July 19, 2023 10:13
Show Gist options
  • Save simicd/a164520c4f76a73b08c5401cfbba673f to your computer and use it in GitHub Desktop.
Save simicd/a164520c4f76a73b08c5401cfbba673f to your computer and use it in GitHub Desktop.
{
// Editor & Debuger
"editor.suggestSelection": "first",
"editor.minimap.renderCharacters": false, // Use text representation in minimap on the right side
"editor.minimap.showSlider": "always", // Highlight visible code area in minimap on right side
"editor.copyWithSyntaxHighlighting": true, // CTRL + C will also copy the code highlighting
"editor.cursorBlinking": "solid", // Change cursor blinking style
"editor.multiCursorModifier": "ctrlCmd", // Use CTRL + Mouse click to place multiple cursors and write simulatnously
"editor.guides.bracketPairs": true, // Colorize vertical line indicating bracket range on the left hand side
"editor.bracketPairColorization.enabled": true, // Colorize pairs of brackets
"files.trimTrailingWhitespace": true, // Remove trailing white space at end of line
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"workbench.editor.highlightModifiedTabs": true, // Show blue line above modified files in top bar
"workbench.tree.indent": 20, // Increase indent of nested files and folders in Explorer (left)
"debug.showInStatusBar": "never", // Don't show debug buttons in status bar
"debug.allowBreakpointsEverywhere": true, // Required for debugging Rust apps
"workbench.editor.enablePreviewFromQuickOpen": false, // Keep file open if opened with CTRL + P
"editor.wordWrap": "on", // By default wrap long lines... (option: use Alt + Z to toggle between wrap and no wrap)
"editor.wrappingIndent": "indent", // and indent them relative to the parent line
"editor.linkedEditing": true, // Automatically rename opening & closing HTML tags without pressing F2
"window.title": "${rootName}${separator}${dirty}${activeEditorShort}${separator}${appName}", // Customize app/window name from default "{open file}-{app}-VS Code" to "{app}-{open file}-VS Code" to make it easier to recognize which project is open
"workbench.layoutControl.enabled": true, // Enable layout button in top right corner
"terminal.integrated.shellIntegration.enabled": true, // Allow VS Code to capture more Terminal/PowerShell information
"window.commandCenter": true, // Enable search console in the window header area (top)
"testing.defaultGutterClickAction": "debug", // By default launch test in debug mode when clicking on the test icon next to a function in a unit test
"editor.inlineSuggest.enabled": true,
// Link file extensions to a language for improved syntax highlighting
"files.associations": {
"*.mdx": "markdown"
},
// Make files read-only
"files.readonlyInclude": {
"**/poetry.lock": true,
"**/.venv/**": true,
"**/node_modules/**": true
},
// Git/Source Control
"git.enableSmartCommit": true, // Automatically stage changes
"git.confirmSync": false, // Do not show warning when syncing repo
"git.autofetch": true, // Automatically fetch from remote...
"git.autofetchPeriod": 180, // ... every 3 minutes (default)
"scm.defaultViewMode": "tree", // Display changed files in folder tree view by default
"git.mergeEditor": true, // Enable new git editor experiences
"git.branchProtection": [ // Define list of protected branches
"main",
"master"
],
"git.requireGitUserConfig": true, // Require user to set git user name and email
"githubPullRequests.pullBranch": "never",
"git.allowForcePush": true, // Add force push button in VS Code source control menu
"git.pruneOnFetch": true, // Delete remote branches when fetching
// Git Graph extension
"git-graph.repository.commits.order": "topo", // Group commits by topology rather by date (easier to interpret)
"git-graph.repository.fetchAndPrune": true, // When fetching commits also prune at the same time to
// remove local entries of deleted remote repositories
// Theme
"workbench.iconTheme": "vs-nomo-dark", // Download extension: Nomo Dark
"workbench.colorTheme": "GitHub Dark",
"workbench.preferredDarkColorTheme": "GitHub Dark",
"workbench.preferredLightColorTheme": "GitHub Light Default",
// Python
"python.languageServer": "Pylance",
"python.testing.pytestEnabled": true, // Configure which Python test environment to use
"python.testing.unittestEnabled": false, // ..
"python.analysis.diagnosticMode": "workspace", // Check all library files (not only open ones)
"workbench.editorAssociations": {
"*.ipynb": "jupyter-notebook"
},
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnType": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true // Organize imports on save using isort (VS Code extension)
}
},
"isort.args": ["--profile", "black"], // Configure import sorting to use black profile
// Notebooks
"notebook.cellToolbarLocation": {
"default": "right",
"jupyter-notebook": "left"
},
"notebook.formatOnSave.enabled": true,
"notebook.output.scrolling": true,
"jupyter.interactiveWindow.textEditor.executeSelection": true,
// Pylance extension
"python.analysis.useLibraryCodeForTypes": true, // Extract type information from annotations if definition file not available
"python.analysis.typeCheckingMode": "basic",
// LaTeX Workshop extension
"latex-workshop.latex.autoBuild.run": "never", // Do not automatically create PDF on save
"latex-workshop.latex.autoBuild.cleanAndRetry.enabled": false, // Do not retry PDF building after fail
"latex-workshop.view.pdf.viewer": "tab", // Open PDF in tab preview mode (side-by-side with LaTeX script)
"latex-workshop.message.badbox.show": false, // Disable badbox warnings
"latex-workshop.latex.recipes": [ // Define recipes for LaTeX compilation
{
"name": "pdflatex",
"tools": ["pdflatex"]
},
{
"name": "bibtex",
"tools": ["bibtex"]
},
{
"name": "latexmk",
"tools": ["latexmk"]
}
],
"latex-workshop.latex.tools": [ // Define steps which are used in recipes
{ // Each step has a MiKTeX command and optional arguments
"name": "pdflatex",
"command": "pdflatex",
"args": ["--synctex=1", "-interaction=nonstopmode", "%DOC%"]
},
{
"name": "bibtex",
"command": "bibtex",
"args": ["%DOCFILE%"]
},
{
"name": "makeindex",
"command": "makeindex",
"args": ["\"%DOCFILE%.idx\" -t \"%DOCFILE%.ilg\" -o \"%DOCFILE%.ind\""]
},
{
"name": "latexmk",
"command": "latexmk",
"args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "-outdir=%OUTDIR%", "%DOC%"]
}
],
//Rewrap extension
"rewrap.wrappingColumn": 120, // Wrap columns after 120 characters with ALT + Q
// GitLens extension
"gitlens.hovers.currentLine.over": "line", //
"gitlens.defaultDateShortFormat": "YYYY-MM-DD", // GitLens date format
// Git - Semantic Commit
"gitSemanticCommit.types": [
{
"type": "build",
"description": "🔨 Add or change build scripts, configurations or tools and package dependencies"
},
{
"type": "docs",
"description": "🧾 Update documentation"
},
{
"type": "feature",
"description": "✨ Add new features"
},
{
"type": "fix",
"description": "🐛 Fix bugs"
},
{
"type": "perf",
"description": "⚡ Optimize performance of the application"
},
{
"type": "refactor",
"description": "♻️ Rewrite code without changing functionality such as simplifications and renamings"
},
{
"type": "style",
"description": "🎨 Update codebase styling such as indentations, quotes, trailing commas, etc."
},
{
"type": "test",
"description": "🧪 Write unit tests or refactoring existing tests"
}
],
// Javascript & Typescript
"javascript.updateImportsOnFileMove.enabled": "always", // Update imports when moving files in both javascript...
"typescript.updateImportsOnFileMove.enabled": "always", // ... and typescript
"typescript.inlayHints.parameterNames.enabled": "all", // Provide hints for function properties
// Prettier extension (formatting)
// Javascript & Typescript
"prettier.bracketSameLine": true,
"prettier.printWidth": 120,
"prettier.arrowParens": "always",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"editor.formatOnSave": true
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"editor.formatOnSave": true
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"editor.formatOnSave": true
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"editor.formatOnSave": true
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"editor.formatOnSave": true
},
// HTML & CSS
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// TODO-Tree extension
"todo-tree.tree.flat": true, // Flatten task list
"todo-tree.tree.groupedByTag": true, // Show task list by tag (TODO, FIXME, ...)
"todo-tree.tree.showCountsInTree": true, // Display number of tasks by tag
"todo-tree.general.tags": ["TODO", "FIXME", "BUG", "ISSUE", "INFO", "[ ]", "[x]"],
"todo-tree.filtering.excludeGlobs": [ // Do not pick up tasks from this settings.json file
"**/User/settings.json"
],
"todo-tree.highlights.defaultHighlight": { // Define how comments are highlighted in the code, namely...
"foreground": "#FFFFFF", // ... with white text...
"background": "#1dbf97", // ... with green background...
"opacity": 50, // ... and semitransparent color.
"type": "tag" // Only highlight the tag (e.g. TODO) and not the entire line
},
"todo-tree.regex.regex": "(//|#|<!--|;|/\\*|^|^\\s*(-|\\d+.))\\s*($TAGS)",
// Coverage Gutters extension (unit test code coverage)
"coverage-gutters.showLineCoverage": true,
"coverage-gutters.showRulerCoverage": true,
// Vim extension
"vim.useCtrlKeys": false,
"vim.textwidth": 120,
// Azure Function extension
"azureFunctions.projectRuntime": "~4",
// Live-Share extension
"liveshare.featureSet": "insiders",
// Others
"vsicons.dontShowNewVersionMessage": true,
"vscode-edge-devtools.webhint": false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment