Release Notes

Clang Power Tools in Numbers

72,623

Installs

488

Stars

Version 2024.9.0

September 24, 2024

What's New

  • Add LLVM 19.1.0
  • Update clang-format.exe to v19.1.0

Version 2024.8.0

August 8, 2024

What's New

  • Add LLVM 18.1.8
  • Update clang-format.exe to v18.1.8
  • Support for running clang-tidy using a custom path to compile_commands.json
  • File picker to ignore files from compilation and formatting processes

Version 2024.4.1

April 5, 2024

Bug Fixes

  • Sort tidy checks alphabetical

Version 2024.4.0

April 4, 2024

What's New

  • Updated clang-format from Clang Format Editor to v18.1.2
  • Migrate Clang Format Editor runtime to .NET 8
  • Added 52 new Tidy Checks

Version 2024.3.0

March 25, 2024

What's New

  • Add LLVM 18.1.2
  • Updated clang-format to v18.1.2

Version 2023.9.0

September 20, 2023

What's New

  • Add LLVM 17.0.1
  • Updated clang-format to v17.0.1

Bug Fixes

  • Vcpkg path was not constructed correctly
  • Get-ChildItem error when using prefix paths on PowerShell 5.0
  • The paths shown in the Tidy tool window were incorrect after running Tidy with the maximum verbosity level
  • Support for additional compiler options was not working properly when paths contained spaces

Version 2023.8.0

August 14, 2023

What's New

  • Add 9 new Tidy Checks

Bug Fixes

  • Format on save ignores its own ON/OFF switch
  • Random crashes when running compile

Version 2023.7.0

July 24, 2023

What's New

  • Add LLVM 16.0.6
  • Updated clang-format to v16.0.6
  • Add verbosity options: minimal, detailed, complete

Bug Fixes

  • Support for additional compiler options not working with Unix paths
  • LLVM could not be added outside of built-in supported list

Version 2023.6.0

June 23, 2023

What's New

  • (BETA) Optimize Includes: auto-prune the #include sections (include-what-you-use)

Bug Fixes

  • Script gets deleted on PowerShell Script Update
  • No clang-format after clang-tidy

Version 2023.5.0

May 3, 2023

What's New

  • User accounts and cloud-stored settings are now discontinued
  • Compile and Tidy on (*.ixx) modules
  • Support for additional compiler options: /external:env:var and /external:I path
  • Vcpkg support for both classic and manifest modes

Bug Fixes

  • Clang Format Editor crashes when the Style Detector is run
  • Animated building icon in the status bar never clears

Version 2023.4.0

April 5, 2023

Important Notice: User accounts and cloud-stored settings are going to be discontinued after May 1st 2023

What's New

  • Add LLVM 16.0.0
  • Updated clang-format to v16.0.0
  • Updated clang-format from Clang Format Editor to v16.0.0
  • Added new option to set preferred end-of-line characters in Clang Format Editor

Bug Fixes

  • Incorrect v140 path detection
  • Option "Use checks from" is reset to default
  • External Include Paths using -I instead of -isystem

Version 2023.3.0

March 6, 2023

Bug Fixes

  • Extension causes unexpected behavior and corrupts Cmake generated solution/projects files
  • External include paths are ignored
  • Tidy Custom Checks edit field from CPT Settings is not disabled when Use check from combo not set to CustomChecks

Version 2023.2.1

February 13, 2023

What's New

  • Change core low limit to 20%
  • Tidy Custom Checks edit field from CPT Settings now disabled when Use check from combo not set to CustomChecks

Bug Fixes

  • An unexpected token parse error when running clang-tidy with cmake
  • Clang Power Tools crashes while analysing file
  • Illegal two backslash characters in path on add cpt alias in Powershell
  • Launching ClangFormatEditor fails because of mismatched .NET prerequisite
  • Status bar is set to command stopped, after tidy finished
  • Closing CPT Settings screen causes the Output pane to get focus

Version 2023.2.0

February 1, 2023

What's New

  • Updated Clang-Format from Clang Format Editor to v15.0.7

Bug Fixes

  • After using clang Tidy, the animated building icon in the status bar never clears
  • Incorrect PCH detection when project setting contains directories in path
  • Properties incorrectly set for ItemDefinitionGroup children excluded by condition
  • Clang-Format detector broken code view
  • Clang-Format Editor .Net prerequisite falsely triggered

Version 2023.1.2

January 18, 2023

What's New

  • Add 30 new Tidy Checks
  • Add LLVM 15.0.7
  • Updated clang-format to v15.0.7
  • Updated clang-format from Clang Format Editor to v15.0.6

Bug Fixes

  • Hyperlinks in Tidy Checks Not Found for clang-analyzer-* links
  • Wrong default value cpp-standard in Clang Format Editor
  • Incorrect detections on some inputs in Clang Format Editor
  • Update cpt scripts for Visual Studio 2015
  • Getting error on compile command after script update
  • Cpp-specific force include headers not working correctly
  • Clang Format Editor doesn't update

Version 2023.1.1

January 4, 2023

Bug Fixes

  • New version popup keeps appearing on first build after opening Visual Studio

Version 2023.1

January 3, 2023

