chromium/tools/vscode/settings.json

{
  // Suggested vscode default settings for simplifying initial setup. These
  // settings are hoped to be convenient and helpful for those beginning to use
  // vscode with Chrome. Please modify and change as necessary.
  // All settings are optional, but some more "optional" settings at the end
  // are disabled by default. Feel free to enable them.
  // Default tab size of 2, for consistency with internal codebase.
  "editor.tabSize": 2,
  // Do not figure out tab size from opening a file.
  "editor.detectIndentation": false,
  // Add a line at 80 characters.
  "editor.rulers": [
    80
  ],
  // Except for Java where we add a line at 100 characters per that style guide
  // and the tab width should be 4 spaces.
  // The chrome java style guide:
  // https://chromium.googlesource.com/chromium/src/+/main/styleguide/java/java.md
  // does not override this and defers to the android style guide:
  // https://source.android.com/docs/setup/contribute/code-style
  "[java]": {
    "editor.rulers": [
      100
    ],
    "editor.tabSize": 4
  },
  // Forces LF instead of "auto" which uses CRLF on Windows.
  "files.eol": "\n",
  // Trim tailing whitespace on save.
  "files.trimTrailingWhitespace": true,
  // Insert trimmed final new line.
  "files.insertFinalNewline": true,
  "files.trimFinalNewlines": true,
  "files.associations": {
    // Adds xml syntax highlighting for grd files.
    "*.grd": "xml"
  },
  "files.exclude": {
    // Ignore build output folders.
    "out*/**": true
  },
  "files.watcherExclude": {
    // Don't watch out*/ and third_party/ for changes to fix an issue
    // where vscode doesn't notice that files have changed.
    // https://github.com/Microsoft/vscode/issues/3998
    // There is currently another issue that requires a leading **/ for
    // watcherExlude. Beware that this pattern might affect other out* folders
    // like src/cc/output/.
    "**/out*/**": true,
    "**/third_party/**": true
  },
  // C++ clang format settings. |workspaceFolder| is assumed to be Chromium's
  // src/ directory.
  "C_Cpp.clang_format_path": "${workspaceFolder}/third_party/depot_tools/clang-format",
  "C_Cpp.clang_format_sortIncludes": true,
  // Avoid conflicts with vscode-clangd extension.
  "C_Cpp.intelliSenseEngine": "disabled",
  "editor.formatOnSave": true,
  "editor.formatOnSaveMode": "modifications",
  // Don't format HTML files automatically on save, as VSCode's default
  // formatter doesn't deal well with Chromium Polymer files.
  "[html]": {
    "editor.formatOnSave": false
  },
  // Disable automatic task detection to speed up opening the task menu.
  "task.autoDetect": "off",
  // Used by tasks.json for integration with Chrome tests and builds.
  "chrome.outputDir": "${workspaceFolder}/out/current_link"
  // Optional: Wider author column for annotator extension.
  // https://marketplace.visualstudio.com/items?itemName=ryu1kn.annotator
  // "annotator.annotationColumnWidth": "24em",
  // Optional: Highlight current line at the left of the editor.
  // "editor.renderLineHighlight": "gutter",
  // Optional: Don't automatically add closing brackets. It gets in the way.
  // "editor.autoClosingBrackets": "never",
  // Optional: Enable a tiny 30k feet view of your doc.
  // "editor.minimap.enabled": true,
  // "editor.minimap.maxColumn": 80,
  // "editor.minimap.renderCharacters": false,
  // Optional: Don't continuously fetch remote changes.
  //"git.autofetch": false,
  // Optional: Do not open files in 'preview' mode. Opening a new file in can
  //           replace an existing one in preview mode, which can be confusing.
  //"workbench.editor.enablePreview": false,
  // Optional: Same for files opened from quick open (Ctrl+P).
  //"workbench.editor.enablePreviewFromQuickOpen": false,
  // Optional: Enable Python type checking.
  //"python.analysis.typeCheckingMode": "basic"
}