Files
.vscode.d/settings.json

1008 lines
31 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
//
// ===========================================================================
// MARK: Appearance
// ===========================================================================
//
// Dark/Light mode detection
"window.autoDetectColorScheme": true,
"window.systemColorTheme": "auto",
//
// Theme
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "material-icon-theme",
"workbench.preferredDarkColorTheme": "One Dark Pro",
"workbench.preferredLightColorTheme": "Solarized Light",
//
// One Dark Pro theme settings
"oneDarkPro.vivid": true,
//
// ===========================================================================
// MARK: Window
// ===========================================================================
//
"window.commandCenter": true,
"window.customTitleBarVisibility": "auto",
"window.nativeFullScreen": false, // Does not work with nativeTabs enabled.
"window.nativeTabs": true,
"window.title": "${rootName}${separator}${profileName}",
//
// ===========================================================================
// MARK: Cursor (Text Editor)
// ===========================================================================
//
"cursor.agent_layout_browser_beta_setting": true,
"cursor.aipreview.enabled": true,
"cursor.composer.usageSummaryDisplay": "always",
"cursor.cpp.enablePartialAccepts": true,
"cursor.diffs.useCharacterLevelDiffs": true,
"cursor.enable_agent_window_setting": true,
"cursor.enable_git_worktrees_setting": true,
"cursor.general.enableShadowWorkspace": true,
"cursor.terminal.usePreviewBox": true,
"update.releaseTrack": "prerelease",
//
// ===========================================================================
// MARK: Windsurf (Text Editor)
// ===========================================================================
//
"windsurf.autocompleteSpeed": "fast",
//
// ===========================================================================
// MARK: GitHub Copilot
// ===========================================================================
//
"github.copilot.chat.agent.thinkingTool": true,
"github.copilot.nextEditSuggestions.enabled": true,
//
// ===========================================================================
// MARK: Editor
// ===========================================================================
//
// Font
"editor.fontFamily": "'Menlo Nerd Font Mono', 'Menlo Nerd Font', Menlo, Monaco, 'Courier New', monospace",
"editor.fontLigatures": false,
"editor.fontWeight": "normal",
"editor.fontSize": 12,
//
// Cursor
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "explicit",
"editor.cursorSurroundingLines": 5,
"editor.cursorWidth": 3,
//
// Whitespace
"editor.renderWhitespace": "boundary",
//
// Formatting
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
"editor.formatOnSaveMode": "file",
//
// Rulers
"editor.rulers": [
80,
100,
120
],
//
// Indentation
"editor.tabSize": 4,
"editor.indentSize": 2,
"editor.detectIndentation": true,
//
// Semantic Highlighting
"editor.semanticHighlighting.enabled": true,
//
// Minimap
"editor.minimap.enabled": true,
"editor.minimap.showSlider": "always",
//
// Modified Tabs
"workbench.editor.highlightModifiedTabs": true,
//
// Accessibility
"editor.accessibilitySupport": "off",
//
// ===========================================================================
// MARK: Workbench
// ===========================================================================
//
// Activity Bar
"workbench.activityBar.location": "default",
"workbench.activityBar.orientation": "horizontal",
//
// Command Palette
"workbench.commandPalette.history": 250,
"workbench.commandPalette.preserveInput": true,
//
// Hover
"workbench.hover.delay": 200,
//
// Local History
"workbench.localHistory.maxFileEntries": 250,
"workbench.localHistory.maxFileSize": 512,
//
// Tree
"workbench.tree.indent": 18,
"workbench.tree.renderIndentGuides": "always",
//
// ===========================================================================
// MARK: Explorer
// ===========================================================================
//
// I like the idea of file nesting, but in practice I find myself hating it :(
"explorer.fileNesting.enabled": false,
"explorer.fileNesting.patterns": {
"*.go": "${capture}_test.go, ${capture}_example_test.go, ${capture}_integration_test.go, ${capture}_internal_test.go",
"Brewfile": "Brewfile.lock.json",
"Gemfile": "Gemfile.lock",
"go.mod": "go.sum"
},
"explorer.sortOrder": "mixed",
"explorer.sortOrderLexicographicOptions": "unicode",
//
// ===========================================================================
// MARK: Files
// ===========================================================================
//
// Associations
"files.associations": {
".env": "properties",
".env.*": "properties",
"gitconfig": "gitconfig",
"gitignore": "gitignore"
},
//
// Encoding
"files.autoGuessEncoding": true,
//
// Formatting
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
//
// Read-only
"files.readonlyFromPermissions": true,
//
// ===========================================================================
// MARK: Git
// ===========================================================================
//
"git.blame.editorDecoration.enabled": false,
"scm.defaultViewMode": "tree",
//
// ===========================================================================
// MARK: Diffs
// ===========================================================================
//
"diffEditor.ignoreTrimWhitespace": false,
//
// ===========================================================================
// MARK: Terminal
// ===========================================================================
//
"terminal.integrated.allowChords": false,
"terminal.integrated.automationProfile.osx": {
"path": "/bin/zsh"
},
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.macOptionIsMeta": true,
"terminal.integrated.persistentSessionScrollback": 1000,
"terminal.integrated.scrollback": 50000,
"terminal.integrated.sendKeybindingsToShell": true,
//
// ===========================================================================
// MARK: Awesome Emacs Keybindings
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx
//
"emacs-mcx.emacsLikeTab": false, // Done via custom keybinding instead.
"emacs-mcx.killRingMax": 120,
"emacs-mcx.markRingMax": 32,
//
// ===========================================================================
// MARK: File Browser
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=bodil.file-browser
//
"file-browser.hideDotfiles": false,
"file-browser.labelIgnoredFiles": true,
//
// ===========================================================================
// MARK: Spell Check
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker
//
"cSpell.checkVSCodeSystemFiles": true,
"cSpell.customDictionaries": {
// Run the `./siren <editor> config` command to symlink
// `cspell/vscode-user-dictionary.txt` into the `~/.cspell` directory.
"custom-user-dictionary": {
"name": "vscode-user-dictionary",
"path": "~/.cspell/vscode-user-dictionary.txt",
"addWords": true,
"scope": "user"
}
},
//
// ===========================================================================
// MARK: Project Manager
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager
//
"projectManager.git.baseFolders": [
"~/.config",
"~/.dotfiles",
"~/Documents/Obsidian Vaults",
"~/Documents/Obsidian",
"~/Projects",
"~/src"
],
"projectManager.git.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
".haxelib",
"tmp",
"vendor",
"straight",
"elpaca"
],
"projectManager.any.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
"tmp",
"vendor",
"straight",
"elpaca"
],
"projectManager.hg.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
".haxelib",
"straight",
"elpaca"
],
"projectManager.svn.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
"straight",
"elpaca"
],
"projectManager.vscode.ignoredFolders": [
"node_modules",
"out",
"typings",
"test",
"straight",
"elpaca"
],
//
// ===========================================================================
// MARK: GitHub
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github
// - https://marketplace.visualstudio.com/items?itemName=GitHub.remotehub
//
"githubRepositories.autoFetch.enabled": false,
//
// ===========================================================================
// MARK: Mise (https://mise.jdx.dev/)
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=hverlin.mise-vscode
//
"mise.autoDetectMiseBinPath": false,
"mise.checkForNewMiseVersion": false,
"mise.configureExtensionsAutomatically": false,
"mise.updateOpenTerminalsEnvAutomatically": true,
// When updateEnvAutomatically is enabled, open terminals in VSCode get
// completely reset when mise installs new tools or updates. This wipes
// previous command output, and even kills any running processes you have in
// terminals.
"mise.updateEnvAutomatically": false,
//
// ===========================================================================
// MARK: Hex editor
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=ms-vscode.hexeditor
//
"workbench.editor.defaultBinaryEditor": "hexEditor.hexedit",
//
// ===========================================================================
// MARK: Rewrap Revived
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=dnut.rewrap-revived
//
// Enable auto-wrap by default. In programming languages it only applies to
// comments.
"rewrap.autoWrap.enabled": true,
// Only wrap the current paragraph when triggering rewrap with alt+q within a
// comment.
"rewrap.wholeComment": false,
//
// ===========================================================================
// MARK: Periscope
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=joshmu.periscope
//
"periscope.rgGlobExcludes": [
"**/.bundle/**",
"**/.git/**",
"**/.log/**",
"**/.log/**",
"**/.yarn/**",
"**/.yarn/**",
"**/dist/**",
"**/node_modules/**",
"**/straight/**",
"**/vendor/**",
"*.cjs",
"*.cts",
"*.log",
"*.min-latest.css",
"*.min-latest.js",
"*.min.css",
"*.min.js",
"*.sql",
"*.test"
],
"periscope.rgMenuActions": [
{
"label": "Go",
"value": "--type-add 'go:go.{mod,work}' -t go"
},
{
"label": "JSON",
"value": "-t json"
},
{
"label": "JS/TS",
"value": "--type-add 'jsts:*.{js,ts,tsx,jsx}' -t jsts"
},
{
"label": "Ruby",
"value": "-t ruby"
},
{
"label": "Rust",
"value": "-t rust"
},
{
"label": "TOML",
"value": "-t toml"
},
{
"label": "YAML",
"value": "-t yaml"
}
],
"periscope.rgOptions": [
"--smart-case",
"--sortr path",
"--hidden"
],
"periscope.showWorkspaceFolderInFilePath": false,
"periscope.rgQueryParams": [
{
// filter the results to a folder
// Query: "redis -m module1"
// After: "rg 'redis' --iglob '**/*module1*/**'"
"regex": "^(.+) -m ([\\w-_\/]+)$",
"param": "--iglob '**/*$1*/**'"
},
{
// filter the results to a folder and filetype
// Query: "redis -m module1 yaml"
// After: "rg 'redis' --iglob '**/*module1*/**/*.yaml'"
"regex": "^(.+) -m ([\\w-_\/]+) ([\\w]+)$",
"param": "--iglob '**/*$1*/**/*.$2'"
},
{
// filter the results that match a glob
// Query: "redis -g *module"
// After: "rg 'redis' -g '*module'"
"regex": "^(.+) -g (.+)$",
"param": "-g '$1'"
},
{
// filter the results that match a glob
// Query: "redis -ig *module"
// After: "rg 'redis' -iglob '*module'"
"regex": "^(.+) -ig (.+)$",
"param": "--iglob '$1'"
},
{
// filter the results to rg filetypes
// Query: "redis -t yaml"
// After: "rg 'redis' -t yaml"
"regex": "^(.+) -t ?(\\w+)$",
"param": "-t $1"
},
{
// filter the results that match a file extension through a glob
// Query: redis *.rs => rg 'redis' -iglob '*.rs'
"regex": "^(.+) \\*\\.(\\w+)$",
"param": "--iglob '*.$1'"
}
],
//
// ===========================================================================
// MARK: Prettier
// ===========================================================================
//
"prettier.resolveGlobalModules": true,
//
// ===========================================================================
// MARK: Lang: CSS
// ===========================================================================
//
"[css]": {
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.defaultFormatter": "vscode.css-language-features"
},
//
// ===========================================================================
// MARK: Lang: Dockerfile
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-containers
//
"[dockerfile]": {
"editor.defaultFormatter": "ms-azuretools.vscode-containers",
"editor.insertSpaces": true,
"editor.tabSize": 2
},
//
// ===========================================================================
// MARK: Lang: Docker Compose
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-containers
// - https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml
//
"[dockercompose]": {
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.autoIndent": "advanced",
"editor.quickSuggestions": {
"other": true,
"comments": true,
"strings": true
},
"editor.defaultFormatter": "redhat.vscode-yaml"
},
//
// ===========================================================================
// MARK: Lang: GitHub Actions Workflow
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-github-actions
// - https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml
//
"[github-actions-workflow]": {
"editor.defaultFormatter": "redhat.vscode-yaml",
"editor.tabSize": 2,
"editor.insertSpaces": true
},
//
// ===========================================================================
// MARK: Lang: Go
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=golang.go
// - https://marketplace.visualstudio.com/items?itemName=gofenix.go-lines
//
"[go]": {
"editor.tabSize": 4
},
"go-lines.lineLength": 120,
"go.coverageDecorator": {
"type": "gutter",
"coveredGutterStyle": "verticalblue",
"uncoveredGutterStyle": "verticalyellow"
},
"go.diagnostic.vulncheck": "Imports",
"go.disableConcurrentTests": true,
"go.editorContextMenuCommands": {
"testFile": true,
"testPackage": true,
"fillStruct": true
},
"go.formatTool": "gofumpt",
"go.inlayHints.constantValues": true,
"go.lintOnSave": "workspace",
"go.lintTool": "golangci-lint-v2",
"go.testExplorer.packageDisplayMode": "nested",
"go.testExplorer.showDynamicSubtestsInEditor": true,
"go.testFlags": [
"-count=1"
],
"go.testTimeout": "90s",
"go.toolsManagement.autoUpdate": false,
"go.useLanguageServer": true,
"gopls": {
"formatting.gofumpt": true,
"ui.diagnostic.analyses": {
"shadow": true
},
"ui.diagnostic.staticcheck": true
},
//
// ===========================================================================
// MARK: Lang: Helm Template
// ===========================================================================
//
"[helm]": {
"editor.tabSize": 2
},
//
// ===========================================================================
// MARK: Lang: HTML
// ===========================================================================
//
"[html]": {
"editor.insertSpaces": true,
"editor.tabSize": 2
},
//
// ===========================================================================
// MARK: Lang: JSON
// ===========================================================================
//
"[json][jsonc]": {
"editor.insertSpaces": true,
"editor.tabSize": 2
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"json.schemas": [
{ // Release Please config
"fileMatch": [
"/**/release-please-config.json"
],
"url": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
},
{ // Release Please manifest
"fileMatch": [
"/**/.release-please-manifest.json",
"/**/release-please-manifest.json"
],
"url": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/manifest.json"
}
],
//
// ===========================================================================
// MARK: Lang: JavaScript
// ===========================================================================
//
"[javascript]": {
"editor.insertSpaces": true,
"editor.tabSize": 2
},
//
// ===========================================================================
// MARK: Lang: TypeScript
// ===========================================================================
//
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.insertSpaces": true,
"editor.tabSize": 2
},
//
// ===========================================================================
// MARK: Lang: Lua
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=sumneko.lua
//
"Lua.codeLens.enable": true,
"Lua.diagnostics.globals": [
// Hammerspoon
"hs",
"spoon"
],
"Lua.diagnostics.workspaceEvent": "OnChange",
"Lua.hint.enable": true,
//
// ===========================================================================
// MARK: Lang: Makefile
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=carlos-algms.make-task-provider
//
"[makefile]": {
"editor.tabSize": 4,
"editor.insertSpaces": true
},
"makefile.configureOnOpen": false,
"make-task-provider.telemetry": false,
//
// ===========================================================================
// MARK: Lang: Markdown
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint
//
"[markdown]": {
"editor.tabSize": 4,
"editor.indentSize": 2,
"editor.detectIndentation": false,
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
},
"markdownlint.configFile": "~/.markdownlint.yaml",
"markdownlint.config": {
"no-hard-tabs": { // MD010
"ignore_code_languages": [
"caddyfile",
"go",
"makefile"
]
},
"blanks-around-fences": { // MD031
"list_items": false
}
},
//
// ===========================================================================
// MARK: Lang: Ruby
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=Shopify.ruby-extensions-pack
// - https://marketplace.visualstudio.com/items?itemName=dewski.simplecov
//
"[ruby][erb]": {
"editor.defaultFormatter": "Shopify.ruby-lsp",
"editor.tabSize": 2,
"editor.insertSpaces": true
},
"[ruby]": {
"editor.formatOnSave": true,
"editor.formatOnType": true
},
// Ruby LSP
"rubyLsp.featureFlags": {
"fullTestDiscovery": true
},
"rubyLsp.rubyVersionManager": {
"identifier": "auto"
},
"simplecov.coverageDecorator": {
"type": "gutter",
"coveredGutterStyle": "verticalblue",
"uncoveredGutterStyle": "verticalyellow",
"uncoveredBranchGutterStyle": "verticalyellow"
},
//
// ===========================================================================
// MARK: Lang: Rust
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer
//
"rust-analyzer.testExplorer": true,
//
// ===========================================================================
// MARK: Lang: Shellscript
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=mads-hartmann.bash-ide-vscode
//
"[shellscript][sh][zsh]": {
"editor.tabSize": 2,
"editor.insertSpaces": true
},
"bashIde.enableSourceErrorDiagnostics": true,
"bashIde.shfmt.caseIndent": true,
"bashIde.shfmt.spaceRedirects": true,
//
// ===========================================================================
// MARK: Lang: YAML
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml
//
"redhat.telemetry.enabled": false,
"[yaml]": {
"editor.defaultFormatter": "redhat.vscode-yaml",
"editor.tabSize": 2,
"editor.insertSpaces": true
},
//
// ===========================================================================
// MARK: Sort Lines
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines
//
"sortLines.filterBlankLines": true,
"sortLines.ignoreUnselectedLastLine": true,
//
// ===========================================================================
// MARK: Text Tables
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=RomanPeshkov.vscode-text-tables
//
"text-tables.showStatus": false,
//
// ===========================================================================
// MARK: vscode-color-picker
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=AntiAntiSepticeye.vscode-color-picker
//
"vscode-color-picker.languages": [
"go",
"javascript",
"less",
"postcss",
"python",
"ruby",
"sss",
"stylus",
"svg",
"typescript",
"xml"
],
//
// ===========================================================================
// MARK: Run on Save callbacks
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=emeraldwalk.RunOnSave
//
"emeraldwalk.runonsave": {
"commands": [
// { // Automatically chmod +x script files (first two bytes are `#!`).
// "match": ".*",
// "cmd": "if [ ! -x \"${file}\" ] && head -n 1 \"${file}\" | grep -q '^#!'; then echo \"Marking ${relativeFile} as executable...\" && chmod +x \"${file}\"; fi"
// }
]
},
//
// ===========================================================================
// MARK: Settings Cycle
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=hoovercj.vscode-settings-cycler
//
"settings.cycle": [
{
"id": "commandCenter",
"overrideWorkspaceSettings": false,
"values": [
{
"window.customTitleBarVisibility": "auto"
},
{
"window.customTitleBarVisibility": "never"
}
]
}
],
//
// ===========================================================================
// MARK: Excalidraw
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor
//
"excalidraw.theme": "auto",
"excalidraw.image": {
"exportScale": 2,
"exportWithBackground": true,
"exportWithDarkMode": true
},
//
// ===========================================================================
// MARK: Command aliases
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=ArturoDent.command-alias
//
"command aliases": {
"git.branchFrom": "gcb (Git: Create Branch from...)",
"git.checkout": "gco (Git: Checkout to...)",
"git.cloneRecursive": "gcl (Git: Clone Recursive)",
"git.fetch": "gf (Git: Fetch)",
"git.fetchPrune": "gfp (Git: Fetch Prune)",
"git.pullRebase": "gp (Git: Pull Rebase)",
"git.push": "gpu (Git: Push)",
"git.renameBranch": "grb (Git: Rename Branch)",
"git.stash": "gs (Git: Stash)",
"git.stashApply": "gas (Git: Apply Stash...)",
"git.stashIncludeUntracked": "gsu (Git: Stash Include Untracked)",
"git.stashPop": "gps (Git: Pop Stash...)",
"git.stashStaged": "gss (Git: Stash Staged)",
"git.stashView": "gvs (Git: View Stash...)",
"macros.insertEmDash": "Insert Em Dash (—)",
"macros.insertEnDash": "Insert En Dash ()",
"settings.cycle.commandCenter": "Toggle Command Center",
"sortLines.sortLines": "sl (Sort lines: ascending, case sensitive)", // Sort Lines - https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines
"workbench.action.reloadWindow": "rw (Reload Window)"
},
//
// ===========================================================================
// MARK: Macros
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=ctf0.macros
//
"macros.list": {
"insertEmDash": [
{
"command": "type",
"args": {
"text": "—"
}
}
],
"insertEnDash": [
{
"command": "type",
"args": {
"text": ""
}
}
],
//
// cycleSpacing is a basic emulation Emacs' built-in cycle-spacing command.
// It doesn't actually cycle spacing, but it performs the first step which
// is to replace all spacing surrounding the cursor with a single space.
//
"cycleSpacing": [
"emacs-mcx.deleteHorizontalSpace",
{
"command": "type",
"args": {
"text": " "
}
}
],
//
// Run test macros which re-focus back into the editor after being
// triggered. The test commands changes focus to the Test Results panel, and
// no settings I found avoids this. Hence these macros trigger relevant test
// running commands and then switches focus back to the editor.
//
// The 1 ms delay between the running tests and switch focus back allows for
// the Test Results panel to appear and steal focus before we try and focus
// back into the editor. Without the delay the focus commands runs before
// Test Results appear and steal focus.
//
"runTestCurrentFile": [
"testing.runCurrentFile",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestCoverageCurrentFile": [
"testing.coverageCurrentFile",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestAtCursor": [
"testing.runAtCursor",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestCoverageAtCursor": [
"testing.coverageAtCursor",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestAll": [
"testing.runAll",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestCoverageAll": [
"testing.coverageAll",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestReRunLastRun": [
"testing.reRunLastRun",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestCoverageLastRun": [
"testing.coverageLastRun",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestReRunFailTests": [
"testing.reRunFailTests",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestDebugFailTests": [
"testing.debugFailTests",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
],
"runTestDebugLastRun": [
"testing.debugLastRun",
{
"command": "$delay",
"args": {
"delay": 1
}
},
"workbench.action.focusActiveEditorGroup"
]
}
}