What's New

  • Option to limit number of cores, check in Settings → Compiler → CPU Limit
  • Add .ixx to default file extensions in format Settings
  • Enable format on .ixx file extension

Version 9.5.1

November 29, 2022

Bug Fixes

  • Unexpected exit from tidy/tidy-fix process because of parallel running

Version 9.5

November 28, 2022

What's New

  • Optimized Tidy / Tidy-Fix performance, now runs in parallel on all available CPU cores
  • Support for PowerShell 7, activate from Settings → Compiler → PowerShell 7

Bug Fixes

  • No output during compile
  • Crashes on Visual Studio when running find command

Version 9.4.2

November 15, 2022

Bug Fixes

  • No output during compile

Version 9.4.1

November 09, 2022

Bug Fixes

  • Format on save causes crashes on Visual Studio v17.4

Version 9.4

November 08, 2022

What's New

  • Optimised CPT Find performance when running repeatedly on the same file
  • Display full output for CPT Find with verbose mode activated
  • LLVM 15.0.4

Bug Fixes

  • If you don't have LLVM installed manually, the process of auto-install fails
  • Invalid link to tidy checks description

Version 9.3

Octomber 11, 2022

What's New

  • CPT Find: bringing the power of clang-query to your codebase
    1. Trigger find when pressing enter on custom matches filed
    2. Navigate through the matches history
    3. Complete the custom matches field with a selected matcher
  • Add .inl to default file extensions in format Settings
  • Display the matching result code in the message description

Bug Fixes

  • Disabling all predefined checks still results in some checks being performed
  • The cpt alias in Powershell button is cut off from the settings

Version 9.2.2

September 27, 2022

Bug Fixes

  • Format on save ignores its own ON/OFF switch

Version 9.2.1

September 26, 2022

Bug Fixes

  • Format on save doesn't work on the latest Visual Studio version 17.3.4

Version 9.2

September 15, 2022

What's New

  • CPT Find: bringing the power of clang-query to your codebase
    1. Keep history of custom matchers
    2. Autocomplete with ast matchers and history
    3. Pin your favorite matcher and return to it easier
    4. Don't need to write "m" or "match" keyword no more
  • LLVM 15.0.0

Bug Fixes

  • Clang-format fails even if Fallback Style is set

Version 9.1

August 09, 2022

What's New

  • CPT Find: bringing the power of clang-query to your codebase
    1. Write your own custom match
    2. Select where to run find command
    3. Open Find tool window from View menu

Bug Fixes

  • Not displaying full AST in verbose mode
  • Can't update scripts on Visual Studio 2015

Version 9.0

July 07, 2022

What's New

  • Introducing CPT Find: bringing the power of clang-query to your codebase
    1. Invocations of functions using default argument(s)
  • LLVM 14.0.6

Bug Fixes

  • PCH directory was not automatically included when compiling only one cpp

Version 8.7.0

May 13, 2022

What's New

  • Add setting for enabling Tidy-Fix to be applied directly.
  • (Settings → Tidy → 1-step Tidy-Fix)

Version 8.6.0

May 4, 2022

What's New

  • Support for LLVM 14.0.3
  • Generate html, markdown and yaml documentation based on source code and comments

Version 8.5.0

March 31, 2022

What's New

Version 8.4.0

March 10, 2022

What's New

  • Download ready-to-use LLVM binaries when none is installed
  • Use esc key to exit from settings window

Bug Fixes

  • Visual Studio is blocked if settings window is behind it

Version 8.3.0

February 25, 2022

What's New

  • After Tidy fix you can make diff and discard fix on affected headers

Version 8.2.0

February 15, 2022

What's New

  • LLVM 13.0.1

Bug Fixes

  • False triggers for PowerShell script auto-updater

Version 8.1.1

January 28, 2022

Bug Fixes

  • Dialogs stay on top of every window in the system
  • Can't run tidy or compile in offline mode

Version 8.1.0

January 12, 2022

What's New

  • Run tidy, format and compile on files with extension .cu

Bug Fixes

  • Crash after tidy on long file paths
  • Application crash unexpectedly when trying to discard fix from denied file path
  • CLI script-update download progress remains on-screen throughout execution on Powershell 6+

Version 8.0

December 17, 2021

What's New

  • New interactive UI for Tidy operations, quickly visualize fixes and changes and decide on which ones to keep
  • Fine-grained file selection after running Tidy on a filter, project, or solution
  • Updated Clang-Format to version 13
  • Visual Studio extension warm-up time is improved
  • Project data is now cached, faster compile/tidy operations on opened projects during a Visual Studio instance

Bug Fixes

  • Qt5 project include directories were not loaded correctly
  • Projects with long disk paths caused an error

Version 7.9.0

November 23, 2021

What's New

  • Clang Power Tools now supports Visual Studio 2022 as well as 2019 and 2017

Version 7.8.0

November 11, 2021

What's New

  • Tidy and Compile much faster now, when running on solution explorer filters
  • Ignored projects are now skipped quicker

Bug Fixes

  • An error when running commands on a project that contains single quotes in its path
  • An error when current user name contains spaces

Version 7.7

October 12, 2021

What's New

  • LLVM 13.0.0
  • Added custom LLVM path directly from settings

