Select Page

In the latest update the extension now allows to run IWYU on all project files using command “Include What You Use (all targets)“. This is a slow operation as it goes over all files in the compile-commands.json file one after the other. It only triggers on source files whose first directory (or the file itself if directly in the project workspace root) is not a symbolic link (which for instance excludes external or bazel-out). The settings iwyu.fix.ignore_re and iwyu.fix.only_re are respected upfront and prevent unnecessary triggering.

Also in version 0.0.6 logging changed to use the appropriate VSCode logger facilities. These are controlled by the workspace wide LogLevel rather then the now deleted iwyu.debug setting. The LogLevel can be controlled with the Set Log Level command:

From the changelog:


Added new config settings:

  • iwyu.diagnostics.full_line_squiggles: Whether to underline the whole line with squiggles or only the actual include part. The error is technically only on the actual include (from # to eiter > or second ") but tools commonly underline the whole line and the fix script will also remove the whole line.
  • Use LogOutputChannel instead of OutputChannel for better log output control.
  • Also remove setting iwyu.debug.


Add new command Include What You Use (all targets). See for details.