{
  "name": "ESPHome Dev",
  "image": "esphome/esphome-lint:dev",
  "postCreateCommand": [
    "script/devcontainer-post-create"
  ],
  "runArgs": [
    "--privileged",
    "-e",
    "ESPHOME_DASHBOARD_USE_PING=1"
  ],
  "appPort": 6052,
  "extensions": [
    // python
    "ms-python.python",
    "visualstudioexptteam.vscodeintellicode",
    // yaml
    "redhat.vscode-yaml",
    // cpp
    "ms-vscode.cpptools",
    // editorconfig
    "editorconfig.editorconfig",
  ],
  "settings": {
    "python.languageServer": "Pylance",
    "python.pythonPath": "/usr/bin/python3",
    "python.linting.pylintEnabled": true,
    "python.linting.enabled": true,
    "python.formatting.provider": "black",
    "editor.formatOnPaste": false,
    "editor.formatOnSave": true,
    "editor.formatOnType": true,
    "files.trimTrailingWhitespace": true,
    "terminal.integrated.defaultProfile.linux": "bash",
    "yaml.customTags": [
      "!secret scalar",
      "!lambda scalar",
      "!include_dir_named scalar",
      "!include_dir_list scalar",
      "!include_dir_merge_list scalar",
      "!include_dir_merge_named scalar"
    ],
    "files.exclude": {
      "**/.git": true,
      "**/.DS_Store": true,
      "**/*.pyc": {
        "when": "$(basename).py"
      },
      "**/__pycache__": true
    },
    "files.associations": {
      "**/.vscode/*.json": "jsonc"
    },
    "C_Cpp.clang_format_path": "/usr/bin/clang-format-11",
  }
}