Bug Fixes

  • Error on before save due to file type

Version 7.6

September 02, 2021

What's New

  • Updated clang-tidy checks
  • Easy access to clang-tidy checks documentation
  • Improved UI in the clang-tidy checks window

Bug Fixes

  • Deprecated clang-tidy flags found in the list
  • Error due to Open Project type check

Version 7.5

August 05, 2021

What's New

  • Support for LLVM 12.0.1
  • PowerShell script updater
  • New format options added to the Format Editor
  • IMPORTANT: This is the final release that supports Visual Studio 2015

Bug Fixes

  • Projects are not added in the Projects to ignore section
  • Certain format options don't work due to the new value type
  • Handle MSBuild expression calling member functions of uninitialized variables

Version 7.4.1

June 24, 2021

Bug Fixes

  • Clang-Format Editor crash due to text padding
  • Certain Clang-Format Editor options don't have the correct default value

Version 7.4

June 11, 2021

What's New

  • Support for LLVM 12.0.0

Bug Fixes

  • MSBuildThisFileDirectory evaluates to wrong value in some cases

Version 7.3.2

April 15, 2021

Bug Fixes

  • Fix Visual Studio drop-down issue

Version 7.3.1

April 15, 2021

Bug Fixes

  • Clang compile is not launched after a successful MSVC compilation
  • The Tidy on save option is not working properly
  • Error when project path contains square brackets
  • Conditions for item group elements not evaluated
  • C file type detection not working correctly for 'Default' or empty CompileAs setting

Version 7.3

March 25, 2021

What's New

  • Diff is now available in the Configurator Output
  • Configurator Output is displayed side-by-side
  • Resizable split panels for Detector and Configurator diff

Bug Fixes

  • Certain clang-format flags are deprecated
  • Crash when setting incompatible input values to clang-format options

Version 7.2.1

March 11, 2021

Bug Fixes

  • Crash when project path contains square brackets
  • Access error when PCH header file is readonly

Version 7.2

March 5, 2021

What's New

  • Support for LLVM 11.1.0
  • Clang-Format support for .inl files

Bug Fixes

  • File paths from Error List are not using the same separator character
  • Login message is displayed when the user is already logged in

Version 7.1

February 12, 2021

What's New

  • Support for LLVM 11.0.1

Bug Fixes

  • Settings crash when a pre-built LLVM version is installed
  • Fixed regression on Windows 8 / PowerShell 3
  • Clang-Format Editor cannot locate clang-format.exe

Version 7.0.1

February 9, 2021

Bug Fixes

  • Clang-Format Editor process doesn't stop in certain conditions

Version 7.0

February 3, 2021

What's New

  • Clang Power Tools is entirely free
  • Clang Format Editor offers a better experience by incorporating the Style Detector and the Format Configurator
  • Now you can use the Clang Format Editor as a stand-alone tool. Visual Studio is not needed
  • Import your own .clang-format file in our Format Editor
  • Enable all checks option is available for predefined Clang Tidy check

Bug Fixes

  • Last Clang Format flag is ignored
  • Footer component overlaps with the settings window
  • Several format flags are ignored during the lookup
  • Settings view is resized in certain situations

Version 6.5

November 25, 2020

What's New

  • Possibility to select a custom path for LLVM
  • Detect the LLVM version updates from disk
  • Share your experience more quickly with the new Feedback tab

Bug Fixes

  • Stopping a clang command sometimes left unhandled temporary files

Version 6.4.2

November 5, 2020

What's New

  • Easier access to Clang functionality. No account needed

Version 6.4.1

October 27, 2020

Bug Fixes

  • Clang-Tidy command does not work on TidyFile mode
  • Fix configuration file warnings for Clang-Tidy

Version 6.4

October 22, 2020

What's New

  • Support for LLVM 11.0

Bug Fixes

  • Clang-tidy doesn't run when too many flags are checked

Version 6.3

October 14, 2020

What's New

Bug Fixes

  • Not all selected clang-tidy checks are applied
  • Local settings import is not applied on the entire compiler tab
  • The tidy process is not triggered when the 'Tidy on save' option is enabled

Version 6.2

August 26, 2020

What's New

  • Export JSON Compilation Database

Bug Fixes

  • Always focus on the active document after running a command
  • Context Menu selection issue due to 'Track Active Item in Solution Explorer'

Version 6.1

July 8, 2020

What's New

  • Team Cloud Settings - a faster way to store and share your configuration
  • Quick access to your profile information from the settings panel
  • Clang-Format can be used to format C# files
  • Microsoft style integration for Clang-Format
  • Possibility to select multiples Clang-Tidy predefined checks at once
  • Clang-Format can be configured using the '_clang-format' file

Bug Fixes

  • Exported Clang Tidy checks do not disable the default ones
  • Reset Settings does not refresh the panels; it requires a window reload
  • Tooltip information is shown just over the option name
  • The output window is not cleared after running Clang-Format
  • Fallback style is enabled for all the Clang-Format Style options
  • Editor focus is lost when displaying a log message

Version 6.0.1

June 5, 2020

Bug Fixes

  • Directory.Build.Props is ignored when it contains the PlatformConfigurations node

Version 6.0

