{
  // This is a checked-in VSCode workspace configuration file that can be used
  // instead of directly opening $FUCHSIA_DIR in VSCode.
  //
  // It's an opt-in workspace configuration that contains settings for:
  //  - vscode itself
  //  - LSP settings for working correctly with the fuchsia.git checkout
  //  - etc.
  //
  // In terms of precedence, VSCode uses the following order in which settings
  // are applied (merged together).
  //
  //  0) default settings
  //  1) user's settings
  //  2) remote machine settings
  //  3) workspace settings  (this file)
  //  4) workspace folder settings
  //
  //
  // For details, see:
  // https://code.visualstudio.com/docs/getstarted/settings#_settings-precedence


  ////////
  // VSCode Workspace Contents
  //
  // These are the workspace folders, and general VSCode workspace
  // configuration itself.
  //
  // See https://code.visualstudio.com/docs/editor/workspaces for more
  // information on this section of the file.
  "folders": [
    {
      // The whole project directory.
      "path": "."
    }
  ],

  ////////
  // Recommended Extensions for VSCode and Fuchsia
  //
  "extensions": {
    "recommendations": [
      // Fuchsia's own VSCode extension. Provides ZXDB support, a log view, and
      // default target selection.
      "fuchsia-authors.vscode-fuchsia",

      // Fuchsia's own FIDL LSP extension
      "fuchsia-authors.language-fidl",

      // Official Go support
      "golang.go",

      // The official LSP for Rust, rust-analyzer.
      "rust-lang.rust-analyzer",

      // The Python extensions
      "ms-python.python",
      "ms-python.mypy-type-checker",
      "ms-python.black-formatter",
      "ms-python.vscode-pylance",

      // The GN language server from Microsoft
      "msedge-dev.gnls",

      // The official Clang LSP for C/C++.
      "llvm-vs-code-extensions.vscode-clangd",

      // Supports inserting and formatting C/C++ include guards as required
      // in Fuchsia.
      "akiramiyakoda.cppincludeguard",

      // Adds JSON5 syntax highlighting (including *.cml files).
      "mrmlnc.vscode-json5",

      // Linkifies Fuchsia URLs (components, bugs, etc.)
      "RichKadel.fuchsiaware",

      // Adds coverage gutters for `fx coverage`.
      "ryanluker.vscode-coverage-gutters",
    ],

    "unwantedRecommendations": [
      // Conflicts with vscode-clangd intellisense, and vscode-clangd is the
      // preferred C++ extension.
      "ms-vscode.cpptools",

      // Redundant and conflicts with gnls, which is preferred.
      "npclaudiu.vscode-gn",

      // Redundant and conflicts with gnls, which is preferred.
      "persidskiy.vscode-gnformat",

      // Superseded by vscode-fuchsia, which provides zxdb support.
      "fuchsia-authors.zxdb",
    ]
  },


  "settings": {
    ////////
    // Extra file associations (patterns to languages)
    "files.associations": {
      "*.cml": "json5",
      "*.inc": "cpp",
      "*.profiles": "json5",

      // Golden files
      "*.c.golden": "c",
      "*.cc.golden": "cpp",
      "*.cml.golden": "json5",
      "*.dart.golden": "dart",
      "*.fidl.golden": "fidl",
      "*.gn.golden": "gn",
      "*.go.golden": "go",
      "*.h.golden": "cpp",
      "*.json.golden": "json",
      "*.md.golden": "markdown",
      "*.rs.golden": "rust",
      "*.yaml.golden": "yaml",
    },

    // Matches the default Fuchsia code style.
    "editor.rulers": [
        100
    ],

    // Disable graph visualization of incoming/outgoing changes. This feature
    // does not work well on Fuchsia git repositories with deep and complex
    // histories. If left enabled, this would otherwise cause infinite loading
    // in the "Source Control" tab.
    "scm.showHistoryGraph": false,

    ////////
    // Dart
    //

    "[linux].dart.sdkPath": "${workspaceFolder}/prebuilt/third_party/dart/linux-x64",
    "[mac].dart.sdkPath": "${workspaceFolder}/prebuilt/third_party/dart/mac-arm64",

    ////////
    // Rust
    //

    // This works around an OOM issue with the vscode extension-host's
    // implementation of file-watching.
    // see:  https://github.com/rust-lang/rust-analyzer/issues/12572
    // see:  https://github.com/microsoft/vscode/issues/153154
    "rust-analyzer.files.watcher": "server",
    "rust-analyzer.server.path": "${workspaceFolder}/prebuilt/third_party/rust-analyzer/rust-analyzer",

    // Use Fuchsia's config and vendored rustfmt.
    "[linux].rust-analyzer.rustfmt.overrideCommand": [
      "${workspaceFolder}/prebuilt/third_party/rust/linux-x64/bin/rustfmt",
      "--config-path=${workspaceFolder}/rustfmt.toml"
    ],
    "[mac].rust-analyzer.rustfmt.overrideCommand": [
      "${workspaceFolder}/prebuilt/third_party/rust/mac-arm64/bin/rustfmt",
      "--config-path=${workspaceFolder}/rustfmt.toml"
    ],

    // Use clippy.
    "rust-analyzer.check.overrideCommand": [
      "${workspaceFolder}/scripts/fx",
      "clippy",
      "--raw",
      "-f",
      "$saved_file"
    ],

    // Remap the diagnostics results from RA to handle the change in working dir
    // from the workspace root to the root_build_dir in GN/Ninja.
    "rust-analyzer.diagnostics.remapPrefix": {
      "../../": "${workspaceFolder}",
    },

    ////////
    // C/C++

    "clangd.arguments": [
        "--clang-tidy",
        "--background-index",
        "--header-insertion=never"
    ],
    "[linux].clangd.path": "${workspaceFolder}/prebuilt/third_party/clang/linux-x64/bin/clangd",
    "[mac].clangd.path": "${workspaceFolder}/prebuilt/third_party/clang/mac-arm64/bin/clangd",

    // Formats C/C++ include guards to match Fuchsia style.
    "C/C++ Include Guard.Comment Style": "Line",
    "C/C++ Include Guard.Macro Type": "Filepath",
    "C/C++ Include Guard.Suffix": "_H_",
    "C/C++ Include Guard.Spaces After Endif": 2,

    ////////
    // Go

    "[linux].go.goroot": "${workspaceFolder}/prebuilt/third_party/go/linux-x64",
    "[mac].go.goroot": "${workspaceFolder}/prebuilt/third_party/go/mac-arm64",

    "gopls": {
      // Restrict directories that gopls will search in, otherwise it can fail
      // with "Exhausted" after one million files.
      "build.directoryFilters": [
        "-.cache",
        "-.cipd",
        "-.git",
        "-.jiri_root",
        "-out",
        "-prebuilt",
      ],
      // Used over specifying a build tag so that cgo is also aware.
      "build.env": {
        "GOOS": "fuchsia",
      },
    },

    ////////
    // Bazel
    //
    "bazel.enableCodeLens": true,
    // See: https://github.com/bazelbuild/vscode-bazel/issues/236
    //"bazel.executable": "${workspaceFolder}/tools/devshell/bazel",

    ////////
    // Python
    //
    "[python]": {
      "editor.defaultFormatter": "ms-python.black-formatter"
    },
    "black-formatter.args": [
      "--config",
      "${workspaceFolder}/pyproject.toml"
    ],

    ////////
    // Markdown
    //
    "[markdown]": {
        // Matches our static checks in infra.
        "editor.rulers": [
            80
        ]
    },

    ////////
    // VSCode file exclusions
    //

    // Files that are marked as hidden in the Workspace Explorer.
    "files.exclude": {
      "**/.DS_Store": true,
      "**/.cipd": true,
      "**/.git": true,
      "**/__pycache__": true,
    },
    // sub repos managed by jiri are listed in .gitignore, so make sure that
    // they are not hidden.
    "explorer.excludeGitIgnore": false,

    // Files that are excluded from file-watching notifications.
    "files.watcherExclude": {
      "**/.DS_Store": true,
      "**/.cipd": true,
      "**/.git": true,
      ".jiri_root/goma_cache/**": true,
      ".jiri_root/update_history*/**": true,
      "out/**": true,
      ".cache/**": true,
    },

    // Files that are excluded from search and quick open (^P).
    // This significantly speeds up search and avoids polluting results with
    // build output, third party code, and prebuilt binaries.
    "search.exclude": {
      // Don't exclude local files used for overrides
      "local/**": false,

      // There are some files in third_party we want to be accessible from search.
      // Due to https://github.com/Microsoft/vscode/issues/869 we can't use a
      // blanket exclude and then "un-exclude" the files we want, so instead we
      // list out all the third_party projects here.  This list should be
      // updated from time to time. If you want a path inside third_party to be
      // included in search, modify this list and leave a comment so that future
      // updates don't clobber your change.
      "third_party/abseil-cpp/**": true,
      "third_party/acpica/**": true,
      "third_party/alacritty/**": true,
      "third_party/android/**": true,
      // antlion hosts connectivity end-to-end Python tests.
      "third_party/antlion/**": false,
      "third_party/bazel_platforms/**": true,
      "third_party/bazel_rules_cc/**": true,
      "third_party/bazel_rules_go/**": true,
      "third_party/bazel_rules_license/**": true,
      "third_party/bazel_rules_proto/**": true,
      "third_party/bazel_rules_python/**": true,
      "third_party/bazel_rules_rust/**": true,
      "third_party/bazel_skylib/**": true,
      "third_party/bcmdhd/**": true,
      "third_party/boringssl/**": true,
      "third_party/chre/**": true,
      "third_party/chromiumos-xorg-conf/**": true,
      // Cobalt is frequently updated by Fuchsia developers.
      "third_party/cobalt/**": false,
      "third_party/cobalt_config/**": true,
      "third_party/colorama/**": true,
      "third_party/crashpad/**": true,
      "third_party/curl/**": true,
      "third_party/dart-pkg/**": true,
      "third_party/double-conversion/**": true,
      "third_party/etnaviv_gpu_tests/**": true,
      "third_party/expat/**": true,
      "third_party/flatbuffers/**": true,
      "third_party/fmtlib/**": true,
      "third_party/freetype2/**": true,
      "third_party/gflags/**": true,
      "third_party/gfxstream/**": true,
      "third_party/github.com/**": true,
      "third_party/glfw/**": true,
      "third_party/glm/**": true,
      "third_party/glog/**": true,
      "third_party/glslang/**": true,
      "third_party/go/**": true,
      "third_party/golibs/**": true,
      "third_party/googletest/**": true,
      "third_party/gperftools/**": true,
      "third_party/grpc/**": true,
      "third_party/gvisor_syscall_tests/**": true,
      "third_party/icu/**": true,
      "third_party/imgtec-pvr-rgx-km/**": true,
      "third_party/inih/**": true,
      "third_party/intel/**": true,
      "third_party/iperf/**": true,
      "third_party/jellyfish/**": true,
      "third_party/jinja2/**": true,
      "third_party/json5.vim/**": true,
      "third_party/libc-tests/**": true,
      "third_party/libffi/**": true,
      "third_party/libpcap/**": true,
      "third_party/libpng/**": true,
      "third_party/libxml2/**": true,
      "third_party/linux-syscall-support/**": true,
      "third_party/llvm-libc/**": true,
      "third_party/luci-go/**": true,
      "third_party/lz4/**": true,
      "third_party/mako/**": true,
      "third_party/markupsafe/**": true,
      "third_party/mesa/**": true,
      "third_party/micro-ecc/**": true,
      "third_party/mini_chromium/**": true,
      "third_party/mobly/**": true,
      "third_party/modinv/**": true,
      "third_party/modp_b64/**": true,
      "third_party/nlassert/**": true,
      "third_party/nlio/**": true,
      "third_party/ogg/**": true,
      "third_party/OpenCL-Headers/**": true,
      "third_party/OpenCL-ICD-Loader/**": true,
      "third_party/openssh-portable/**": true,
      "third_party/openssl-ecjpake/**": true,
      "third_party/openthread/**": true,
      "third_party/openweave-core/**": true,
      "third_party/opus/**": true,
      "third_party/parameterized/**": true,
      "third_party/pciids/**": true,
      "third_party/perfetto/**": true,
      "third_party/pigweed/**": true,
      "third_party/protobuf/**": true,
      "third_party/pyjson5/**": true,
      "third_party/pylibs/**": true,
      "third_party/pypng/**": true,
      "third_party/python_portpicker/**": true,
      "third_party/pytoml/**": true,
      "third_party/pyyaml/**": true,
      "third_party/quickjs/**": true,
      "third_party/rapidjson/**": true,
      "third_party/re2/**": true,
      // We want to include the files directly in third_party/rust_crates.
      // Also, files under third_party/rust_crates/{compat,empty} are not copied from upstream.
      "third_party/rust_crates/ask2patch/**": true,
      "third_party/rust_crates/forks/**": true,
      "third_party/rust_crates/mirrors/**": true,
      "third_party/rust_crates/vendor/**": true,
      "third_party/sbase/**": true,
      "third_party/scudo/**": true,
      "third_party/shaderc/**": true,
      "third_party/spirv-cross/**": true,
      "third_party/spirv-headers/**": true,
      "third_party/spirv-tools/**": true,
      "third_party/syzkaller/**": true,
      "third_party/tcpdump/**": true,
      "third_party/tink/**": true,
      "third_party/tpm2-tss/**": true,
      "third_party/ubpf/**": true,
      "third_party/vboot_reference/**": true,
      "third_party/Vulkan-Headers/**": true,
      "third_party/Vulkan-Loader/**": true,
      "third_party/Vulkan-Tools/**": true,
      "third_party/Vulkan-Utility-Libraries/**": true,
      "third_party/Vulkan-ValidationLayers/**": true,
      "third_party/wayland/**": true,
      "third_party/yxml/**": true,
      "third_party/zlib/**": true,
      "third_party/zstd/**": true,
    },
    "search.useIgnoreFiles": true,
    // Don't follow symlinks (into other parts of the tree)
    "search.followSymlinks": false,

    ////////
    // Code coverage
    "coverage-gutters.coverageBaseDir": ".",
    "coverage-gutters.showLineCoverage": true,
    "coverage-gutters.coverageFileNames": [ "lcov.info" ],

    // Disable task auto-detection for supported project configuration files
    // (e.g. NPM's project.json). This significantly speeds up task running.
    "task.autoDetect": "off",
  },

  // Tasks run with the "Tasks: Run Task" command (bind a shortcut!).
  "tasks": {
    "version": "2.0.0",
    "tasks": [
      {
        "label": "Fuchsia: fx build",
        "type": "shell",
        "command": "fx build",
        "problemMatcher": [],
      },
      {
        "label": "Fuchsia: fx build (Rust problem matcher)",
        "type": "shell",
        "command": "fx build",
        "problemMatcher": [
          {
            "base": "$rustc-watch",
            // Error file paths are relative to a build directory. The names
            // are arbitrary.
            "fileLocation": [
              "relative",
              "${workspaceFolder}/a/b"
            ],
          }
        ],
      },
      {
        "label": "Fuchsia: fx serve",
        "type": "shell",
         "command": "fx serve",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: fx ota",
        "type": "shell",
         "command": "fx ota",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx doctor",
        "type": "shell",
         "command": "ffx doctor",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: fx flash",
        "type": "shell",
         "command": "fx flash",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx emu start",
        "type": "shell",
         "command": "ffx emu start",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx emu start --headless",
        "type": "shell",
         "command": "ffx emu start --headless",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx emu stop",
        "type": "shell",
         "command": "ffx emu stop",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx component list",
        "type": "shell",
         "command": "ffx component list",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx component list --only",
        "type": "shell",
         "command": "ffx component list --only ${input:COMPONENT_LIST_ONLY}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx component show",
        "type": "shell",
         "command": "ffx component show ${input:COMPONENT_FILTER}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx component doctor",
        "type": "shell",
         "command": "ffx component doctor ${input:TARGET_MONIKER}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx component run",
        "type": "shell",
         "command": "ffx component run ${input:TARGET_MONIKER} ${input:COMPONENT_URL}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx component stop",
        "type": "shell",
         "command": "ffx component stop ${input:TARGET_MONIKER}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx component reload",
        "type": "shell",
         "command": "ffx component reload ${input:TARGET_MONIKER}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: ffx component destroy",
        "type": "shell",
         "command": "ffx component destroy ${input:TARGET_MONIKER}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: fx test",
        "type": "shell",
         "command": "fx test ${input:TEST_NAME}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: fx coverage",
        "type": "shell",
         "command": "fx coverage --lcov-output-path ${workspaceFolder}/lcov.info ${input:TEST_NAME}",
         "problemMatcher": []
      },
      {
        "label": "Fuchsia: jiri upload",
        "type": "shell",
        "command": "jiri upload",
        "problemMatcher": [],
      },
      {
        "label": "Fuchsia: jiri update",
        "type": "shell",
        "command": "jiri update",
        "problemMatcher": [],
      },
    ],
    "inputs": [
      {
        "id": "TEST_NAME",
        "type": "promptString",
        "description": "Test name"
      },
      {
        "id": "TARGET_MONIKER",
        "type": "promptString",
        "description": "TARGET_MONIKER: The destination moniker of a new component instance. The moniker must include a component collection on the path. E.g. '/core/ffx-laboratory:hello-world'"
      },
      {
        "id": "COMPONENT_URL",
        "type": "promptString",
        "description": "COMPONENT_URL: The resource location of a component. E.g. 'fuchsia-pkg://fuchsia.com/hello-world-cpp#meta/hello-world-cpp.cm'"
      },
      {
        "id": "COMPONENT_FILTER",
        "type": "promptString",
        "description": "COMPONENT_FILTER: URL or moniker of component instance. Partial matches allowed."
      },
      {
        "id": "COMPONENT_LIST_ONLY",
        "type": "promptString",
        "description": "--only: cmx, cml, running, stopped, ancestor:foo, descendant:foo, relatives:foo"
      },
    ]
  }
}
