VS Code Configuration

General configurations

Remote workspaces

You may want to configure remote workspaces.

Speed up automatic file reloading

VS Code watches external file changes. It automatically reloads the lastest stored file if it does not have a working copy that conflicts. Watching and detecting changes, however, can take long time. The larger the code base, the longer it takes to detect the file change. Excluding some directories from the search space improves the speed.

Follow the menu Code -> Preferences -> Text Editor -> File -> Add Pattern Add a directory pattern you want to exclude the search from. Alternatively one can directly modify settings.json and add exclude pattern similar to below

  1. "files.watcherExclude": {
  2. "**/.DS_Store": true,
  3. "**/.cipd": true,
  4. "**/.clang-format": true,
  5. "**/.clang-tidy": true,
  6. "**/.dir-locals.el": true,
  7. "**/.git": true,
  8. "**/.gitattributes": true,
  9. "**/.gitignore": true,
  10. "**/.hg": true,
  11. "**/.idea": true,
  12. "**/.jiri_manifest": true,
  13. "**/.jiri_root": true,
  14. "**/.ssh": true,
  15. "**/.style.yapf": true,
  16. "**/.svn": true,
  17. "**/AUTHORS": true,
  18. "**/CMakeLists.txt": true,
  19. "**/CODE_OF_CONDUCT.md": true,
  20. "**/CONTRIBUTING.md": true,
  21. "**/CVS": true,
  22. "**/LICENSE": true,
  23. "**/PATENTS": true,
  24. "**/buildtools": true,
  25. "**/examples": true,
  26. "**/garnet/test_data": true,
  27. "**/garnet/third_party": true,
  28. "**/out": true,
  29. "**/prebuilt": true,
  30. "**/rustfmt.toml": true,
  31. "**/src/chromium": true,
  32. "**/topaz": true,
  33. "**/zircon/experimental": true,
  34. "**/zircon/prebuilt": true,
  35. "**/zircon/third_party": true,
  36. },

Useful Fuchsia-specific extensions

  • FIDL Language Support{:.external} Provides syntax support and LSP-based language features FIDL.
  • Fuchsia.git Helper{:.external} Adds an “Open in…” option to the editor context menus.
  • FuchsiAware{:.external} Assists with browsing Fuchsia artifacts, such as by linking from component URLs to component manifests.

Language specifics

Each language may require extra configuration. See more for