June 4, 2020

What's New

  • Search functionality in the Clang-Format editor
  • Detect .clang-tidy configuration file when any Tidy command is launched
  • Option to display the output window after running a command
  • Run Clang-Format on files that don't belong to the opened project
  • Option to enable only the recommended default Clang-Tidy checks

Bug Fixes

  • Focus changes to the error output after running a command
  • Crash when deselecting all Tidy checks
  • Export Tidy file doesn't include checks
  • Select button is active even when PredefinedChecks is not selected

Version 5.9.2

May 14, 2020

Bug Fixes

  • Predefined tidy checks are not initialized

Version 5.9.1

May 13, 2020

Bug Fixes

  • Crash when config file is missing

Version 5.9

May 11, 2020

What's New

  • Feedback message when running Format on ignored files
  • Detect if the .clang-format is missing when using file style

Bug Fixes

  • The export confirmation dialog appears even when canceling the operation
  • Missing LLVM message is not displayed properly

Version 5.6.4

March 20, 2020

Bug Fixes

  • Background Tidy error when reloading solution

Version 5.6.3

March 18, 2020

Bug Fixes

  • Fix Visual Studio version detection for projects using vcpkg

Version 5.6.2

March 13, 2020

Bug Fixes

  • Clang IntelliSense crash due to external dependency files
  • Clang tidy export confirmation is missing

Version 5.6.1

March 6, 2020

Bug Fixes

  • File locked when saving
  • Clang runs on other project types

Version 5.6

March 3, 2020

What's New

  • Clang Style Options Editor to create and customize clang-format files
  • Clang-tidy IntelliSense shows squiggles automatically

Bug Fixes

  • Squiggles don't work properly on large files
  • Closing the active file after running a command may cause a crash
  • Stop command doesn't work after using its shortcut
  • Stop command crash in certain scenarios
  • Custom tidy executable path containing white spaces doesn't work
  • Clang doesn't run after MSVC successfully compiles

Version 5.5.3

February 4, 2020

What's New

  • LLVM 9.0.1

Version 5.5.2

January 23, 2020

Bug Fixes

  • Visual Studio editor focus is lost when using clang-format on save
  • No feedback when running Clang commands on ignored files or projects

Version 5.5.1

January 20, 2020

Bug Fixes

  • Format on save doesn't work when the config file is missing
  • Adding files to ignore list from context menu doesn't work
  • Crash when running clang commands for files without a Visual Studio Solution
  • Logging out doesn't refresh the UI

Version 5.5

December 18, 2019

What's New

  • Settings option to always show Error List if clang compile/tidy finishes with errors
  • Redesign UI buttons

Bug Fixes

  • The format command runs on ignored files
  • No feedback when .clang-format config file is missing

Version 5.4

December 3, 2019

What's New

  • Clang errors after compilation are highlighted using squiggle
  • LLVM version is automatically set as active after installation
  • Completely redesigned input data window
  • Small UI improvements

Bug Fixes

  • Clang-tidy flags are missing
  • Alt+tab locks up Visual Studio while in the input data window
  • LLVM version 8.0.1 is missing from the download list

Version 5.3

October 23, 2019

What's New

  • Side-by-side LLVM installation and selection directly from Settings
  • Pre-initialize configuration and platform properties

Bug Fixes

  • Fix predefined checks initialization
  • Clear button doesn't work for predefined checks search
  • GetPathOfFileAbove didn't function properly in some cases

Version 5.2.1

September 18, 2019

Bug fixes

  • Sign up not working from account window

Version 5.2

September 16, 2019

What's New

  • 14-days free trial support
  • Now you can ignore an entire project at clang compile time
  • Ignore folder support for compile and format commands
  • Possibility to convert incompatible clang encoding files to UTF-8
  • Commands are now disabled for unrelated C++ projects

Bug Fixes

  • Handle corrupt JSON config file
  • Fix import for tidy predefined checks
  • UI uniformization for predefined checks view

Version 5.1

September 5, 2019

What's New

  • CMake support for open file
  • Complete UI redesign
  • Export/Import settings configuration
  • Settings are now saved as JSON
  • Support to export .clang-tidy config file
  • Improve the email and password validation
  • Offline support

Bug Fixes

  • Crash on Visual Studio 2019 when running clang commands
  • Crash on Visual Studio 2015 when running clang-tidy
  • Crash when Tidy on save is active
  • Calibrate focus between Error List and Output window
  • Clang compile warnings detection

Version 5.0.1

July 11, 2019

Bug fixes

  • Visual Studio 2015 crash after login
  • Account validation is too slow

Version 5.0

July 4, 2019

What's New

  • Export clang-tidy config file
  • Commands shortcut
  • Clang Power Tools account
  • Support for the latest Windows 10 SDK project setting

Bug fixes

  • Compile shortcut doesn't run the command on the proper file

Version 4.10.5

May 31, 2019

Bug fixes

  • Format command doesn't work when used from the context menu
  • Fix include order of project directories

Version 4.10.4

May 17, 2019

Bug fixes

  • Stop command doesn't work properly on multiple files
  • Error when running toolbar commands with no open file in the Visual Studio editor
  • Output log messages are not displayed correctly

