VS Code Extensions Required

Default settings are assumed to be ok unless specified.

EditorConfig for VS Code

https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig

PHP Intelephense

https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client

Settings:

{
    "php.suggest.basic": false,
    "[php]": {
        "editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
    },
}

vscode-php-cs-fixer

https://marketplace.visualstudio.com/items?itemName=fterrag.vscode-php-cs-fixer

ESLint

https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint

Settings:

{
    "eslint.autoFixOnSave": true,
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        "vue",
        "vue-html",
    ],
    "eslint.options": {
        "extensions": [".js", ".vue"]
    },
}

Vetur

https://marketplace.visualstudio.com/items?itemName=octref.vetur

Run pre/post save commands and custom linters.

https://marketplace.visualstudio.com/items?itemName=oneofone.save-runner

Settings:

{
    "save-runner.enabled": true,
    "save-runner.commands": [
        {
            "enabled": true,
            "include": "\\.vue$",
            "useTempFile": false,
            "exclude": "/node_modules/",
            "post": "npx eslint -o /dev/null --fix ${file}"
        }
    ]
}