VSCodeの設定メモ

settings.json

{
    "terminal.integrated.defaultProfile.windows": "MSYS2",
    "terminal.integrated.profiles.windows": {
        "MSYS2": {
            "overrideName": true,
            "path": ["C:\\env\\msys64\\msys2_shell.cmd"],
            "args": [
                "-defterm",
                "-here",
                "-use-full-path",
                "-no-start",
                "-mingw64",
                "-shell",
                "zsh"
            ]
        },
        "PowerShell": {
            "source": "PowerShell",
            "icon": "terminal-powershell"
        },
        "Command Prompt": {
            "path": [
                "${env:windir}\\Sysnative\\cmd.exe",
                "${env:windir}\\System32\\cmd.exe"
            ],
            "args": [],
            "icon": "terminal-cmd"
        }
    },
    "terminal.integrated.defaultProfile.linux": "zsh",
    "terminal.integrated.profiles.linux": {
        "zsh": {
            "path": "zsh"
        },
        "bash": {
            "path": "bash"
        }
    },
    "terminal.integrated.allowChords": false,
    "workbench.startupEditor": "newUntitledFile",
    "workbench.iconTheme": "vscode-icons",
    "workbench.editor.untitled.hint": "hidden",
    "workbench.editor.decorations.badges": false,
    "workbench.editor.decorations.colors": false,
    "files.eol": "\n",
    "files.insertFinalNewline": true,
    "git.autofetch": true,
    "git.autorefresh": true,
    "git.autoStash": true,
    "git.suggestSmartCommit": false,
    "diffEditor.ignoreTrimWhitespace": true,
    "explorer.confirmDragAndDrop": false,
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },
    "[typescript]": {
        "editor.tabSize": 2
    },
    "[json]": {
        "editor.tabSize": 2
    },
    "[javascript]": {
        "editor.tabSize": 2
    },
    "[vue]": {
        "editor.tabSize": 2
    },
    "[html]": {
        "editor.tabSize": 2,
        "editor.formatOnSave": true
    },
    "[css]": {
        "editor.tabSize": 2,
        "editor.formatOnSave": true
    },
    "[scss]": {
        "editor.tabSize": 2,
        "editor.formatOnSave": true
    },
    "[python]": {
        "editor.tabSize": 4,
        "editor.formatOnSave": true
    },
    "[markdown]": {
        "editor.tabSize": 4,
        "editor.defaultFormatter": "esbenp.prettier-vscode",
        "editor.formatOnSave": true
    },
    "php.validate.run": "onSave",
    "yaml.format.singleQuote": true,
    "javascript.preferences.quoteStyle": "single",
    "javascript.suggest.paths": true,
    "javascript.preferences.importModuleSpecifier": "relative",
    "javascript.updateImportsOnFileMove.enabled": "always",
    "typescript.suggest.paths": true,
    "typescript.preferences.importModuleSpecifier": "relative",
    "typescript.updateImportsOnFileMove.enabled": "always",
    "typescript.preferences.quoteStyle": "single",
    "typescript.validate.enable": true,
    "eslint.alwaysShowStatus": true,
    "prettier.htmlWhitespaceSensitivity": "strict",
    "prettier.singleQuote": true,
    "prettier.tabWidth": 4,
    "prettier.useTabs": false,
    "prettier.bracketSpacing": true,
    "vsicons.dontShowNewVersionMessage": true,
    "pasteImage.path": "${currentFileDir}/${currentFileNameWithoutExt}.assets",
    "todo-tree.general.enableFileWatcher": true,
    "todo-tree.filtering.excludeGlobs": ["**/node_modules/**/*"],
    "todo-tree.highlights.customHighlight": {
        "TODO": {
            "foreground": "#f8ff96",
            "type": "text-and-comment"
        },
        "FIXME": {
            "foreground": "#ff9696",
            "type": "text-and-comment"
        }
    },
    "todo-tree.general.tags": ["TODO", "FIXME"],
    "todo-tree.regex.regex": "(//|#|<!--|/\\*|^\\s*\\*)\\s*($TAGS)",
    "gitlens.currentLine.format": "${author, }${date}${' via 'pullRequest}${ • message|50?}",
    "gitlens.statusBar.format": "${author}, ${date}${' via 'pullRequest}",
    "gitlens.statusBar.tooltipFormat": "${avatar}  __${author}__, ${date}${' via 'pullRequest}\n\n${message}${\n\n---\n\nfootnotes}\n\n${commands}",
    "gitlens.hovers.detailsMarkdownFormat": "${avatar}  __${author}__, ${date}${' via 'pullRequest}\n\n${message}${\n\n---\n\nfootnotes}\n\n${commands}",
    "gitlens.views.formats.stashes.description": "${date}",
    "gitlens.views.formats.commits.description": "${author, }${date}",
    "gitlens.defaultDateFormat": "YYYY-MM-DD"
}

keybindings.json

[
    {
        "key": "alt+down",
        "command": "workbench.action.compareEditor.nextChange",
        "when": "textCompareEditorVisible"
    },
    {
        "key": "alt+up",
        "command": "workbench.action.compareEditor.previousChange",
        "when": "textCompareEditorVisible"
    },
    {
        "key": "ctrl+shift+r",
        "command": "typescript.restartTsServer"
    }
]

拡張機能

  • code --list-extensionsで吐いたやつ
    • code --install-extension EXT-NAMEでインストールできる
42Crunch.vscode-openapi
abusaidm.html-snippets
dbaeumer.vscode-eslint
eamodio.gitlens
esbenp.prettier-vscode
Gruntfuggly.todo-tree
jebbs.plantuml
MS-CEINTL.vscode-language-pack-ja
ms-edgedevtools.vscode-edge-devtools
ms-python.python
ms-toolsai.jupyter
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
ms-vscode-remote.remote-wsl
msjsdiag.debugger-for-chrome
mushan.vscode-paste-image
redhat.vscode-yaml
samuelcolvin.jinjahtml
shd101wyy.markdown-preview-enhanced
vscode-icons-team.vscode-icons
yzhang.markdown-all-in-one