Version 4.10.3

April 22, 2019

Bug fixes

  • Wrong default project runtime library (MT instead of MD)
  • Not compiling any files when -file-ignore contains headers
  • MSBuild conditional elements not loaded correctly

Version 4.10.2

April 4, 2019

Bug fixes

  • Fix crash when running Clang command from the toolbar with no active document
  • _AFXDLL preprocessor macro not set for projects with _dynamic_ MFC usage

Version 4.10.1

March 28, 2019

Bug fixes

  • Running a command from the toolbar is sometimes run on other files when Track Active Item in Solution Explorer is off

Version 4.10

March 21, 2019

Breaking changes

  • The -literal PowerShell parameter has been removed. This means that the regex is no longer applied by default to PowerShell Clang Power Tools parameters. Regular expression matching can now be done using the [regex] prefix. Example: [regex]company_.*\.vcxproj, [regex]ui_components_.*\.cpp

What's New

  • Support for partial file paths as project/files to compile or ignore, e.g. ignore or compile all files from a directory hierarchy
  • Support for LLVM 8.0

Bug fixes

  • Fix deprecated APIs for Visual Studio 2019 Preview
  • Visual Studio crashes when Clang Tidy is executed
  • _AFXDLL builds triggering error due to missing DLL preprocessor definition
  • MSBuild::GetPathOfFileAbove() calls not working
  • CompileAs configuration for project items not working correctly

Version 4.9

March 7, 2019

What's New

  • Powershell scripts now using strict-mode -latest for increased safety

Bug fixes

  • Format on save does not apply the Fallback-Style option
  • Clang Tidy settings are set back to default values when Visual Studio is open
  • Item definition groups evaluation loaded incorrectly for some projects
  • Expression expansion not working correctly for some expressions on machines with PS 3.0
  • HOME environment variable triggering error when present on machine
  • MSBuild::Utilities::ToolLocationHelper was not accessible
  • Default user-specific property sheets (microsoft.cpp.user.props) not loaded automatically

Version 4.8.1

February 19, 2019

Bug fixes

  • Fix location detection when multiple versions of Visual Studio are installed

Version 4.8

February 18, 2019

What's New

  • Visual Studio 2019 Preview support
  • Keyboard shortcut for Clang Compile

Bug fixes

  • User settings are sometimes set back to default values when closing Visual Studio
  • Compile or Tidy commands force saves the solution
  • When running Clang after the MSVC compile, Visual Studio does not switch to the Clang Power Tools log window

Version 4.7

February 4, 2019

What's New

  • Support for custom Clang Tidy executable path

Bug fixes

  • The custom path for Clang Format cannot be changed after it was set
  • Output window did not display the Clang output properly
  • Unhandled exception in the status-bar caused errors

Version 4.6

January 17, 2019

What's New

  • Select files to ignore at compile and format from the Context Menu

Bug fixes

  • Wrong format applied when clang-tidy and clang-format on save are checked
  • Access rights of the PowerShell script caused warning messages
  • Clang Format didn’t properly handle selected source
  • Crash when some options are missing from the config file

Version 4.5

December 12, 2018

What's New

  • Status bar support for Clang Format
  • Support for expanding Project Item Groups

Bug fixes

  • Clang commands saving event caused changes on .sln level
  • Clang Format formats CMakeLists.txt file
  • System.IO.Directory::GetDirectories() calls not working

Version 4.4

November 27, 2018

What's New

  • Speed up the errors detection by sending refresh signals to the VS Error List
  • Include the new LLVM 7.0 clang tidy checks

Bug fixes

  • The checks from .clang-tidy config file are ignored
  • Clang Tidy on save does not respond after a VS Solution is reopened
  • Extension upgrade is not detected

Version 4.3.2

November 13, 2018

Bug fixes

  • New extension dependencies caused crashes

Version 4.3.1

November 9, 2018

Bug fixes

  • Fix bug triggering regex error when using absolute paths in command line args

Version 4.3

November 7, 2018

What's New

  • Support for apply Clang-Format on VS Projects
  • Support for apply Clang-Format on VS Solution

Bug fixes

  • Asynchronous writing in the Output Pane caused crashes
  • Sometimes crash when clang commands are executed

Version 4.2.1

October 29, 2018

Bug fixes

  • After closing and reopening a VS Solution the clang commands did not work as expected
  • Clang-Format works just for files that are included in a VS project
  • Format after tidy option is not responding
  • VS Services are not registered in the right order

Version 4.2

October 15, 2018

What's New

  • Support for PCH configuration at file-level

Bug fixes

  • VS Extension is not completely registered immediately after the VS solution was loaded
  • Wrong detection of VS 2015 when VS 2013 toolset is being used
  • Parallel processing causing file corruption for Tidy Fix

Version 4.1

October 9, 2018

What's New

  • Optimize the VS services access
  • Improve clang commands loading

Bug fixes

  • Double quotes incorrectly escaped in preprocessor definitions (v4.0 regression)
  • …\ include directories not being correctly included (v4.0 regression)
  • Preprocessor definition characters being mistaken for comparison operators (v4.0 regression)
  • PCH detection not working when project force includes header directly at pch cpp level
  • Crash when VS services are not available
  • Clang commands registration does not always work
  • Project field from Error List sometimes is empty

Version 4.0

September 20, 2018

What's New

  • Support for CPT configuration files (see sample cpt.config in github repository)

Bug fixes

  • Changed files are permanently open in the editor after clang-tidy command
  • Crash when changing the Show issues generated option from Visual Studio
  • Preprocessor definitions for raw string literals containing escaped quotes not working
  • Calls to Exists() using single quotes not resolved correctly

Version 3.9.2

August 29, 2018

Bug fixes

  • Directory.Build.props global property sheet not loaded
  • Unicode project character set detection not working for some projects
  • Output Window does not display the entire output
  • Clang commands are not disabled when the VS build is running
  • Selecting system include directories did not worked for Treat additional includes as option

Version 3.9.1

August 16, 2018

Bug fixes

  • Crash when showing output window notifications

Version 3.9

August 13, 2018

New features

  • Project / File to ignore support for directory matching

Improvements

  • Display names of ignored projects at beginning of log

Bug fixes

  • MSBuild directory properties malfunctioning in some property sheets
  • Project specific variables not cleared when compilation failed
  • Newly created projects not detected by VS Extension
  • Clang output sometimes formatted wrong in the VS Output Window
  • Crash when switching Error List between Build Only, Build + IntelliSense and IntelliSense Only

Version 3.8

July 27, 2018

Improvements

  • Improved error detection

Bug fixes

  • Projects with large number of include directories could not be compiled
  • Closed files remained closed after the clang-tidy fix command caused changes
  • Error List displayed duplicates errors
  • Output Window did not displayed the entire content
  • VS reload file mechanism for external changes remains disabled after the clang-tidy fix command

Version 3.7.1

July 4, 2018

Bug fixes

  • Missing trailing slashes for MakeRelative() special cases

Version 3.7

July 3, 2018

New features

  • Dedicated command for Clang Tidy-Fix action

Improvements

  • Optimize loading speed of the VS Extension
  • Optimize UI responsiveness when a command is executed
  • (Powershell Script) -file script parameter now accepts header files (.H), alongside source files This triggers compilation for all source files (.CPP) that include them

Bug fixes

  • vcpkg package include directories not being detected
  • MSBuild::MakeRelative() property function not working
  • C99 was disabled in PCH file error when compiling .C files
  • v140 projects not compiled using appropriate VS2017 toolset

Version 3.6

June 18, 2018

New features

  • (Powershell Script) Automatically detect Visual Studio SK when not passed as script argument
  • Quick search support for the Predefined checks option page

Bug fixes

  • Error when compiling projects without preprocessor definitions
  • Regex matching broken for File Ignore and Project Ignore filters
  • The clang-format custom path property did not persisted
  • Fix the check mechanism of the Use custom executable file checkbox

Version 3.5

June 5, 2018

New features

  • Support for compiling C files

Bug fixes

  • The File Ignore and Project Ignore filters didn’t worked
  • Clang Compile and Clang Tidy commands crashed when extra white spaces and extra delimitaters were added in UI text fields
  • Buttons have overlapped the text in the UI fields

Version 3.4.2

May 15, 2018

Bug fixes

  • Selecting elements from the Tidy > Predefined Checks page has caused crashes

Version 3.4.1

May 15, 2018

Bug fixes

  • Auto clang-format on save did not work for upgraded installs

Version 3.4

May 14, 2018

New features

  • Support to use different version of clang-format.exe from the one in the box

Improvements

  • Updated clang-format.exe to the latest version 6.0.0
  • Support to use different version of clang-format.exe from the one in the box
  • Redesigned settings panel

Bug fixes

  • Errors in headers were shown multiple times if different folder delimiters were used

Version 3.3.1

April 24, 2018

Bug fixes

  • Clang output text was separated into multiple lines
  • Source files with ExcludedFromBuild child property set to true were compiled
  • Empty project files were not correctly handled

Version 3.3

March 29, 2018

New features

  • Support for filter errors by Project field in the Error List
  • Cleanup errors when closing a project
  • Use the whole file name of PCH cpp to detect PCH header directory

Improvements

  • Improved responsiveness during lengthy operations
  • Use the whole file name of PCH cpp to detect PCH header directory

Version 3.2.1

March 23, 2018

Bug fixes

  • Clang compile fails when project has no Additional Include Directories
  • Error line number from error list was displayed wrong

Version 3.2

March 22, 2018

New features

  • Support for VS status bar

Improvements

  • Clang-tidy checker for output window messages

Bug fixes

  • Last error message couldn’t be detected
  • Consecutive error messages couldn’t be detected
  • Did not work on Visual Studio 2017 Update 2 because vswhere does not support the -prerelease switch
  • Did not work when stdafx.cpp contained commented #include lines
  • Couldn’t detect default Configuration Platform if comment nodes were present in the <ItemGroup> XML element
  • PCH header couldn’t be detected when in a different physical location than that of PCH cpp
  • PCH header couldn’t be detected if not present in project <ClInclude> XML element
  • Compilation stopped on PCH-creation errors even if -continue switch was present

Version 3.1

March 12, 2018

New features

  • Support for MSBuild::GetDirectoryNameOfFileAbove
  • Support for clang format selection

Bug fixes

  • /MD and /MT project settings not propagated to clang

Version 3.0.1

March 2nd, 2018

Bug fixes

  • Visual Studio loses focus on selected items

Version 3.0

March 1st, 2018

New features

Auto-format source file on save, configurable style options, file extension rules, etc.

Improvements

  • Disable the clang commands when VS build is running

Bug fixes

  • Automatic clang-tidy on save option was applying fixes even when Fix option was set to false
  • Running a command with different elements of VS selected (eg. properties window, toolbox) sometimes caused errors
  • Clang compile and tidy commands were not disabled for source files not loaded in a project context
  • Properly trim whitespace from #include paths
  • Whitespaces in VS project name were not supported

Version 2.8

February 20, 2018

New features

  • Automatically run Clang-tidy when the current source file is saved
  • Automatically run Clang compile on the current source file after successful MSVC compilation

Bug fixes

  • A project was saved even if it was not dirty
  • Stop Clang command crashed all Powershell processes
  • A single error found in a header was displayed multiple times
  • COM objects caused errors when a command was running

Version 2.6

January 29, 2018

Until now, we’ve used the %INCLUDE% environment variable for setting clang include directories. That was equivalent to using -isystem for each directory.

Unfortunately, this caused headers included relative to those include directories to be ignored when running compiling/tidying because they were treated as system headers.

Having this brought to our attention, going forward we will use -I and -isystem to pass include directories to clang, with the following defaults:

  • include directories passed using -isystem
  • additional include directories passed using -I

Q: What does this mean?
A: You’ll most likely see new warnings when compiling or tidying your code-base.

Q: Will my build fail?
A: Only if you have specified -Werror (treat warnings as errors).

Q: What should I do?
A: - Make sure to include third party library dependencies via the Include directories project option. Additional include directories should point only to code you can modernize. - Resolve remaining warnings related to your code.

Q: Can I use ClangPowerTools using the old behavior?
A: Yes. We’ve added, for compatibility reasons, a UI option that allows clang to treat additional includes as system headers. Keep in mind this means we will potentially miss some of your headers when calling clang.

You may want to use this option if using -Werror (treating warnings as errors) until you’ve reorganized your includes, since any new warnings will break your build.

Q: What about the continuous integration script (clang-build.ps1)?
A: You can specify the -treat-sai switch and it will have the old behavior.

Improvements

  • Additional includes are now treated as regular includes using -I

Bug fixes

  • Crash when using preprocessor definitions containing double quotes
  • Wild card project file includes were not recognized
  • Tooling detection did not work on Visual Studio pre-release versions

Version 2.7

February 8, 2018

New features

  • Save all projects before running clang compile/tidy

Bug fixes

  • The Treat additional includes as option was not loaded from the settings file
  • The toolbar was hidden on the first install
  • Source files / headers not detected when specified in property sheets

Version 2.5.1

January 17, 2018

Bug fixes

  • Fixed the unexpectedly Visual Studio session ending

Version 2.5

January 12, 2018

Improvements

  • Automatically show toolbar on the first time install

Bug fixes

  • Fixed errors detection
  • Fixed commands execution when the project contains more files with the same name
  • Crash when multiple SKUs of Visual Studio 2017 installed simultaneously
  • Google.Test Nuget packages not working

Version 2.4.1

December 28, 2017

Bug fixes

  • Regression in 2.4.0 preventing use of clang-tidy on header files

Version 2.4

December 21, 2017

New features

  • Configurable header-filter for tidy-fix
  • Option to run clang-tidy only on cpp-corresponding headers

Bug fixes

  • <Choose> project elements were not loaded
  • Same-file appended project settings caused crash
  • Wildcard-named property sheets were not loaded

Version 2.3

December 13, 2017

New features

  • Tidy operation mode: ability to switch between explicitly specified tidy checks and .clang-tidy configuration files

Improvements

  • Use PCH for clang-tidy workflow

Bug fixes

  • Could not property detect C++17 standard from project
  • Project parse issues for MsBuild string member function calls
  • Files with extensions other than .cpp were not compiled from VS
  • HasTrailingSlash MsBuild function was not recognized

Version 2.2

December 11, 2017

Bug fixes

  • Fixed the saving for user configurations from option pages
  • Increased the number of compilable file types. Now supporting: .c , .cpp , .cc , .cxx , .c++ , .cp
  • Could not be used in VS 2015 (regression in v2.1)
  • Could not create PCH when using forced includes and stdafx.cpp did not manually include stdafx.h
  • Could not handle multiple MSVC versions found in the same VS installation
  • Project load error when a project condition contained more than one call to MSBuild Exists()
  • Clang-tidy -header-filter flag was sometimes behaving incorrectly, ignored header files

Version 2.1

December 7, 2017

New features

  • Possibility to abort clang compile and clang tidy commands
  • Detect C++ standard automatically from project. Default to C++14 if not set

Improvements

  • Eliminated delay caused by .sln and .vcxproj file scanning
  • Create PCH only for more than 2 cpps

Bug fixes

  • Environment variables were not used when evaluating MsBuild expressions
  • MsBuild expressions didn’t work when starting with ! operator
  • ForcedIncludes for clang compile were not working, regression in v2.0
  • ForcedIncludes were not taken into account for clang-tidy
  • Project > IncludePath was not taken into account for include directories
  • Error occured when include directories contained empty values
  • Fixed PCH crash when using Visual Studio 15.5 STL libraries (mscver 14.12.25827)
  • Fixed the commands execution for default console application

Version 2.0

November 26, 2017

New features

  • Fully evaluate MsBuild conditions for project and property sheet XML data
    • XML nodes with conditions evaluated to false are ignored
  • Project settings can now reference:
    • User defined macros
      • e.g. $(MY_MACRO_DIR)\bin$(MY_MACRO_FILE)
    • Build-in macros:
      • $(VisualStudioVersion), $(ProjectDir), $(SolutionDir), $(Platform), $(Configuration), $(MSBuildProjectName), $(MSBuildProjectFullPath), $(MSBuildProjectDirectory), $(MSBuildThisFile), $(MSBuildThisFileName), $(MSBuildThisFileFullPath), $(MSBuildThisFileDirectory), $(MSBuildProgramFiles32)
    • .NET expressions
      • e.g. $([System.DateTime::Now.ToString(“yyyy.MM.dd”))]
  • Detect property sheets included in Directory.Build.props
  • Automatically detect the project solution file

Version 1.7.1

November 20, 2017

Bug fixes

  • Fixed the support for Track Active Item in Solution Explorer set to Off

Version 1.7

November 16, 2017

New features

  • Added support for Track Active Item in Solution Explorer option set to Off

Improvements

  • Verbose-Mode now logs clang-build.ps1 and clang++ invocation arguments

Bug fixes

  • Fixed the user settings saving
  • Fixed the script execution for clang-tidy options
  • Moved Clang Power Tools above the Properties item in Context Menu

Version 1.6

November 9, 2017

Improvements

  • Improved handling of project value separator
  • Used the active project configuration

Bug fixes

  • Fixed the commands launching from file tab
  • Fixed the default tidy settings page
  • Fixed the cleaning of all messages from Error tab when a command begins

Version 1.5.1

November 3rd, 2017

New features

  • Dedicated option page for tidy checks

Improvements

  • Provided better defaults for “Tidy Checks” dialog

Bug fixes

  • Fixed script building for tidy checks

Version 1.5

November 1st, 2017

New features

  • Detect auto property sheets (Directory.Build.props). Merging not supported
  • Detect property sheets included indirectly, through other property sheets
  • Automatically detect the first project configuration platform

Improvements

  • Generalized property sheet usage for project data retrieval

Version 1.4

October 27, 2017

New features

  • Verbose mode support
  • Clang Power Tools toolbar

Improvements

  • Created Clang Power Tools toolbar

Bug fixes

  • Fixed logical core count detection on systems with more than one physical CPU
  • Disabled the commands when another command is running
  • Fixed MSCVER detection bug when VS is not installed in default location
  • Added WinSDKVer defaults for when not mentioned in project
  • Fixed error message when project does not include force include files

Version 1.3.1

October 23, 2017

Bug fixes

  • Allow the path to include any non-whitespace character
  • Added support for project-specific force include files
  • Added support for Win 8/8.1 SDKs
  • Fix typo preventing detection of VS2015 install location
  • Fixed crash when project has no files to compile

Version 1.3

October 19, 2017

New features

  • Support for ignoring specific files
  • Support for treating warnings as errors

Improvements

  • Detect Visual Studio 2015 / 2017 custom installation paths
  • Enabled compilation for all files included in the Vcxproj section

Bug fixes

  • Fixed project detection when the project name from UI is different of the project name on the disk
  • Prevents the Output window from stealing the focus
  • Fixed the detection for modified files after clang tidy fix
  • Fixed the “Project To Ignore” option

Version 1.2

October 13, 2017

Improvements

  • Clang warnings and messages with line navigation in both output pane and error list
  • Included clang notification(errors, warnings, messages) in Build Only category
  • Formatted clang output

Bug fixes

  • Fixed clang error detection algorithm
  • Fixed clang errors line navigation from output pane
  • Fixed the vsix installer detection for VS2017

Version 1.1

October 8, 2017

New features

  • Support for Visual Studio 2015.
  • Open the modified files after clang tidy format command

Improvements

  • Suppress the reload popup shown by the Visual Studio
  • Integrated -quiet in the same way as other clag flags
  • Generalized PCH support for more than stdafx.h

Bug fixes

  • Clean the output and errors before a new command and build action
  • Fixed the include directories option
  • Fixed error detection for error list
  • Fixed LLVM detection mechanism from Visual Studio Extension
  • Switched to -fix-errors when calling clang-tidy
  • Removed restriction to CPP files when looking for ClCompile entries
  • Fixed compilation when vcxproj has both 32 and 64 bit platform configrations

Version 1.0.1

September 30, 2017

New features

  • Automatically detect clang installation folder
  • Support for projects without PCH/stdafx

Bug fixes

  • Fixed navigation to clang error in code editor
  • Fixed clang error parse algorithm
  • Fixed detection when lightweight solution load is enabled

Version 1.0

September 27, 2017

First official release.