Code enhancement: enable code analysis with custom rule set

Ref https://github.com/notepad-plus-plus/notepad-plus-plus/pull/13143#issuecomment-1434689064

Close #13168
This commit is contained in:
ozone10 2023-02-23 18:22:15 +01:00 committed by Don Ho
parent 52d3c36e35
commit 34545beddd
4 changed files with 470 additions and 116 deletions

View File

@ -1,22 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Configuration">
<ExternalIncludePath>..\..\lexilla\include;..\..\scintilla\include;..\src\tinyxml;..\src\tinyxml\tinyXmlA;..\src\uchardet;..\src\json;$(ExternalIncludePath)</ExternalIncludePath>
<LinkIncremental>false</LinkIncremental>
<EnableCppCoreCheck>true</EnableCppCoreCheck>
<CodeAnalysisRuleSet>notepadPlus.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(PlatformToolset)'=='ClangCL'">
<!-- Clang build has issue with embedding manifest, manifest will be added after build in PostBuildEvent-->
<GenerateManifest>false</GenerateManifest>
<EnableClangTidyCodeAnalysis>true</EnableClangTidyCodeAnalysis>
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
<ItemDefinitionGroup Label="Globals">
<ClCompile>
<AdditionalIncludeDirectories>..\src\WinControls\AboutDlg;..\..\scintilla\include;..\..\lexilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScintillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\TreeView;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA;..\src\WinControls\AnsiCharPanel;..\src\WinControls\ClipboardHistory;..\src\WinControls\FindCharsInRange;..\src\WinControls\VerticalFileSwitcher;..\src\WinControls\ProjectPanel;..\src\WinControls\DocumentMap;..\src\WinControls\FunctionList;..\src\uchardet;..\src\WinControls\FileBrowser;..\src\WinControls\ReadDirectoryChanges;..\src\MISC\md5;..\src\WinControls\PluginsAdmin;..\src\json;..\src\MISC\sha2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\src;..\src\MISC;..\src\MISC\Common;..\src\MISC\Exception;..\src\MISC\md5;..\src\MISC\PluginsManager;..\src\MISC\Process;..\src\MISC\RegExt;..\src\MISC\sha2;..\src\MISC\SysMsg;..\src\ScintillaComponent;..\src\Win32Explr;..\src\WinControls;..\src\WinControls\AboutDlg;..\src\WinControls\AnsiCharPanel;..\src\WinControls\ClipboardHistory;..\src\WinControls\ColourPicker;..\src\WinControls\ContextMenu;..\src\WinControls\DockingWnd;..\src\WinControls\DocumentMap;..\src\WinControls\FileBrowser;..\src\WinControls\FindCharsInRange;..\src\WinControls\FunctionList;..\src\WinControls\Grid;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\PluginsAdmin;..\src\WinControls\Preference;..\src\WinControls\ProjectPanel;..\src\WinControls\ReadDirectoryChanges;..\src\WinControls\shortcut;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\StaticDialog\RunDlg;..\src\WinControls\StatusBar;..\src\WinControls\TabBar;..\src\WinControls\TaskList;..\src\WinControls\ToolBar;..\src\WinControls\ToolTip;..\src\WinControls\TrayIcon;..\src\WinControls\TreeView;..\src\WinControls\VerticalFileSwitcher;..\src\WinControls\WindowsDlg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32_WINNT=_WIN32_WINNT_VISTA;_WINDOWS;OEMRESOURCE;NOMINMAX;_USE_64BIT_TIME_T;TIXML_USE_STL;TIXMLA_USE_STL;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT;_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<WarningLevel>Level4</WarningLevel>
@ -25,11 +33,16 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<DisableSpecificWarnings>4456;4457;4459</DisableSpecificWarnings>
<AdditionalOptions>/w15262 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp20</LanguageStandard>
<TreatAngleIncludeAsExternal>true</TreatAngleIncludeAsExternal>
<DisableAnalyzeExternal>true</DisableAnalyzeExternal>
<!--If code analysis is enabled for external code, use only Microsoft Native Recommended Rules-->
<AnalyzeExternalRuleset>NativeRecommendedRules.ruleset</AnalyzeExternalRuleset>
</ClCompile>
<Link>
<AdditionalDependencies>comctl32.lib;shlwapi.lib;shell32.lib;Oleacc.lib;Dbghelp.lib;Version.lib;Crypt32.lib;wintrust.lib;Sensapi.lib;wininet.lib;libscintilla.lib;liblexilla.lib;imm32.lib;msimg32.lib;uxtheme.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>comctl32.lib;shlwapi.lib;shell32.lib;Oleacc.lib;Dbghelp.lib;Version.lib;Crypt32.lib;wintrust.lib;Sensapi.lib;wininet.lib;imm32.lib;msimg32.lib;uxtheme.lib;libscintilla.lib;liblexilla.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ShowProgress>LinkVerboseLib</ShowProgress>
<OutputFile>$(OutDir)notepad++.exe</OutputFile>
<Version>1.0</Version>
@ -62,6 +75,12 @@
<ProgramDatabaseFile>$(OutDir)notepadPlus.pdb</ProgramDatabaseFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalOptions>/Zc:strictStrings /analyze:WX- %(AdditionalOptions)</AdditionalOptions>
<EnablePREfast>true</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="AddImages"
AfterTargets="BuildGenerateSources">
<ItemGroup>
<Image Include="@(_ResourceImage)" />
<None Include="@(_ResourceNone)" />
</ItemGroup>
</Target>
<ItemGroup>
<_ResourceImage Include="..\src\icons\allChars_off.ico" />
<_ResourceImage Include="..\src\icons\allChars_on.ico" />
<_ResourceImage Include="..\src\icons\closeAll.bmp" />
<_ResourceImage Include="..\src\icons\closefile.bmp" />
<_ResourceImage Include="..\src\icons\closeTabButton.bmp" />
<_ResourceImage Include="..\src\icons\closeTabButton_hover.bmp" />
<_ResourceImage Include="..\src\icons\closeTabButton_inact.bmp" />
<_ResourceImage Include="..\src\icons\closeTabButton_push.bmp" />
<_ResourceImage Include="..\src\icons\copy.bmp" />
<_ResourceImage Include="..\src\icons\cut.bmp" />
<_ResourceImage Include="..\src\icons\cut_dis.ico" />
<_ResourceImage Include="..\src\icons\cut_off.ico" />
<_ResourceImage Include="..\src\icons\cut_on.ico" />
<_ResourceImage Include="..\src\icons\delete.ico" />
<_ResourceImage Include="..\src\icons\dupli_dis.ico" />
<_ResourceImage Include="..\src\icons\dupli_off.ico" />
<_ResourceImage Include="..\src\icons\dupli_on.ico" />
<_ResourceImage Include="..\src\icons\find.bmp" />
<_ResourceImage Include="..\src\icons\find_off.ico" />
<_ResourceImage Include="..\src\icons\find_on.ico" />
<_ResourceImage Include="..\src\icons\findrep_off.ico" />
<_ResourceImage Include="..\src\icons\findrep_on.ico" />
<_ResourceImage Include="..\src\icons\findReplace.bmp" />
<_ResourceImage Include="..\src\icons\findResult.ico" />
<_ResourceImage Include="..\src\icons\imprim_off.ico" />
<_ResourceImage Include="..\src\icons\imprim_on.ico" />
<_ResourceImage Include="..\src\icons\indentGuide.bmp" />
<_ResourceImage Include="..\src\icons\indentGuide_off.ico" />
<_ResourceImage Include="..\src\icons\indentGuide_on.ico" />
<_ResourceImage Include="..\src\icons\invisibleChar.bmp" />
<_ResourceImage Include="..\src\icons\new_off.ico" />
<_ResourceImage Include="..\src\icons\new_on.ico" />
<_ResourceImage Include="..\src\icons\newFile.bmp" />
<_ResourceImage Include="..\src\icons\npp.ico" />
<_ResourceImage Include="..\src\icons\open_off.ico" />
<_ResourceImage Include="..\src\icons\open_on.ico" />
<_ResourceImage Include="..\src\icons\openFile.bmp" />
<_ResourceImage Include="..\src\icons\paste.bmp" />
<_ResourceImage Include="..\src\icons\paste_dis.ico" />
<_ResourceImage Include="..\src\icons\paste_off.ico" />
<_ResourceImage Include="..\src\icons\paste_on.ico" />
<_ResourceImage Include="..\src\icons\playRecord.bmp" />
<_ResourceImage Include="..\src\icons\playrecord_dis.ico" />
<_ResourceImage Include="..\src\icons\playRecord_m.bmp" />
<_ResourceImage Include="..\src\icons\playrecord_m_dis.ico" />
<_ResourceImage Include="..\src\icons\playrecord_m_off.ico" />
<_ResourceImage Include="..\src\icons\playrecord_m_on.ico" />
<_ResourceImage Include="..\src\icons\playrecord_off.ico" />
<_ResourceImage Include="..\src\icons\playrecord_on.ico" />
<_ResourceImage Include="..\src\icons\print.bmp" />
<_ResourceImage Include="..\src\icons\readonly.ico" />
<_ResourceImage Include="..\src\icons\redo.bmp" />
<_ResourceImage Include="..\src\icons\redo_dis.ico" />
<_ResourceImage Include="..\src\icons\redo_off.ico" />
<_ResourceImage Include="..\src\icons\redo_on.ico" />
<_ResourceImage Include="..\src\icons\save_dis.ico" />
<_ResourceImage Include="..\src\icons\save_off.ico" />
<_ResourceImage Include="..\src\icons\save_on.ico" />
<_ResourceImage Include="..\src\icons\saveAll.bmp" />
<_ResourceImage Include="..\src\icons\saveall_dis.ico" />
<_ResourceImage Include="..\src\icons\saveall_off.ico" />
<_ResourceImage Include="..\src\icons\saveall_on.ico" />
<_ResourceImage Include="..\src\icons\saved.ico" />
<_ResourceImage Include="..\src\icons\saveFile.bmp" />
<_ResourceImage Include="..\src\icons\saveRecord.bmp" />
<_ResourceImage Include="..\src\icons\saverecord_dis.ico" />
<_ResourceImage Include="..\src\icons\saverecord_off.ico" />
<_ResourceImage Include="..\src\icons\saverecord_on.ico" />
<_ResourceImage Include="..\src\icons\showPannel.bmp" />
<_ResourceImage Include="..\src\icons\startRecord.bmp" />
<_ResourceImage Include="..\src\icons\startrecord_dis.ico" />
<_ResourceImage Include="..\src\icons\startrecord_off.ico" />
<_ResourceImage Include="..\src\icons\startrecord_on.ico" />
<_ResourceImage Include="..\src\icons\stopRecord.bmp" />
<_ResourceImage Include="..\src\icons\stoprecord_dis.ico" />
<_ResourceImage Include="..\src\icons\stoprecord_off.ico" />
<_ResourceImage Include="..\src\icons\stoprecord_on.ico" />
<_ResourceImage Include="..\src\icons\supp_off.ico" />
<_ResourceImage Include="..\src\icons\supp_on.ico" />
<_ResourceImage Include="..\src\icons\suppall_off.ico" />
<_ResourceImage Include="..\src\icons\suppall_on.ico" />
<_ResourceImage Include="..\src\icons\syncH.bmp" />
<_ResourceImage Include="..\src\icons\syncH_dis.ico" />
<_ResourceImage Include="..\src\icons\syncH_off.ico" />
<_ResourceImage Include="..\src\icons\syncH_on.ico" />
<_ResourceImage Include="..\src\icons\syncV.bmp" />
<_ResourceImage Include="..\src\icons\syncV_dis.ico" />
<_ResourceImage Include="..\src\icons\syncV_off.ico" />
<_ResourceImage Include="..\src\icons\syncV_on.ico" />
<_ResourceImage Include="..\src\icons\undo.bmp" />
<_ResourceImage Include="..\src\icons\undo_dis.ico" />
<_ResourceImage Include="..\src\icons\undo_off.ico" />
<_ResourceImage Include="..\src\icons\undo_on.ico" />
<_ResourceImage Include="..\src\icons\unsaved.ico" />
<_ResourceImage Include="..\src\icons\userDefineDlg_off.ico" />
<_ResourceImage Include="..\src\icons\userDefineDlg_on.ico" />
<_ResourceImage Include="..\src\icons\wrap.bmp" />
<_ResourceImage Include="..\src\icons\wrap_off.ico" />
<_ResourceImage Include="..\src\icons\wrap_on.ico" />
<_ResourceImage Include="..\src\icons\zoomIn.bmp" />
<_ResourceImage Include="..\src\icons\zoomIn_off.ico" />
<_ResourceImage Include="..\src\icons\zoomIn_on.ico" />
<_ResourceImage Include="..\src\icons\zoomOut.bmp" />
<_ResourceImage Include="..\src\icons\zoomOut_off.ico" />
<_ResourceImage Include="..\src\icons\zoomOut_on.ico" />
</ItemGroup>
<ItemGroup>
<_ResourceNone Include="..\src\cursors\drag.cur" />
<_ResourceNone Include="..\src\cursors\drag_interdit.cur" />
<_ResourceNone Include="..\src\cursors\drag_plus.cur" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,324 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Notepad++ C++ Rules" Description="Based on Microsoft Native Recommended Rules and C++ Core Check Rules." ToolsVersion="17.0">
<Include Path="cppcorecheckrules.ruleset" Action="Default" />
<Include Path="nativerecommendedrules.ruleset" Action="Default" />
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<Rule Id="C26100" Action="Warning" />
<Rule Id="C26101" Action="Warning" />
<Rule Id="C26110" Action="Warning" />
<Rule Id="C26111" Action="Warning" />
<Rule Id="C26112" Action="Warning" />
<Rule Id="C26115" Action="Warning" />
<Rule Id="C26116" Action="Warning" />
<Rule Id="C26117" Action="Warning" />
<Rule Id="C26140" Action="Warning" />
<Rule Id="C26400" Action="None" />
<Rule Id="C26401" Action="None" />
<Rule Id="C26402" Action="Hidden" />
<Rule Id="C26403" Action="Warning" />
<Rule Id="C26404" Action="Warning" />
<Rule Id="C26405" Action="Warning" />
<Rule Id="C26406" Action="Warning" />
<Rule Id="C26407" Action="Warning" />
<Rule Id="C26408" Action="Hidden" />
<Rule Id="C26409" Action="None" />
<Rule Id="C26410" Action="Warning" />
<Rule Id="C26411" Action="Warning" />
<Rule Id="C26414" Action="Hidden" />
<Rule Id="C26415" Action="Warning" />
<Rule Id="C26416" Action="Warning" />
<Rule Id="C26417" Action="Warning" />
<Rule Id="C26418" Action="Warning" />
<Rule Id="C26426" Action="Hidden" />
<Rule Id="C26427" Action="Warning" />
<Rule Id="C26429" Action="None" />
<Rule Id="C26430" Action="Hidden" />
<Rule Id="C26431" Action="Warning" />
<Rule Id="C26432" Action="None" />
<Rule Id="C26433" Action="Hidden" />
<Rule Id="C26434" Action="Hidden" />
<Rule Id="C26435" Action="Warning" />
<Rule Id="C26436" Action="Warning" />
<Rule Id="C26437" Action="Warning" />
<Rule Id="C26438" Action="Warning" />
<Rule Id="C26439" Action="Warning" />
<Rule Id="C26440" Action="None" />
<Rule Id="C26441" Action="Warning" />
<Rule Id="C26443" Action="Warning" />
<Rule Id="C26444" Action="Warning" />
<Rule Id="C26445" Action="Warning" />
<Rule Id="C26446" Action="None" />
<Rule Id="C26447" Action="Hidden" />
<Rule Id="C26448" Action="Warning" />
<Rule Id="C26449" Action="Warning" />
<Rule Id="C26450" Action="Warning" />
<Rule Id="C26451" Action="Hidden" />
<Rule Id="C26452" Action="Warning" />
<Rule Id="C26453" Action="Warning" />
<Rule Id="C26454" Action="Hidden" />
<Rule Id="C26455" Action="Hidden" />
<Rule Id="C26456" Action="None" />
<Rule Id="C26459" Action="Warning" />
<Rule Id="C26460" Action="Warning" />
<Rule Id="C26461" Action="Hidden" />
<Rule Id="C26462" Action="Hidden" />
<Rule Id="C26463" Action="Warning" />
<Rule Id="C26464" Action="Warning" />
<Rule Id="C26465" Action="Warning" />
<Rule Id="C26466" Action="Warning" />
<Rule Id="C26471" Action="Warning" />
<Rule Id="C26472" Action="Hidden" />
<Rule Id="C26473" Action="Warning" />
<Rule Id="C26474" Action="Hidden" />
<Rule Id="C26475" Action="Hidden" />
<Rule Id="C26476" Action="Warning" />
<Rule Id="C26477" Action="Hidden" />
<Rule Id="C26478" Action="Warning" />
<Rule Id="C26479" Action="Warning" />
<Rule Id="C26481" Action="Hidden" />
<Rule Id="C26482" Action="None" />
<Rule Id="C26483" Action="Warning" />
<Rule Id="C26485" Action="None" />
<Rule Id="C26490" Action="None" />
<Rule Id="C26491" Action="Warning" />
<Rule Id="C26492" Action="Hidden" />
<Rule Id="C26493" Action="Hidden" />
<Rule Id="C26494" Action="Hidden" />
<Rule Id="C26495" Action="Warning" />
<Rule Id="C26496" Action="None" />
<Rule Id="C26497" Action="Hidden" />
<Rule Id="C26498" Action="Warning" />
<Rule Id="C26800" Action="Warning" />
<Rule Id="C26810" Action="Warning" />
<Rule Id="C26811" Action="Warning" />
<Rule Id="C26812" Action="None" />
<Rule Id="C26813" Action="Warning" />
<Rule Id="C26814" Action="Hidden" />
<Rule Id="C26815" Action="Warning" />
<Rule Id="C26816" Action="Warning" />
<Rule Id="C26817" Action="Warning" />
<Rule Id="C26818" Action="Hidden" />
<Rule Id="C26819" Action="Error" />
<Rule Id="C26820" Action="Warning" />
<Rule Id="C26826" Action="Warning" />
<Rule Id="C26827" Action="Warning" />
<Rule Id="C26828" Action="Warning" />
<Rule Id="C26829" Action="Warning" />
<Rule Id="C28020" Action="Warning" />
<Rule Id="C28021" Action="Warning" />
<Rule Id="C28022" Action="Warning" />
<Rule Id="C28023" Action="Warning" />
<Rule Id="C28024" Action="Warning" />
<Rule Id="C28039" Action="Warning" />
<Rule Id="C28112" Action="Warning" />
<Rule Id="C28113" Action="Warning" />
<Rule Id="C28125" Action="Warning" />
<Rule Id="C28137" Action="Warning" />
<Rule Id="C28138" Action="Warning" />
<Rule Id="C28159" Action="Hidden" />
<Rule Id="C28160" Action="Warning" />
<Rule Id="C28163" Action="Warning" />
<Rule Id="C28164" Action="Warning" />
<Rule Id="C28182" Action="Warning" />
<Rule Id="C28183" Action="Warning" />
<Rule Id="C28193" Action="Warning" />
<Rule Id="C28196" Action="Warning" />
<Rule Id="C28202" Action="Warning" />
<Rule Id="C28203" Action="Warning" />
<Rule Id="C28205" Action="Warning" />
<Rule Id="C28206" Action="Warning" />
<Rule Id="C28207" Action="Warning" />
<Rule Id="C28209" Action="Warning" />
<Rule Id="C28210" Action="Warning" />
<Rule Id="C28211" Action="Warning" />
<Rule Id="C28212" Action="Warning" />
<Rule Id="C28213" Action="Warning" />
<Rule Id="C28214" Action="Warning" />
<Rule Id="C28215" Action="Warning" />
<Rule Id="C28216" Action="Warning" />
<Rule Id="C28217" Action="Warning" />
<Rule Id="C28218" Action="Warning" />
<Rule Id="C28219" Action="Warning" />
<Rule Id="C28220" Action="Warning" />
<Rule Id="C28221" Action="Warning" />
<Rule Id="C28222" Action="Warning" />
<Rule Id="C28223" Action="Warning" />
<Rule Id="C28224" Action="Warning" />
<Rule Id="C28225" Action="Warning" />
<Rule Id="C28226" Action="Warning" />
<Rule Id="C28227" Action="Warning" />
<Rule Id="C28228" Action="Warning" />
<Rule Id="C28229" Action="Warning" />
<Rule Id="C28230" Action="Warning" />
<Rule Id="C28231" Action="Warning" />
<Rule Id="C28232" Action="Warning" />
<Rule Id="C28233" Action="Warning" />
<Rule Id="C28234" Action="Warning" />
<Rule Id="C28235" Action="Warning" />
<Rule Id="C28236" Action="Warning" />
<Rule Id="C28237" Action="Warning" />
<Rule Id="C28238" Action="Warning" />
<Rule Id="C28239" Action="Warning" />
<Rule Id="C28240" Action="Warning" />
<Rule Id="C28241" Action="Warning" />
<Rule Id="C28243" Action="Warning" />
<Rule Id="C28244" Action="Warning" />
<Rule Id="C28245" Action="Warning" />
<Rule Id="C28246" Action="Warning" />
<Rule Id="C28250" Action="Warning" />
<Rule Id="C28251" Action="Warning" />
<Rule Id="C28252" Action="Warning" />
<Rule Id="C28253" Action="Warning" />
<Rule Id="C28254" Action="Warning" />
<Rule Id="C28262" Action="Warning" />
<Rule Id="C28263" Action="Warning" />
<Rule Id="C28267" Action="Warning" />
<Rule Id="C28272" Action="Warning" />
<Rule Id="C28273" Action="Warning" />
<Rule Id="C28275" Action="Warning" />
<Rule Id="C28279" Action="Warning" />
<Rule Id="C28280" Action="Warning" />
<Rule Id="C28282" Action="Warning" />
<Rule Id="C28285" Action="Warning" />
<Rule Id="C28286" Action="Warning" />
<Rule Id="C28287" Action="Warning" />
<Rule Id="C28288" Action="Warning" />
<Rule Id="C28289" Action="Warning" />
<Rule Id="C28290" Action="Warning" />
<Rule Id="C28291" Action="Warning" />
<Rule Id="C28300" Action="Warning" />
<Rule Id="C28301" Action="Warning" />
<Rule Id="C28302" Action="Warning" />
<Rule Id="C28303" Action="Warning" />
<Rule Id="C28304" Action="Warning" />
<Rule Id="C28305" Action="Warning" />
<Rule Id="C28306" Action="Warning" />
<Rule Id="C28307" Action="Warning" />
<Rule Id="C28308" Action="Warning" />
<Rule Id="C28309" Action="Warning" />
<Rule Id="C28350" Action="Warning" />
<Rule Id="C28351" Action="Warning" />
<Rule Id="C33001" Action="Warning" />
<Rule Id="C33004" Action="Warning" />
<Rule Id="C33005" Action="Warning" />
<Rule Id="C33010" Action="Warning" />
<Rule Id="C33011" Action="Warning" />
<Rule Id="C33020" Action="Warning" />
<Rule Id="C6001" Action="Warning" />
<Rule Id="C6011" Action="Warning" />
<Rule Id="C6029" Action="Warning" />
<Rule Id="C6031" Action="None" />
<Rule Id="C6053" Action="Warning" />
<Rule Id="C6054" Action="Warning" />
<Rule Id="C6059" Action="Warning" />
<Rule Id="C6063" Action="Warning" />
<Rule Id="C6064" Action="Warning" />
<Rule Id="C6066" Action="Warning" />
<Rule Id="C6067" Action="Warning" />
<Rule Id="C6101" Action="Warning" />
<Rule Id="C6200" Action="Warning" />
<Rule Id="C6201" Action="Warning" />
<Rule Id="C6214" Action="Warning" />
<Rule Id="C6215" Action="Warning" />
<Rule Id="C6216" Action="Warning" />
<Rule Id="C6217" Action="Warning" />
<Rule Id="C6220" Action="Warning" />
<Rule Id="C6226" Action="Warning" />
<Rule Id="C6230" Action="Warning" />
<Rule Id="C6235" Action="Warning" />
<Rule Id="C6236" Action="Warning" />
<Rule Id="C6237" Action="Warning" />
<Rule Id="C6242" Action="Warning" />
<Rule Id="C6248" Action="Warning" />
<Rule Id="C6250" Action="Warning" />
<Rule Id="C6255" Action="Warning" />
<Rule Id="C6258" Action="Warning" />
<Rule Id="C6259" Action="Warning" />
<Rule Id="C6260" Action="Warning" />
<Rule Id="C6262" Action="Warning" />
<Rule Id="C6263" Action="Warning" />
<Rule Id="C6268" Action="Warning" />
<Rule Id="C6269" Action="Warning" />
<Rule Id="C6270" Action="Warning" />
<Rule Id="C6271" Action="Warning" />
<Rule Id="C6272" Action="Warning" />
<Rule Id="C6273" Action="Warning" />
<Rule Id="C6274" Action="Warning" />
<Rule Id="C6276" Action="Warning" />
<Rule Id="C6277" Action="Warning" />
<Rule Id="C6278" Action="Warning" />
<Rule Id="C6279" Action="Warning" />
<Rule Id="C6280" Action="Warning" />
<Rule Id="C6281" Action="Warning" />
<Rule Id="C6282" Action="Warning" />
<Rule Id="C6283" Action="Warning" />
<Rule Id="C6284" Action="Warning" />
<Rule Id="C6285" Action="Warning" />
<Rule Id="C6286" Action="Warning" />
<Rule Id="C6287" Action="Warning" />
<Rule Id="C6288" Action="Warning" />
<Rule Id="C6289" Action="Warning" />
<Rule Id="C6290" Action="Warning" />
<Rule Id="C6291" Action="Warning" />
<Rule Id="C6292" Action="Warning" />
<Rule Id="C6293" Action="Warning" />
<Rule Id="C6294" Action="Warning" />
<Rule Id="C6295" Action="Warning" />
<Rule Id="C6296" Action="Warning" />
<Rule Id="C6297" Action="Warning" />
<Rule Id="C6299" Action="Warning" />
<Rule Id="C6302" Action="Warning" />
<Rule Id="C6303" Action="Warning" />
<Rule Id="C6305" Action="Warning" />
<Rule Id="C6306" Action="Warning" />
<Rule Id="C6308" Action="Warning" />
<Rule Id="C6310" Action="Warning" />
<Rule Id="C6312" Action="Warning" />
<Rule Id="C6314" Action="Warning" />
<Rule Id="C6317" Action="Warning" />
<Rule Id="C6318" Action="Warning" />
<Rule Id="C6319" Action="Warning" />
<Rule Id="C6324" Action="Warning" />
<Rule Id="C6328" Action="Warning" />
<Rule Id="C6331" Action="Warning" />
<Rule Id="C6332" Action="Warning" />
<Rule Id="C6333" Action="Warning" />
<Rule Id="C6335" Action="Warning" />
<Rule Id="C6381" Action="Warning" />
<Rule Id="C6383" Action="Warning" />
<Rule Id="C6384" Action="Warning" />
<Rule Id="C6388" Action="Warning" />
<Rule Id="C6500" Action="Warning" />
<Rule Id="C6501" Action="Warning" />
<Rule Id="C6503" Action="Warning" />
<Rule Id="C6504" Action="Warning" />
<Rule Id="C6505" Action="Warning" />
<Rule Id="C6506" Action="Warning" />
<Rule Id="C6508" Action="Warning" />
<Rule Id="C6509" Action="Warning" />
<Rule Id="C6510" Action="Warning" />
<Rule Id="C6511" Action="Warning" />
<Rule Id="C6513" Action="Warning" />
<Rule Id="C6514" Action="Warning" />
<Rule Id="C6515" Action="Warning" />
<Rule Id="C6516" Action="Warning" />
<Rule Id="C6517" Action="Warning" />
<Rule Id="C6518" Action="Warning" />
<Rule Id="C6522" Action="Warning" />
<Rule Id="C6525" Action="Warning" />
<Rule Id="C6527" Action="Warning" />
<Rule Id="C6530" Action="Warning" />
<Rule Id="C6540" Action="Warning" />
<Rule Id="C6551" Action="Warning" />
<Rule Id="C6552" Action="Warning" />
<Rule Id="C6701" Action="Warning" />
<Rule Id="C6702" Action="Warning" />
<Rule Id="C6703" Action="Warning" />
<Rule Id="C6704" Action="Warning" />
<Rule Id="C6705" Action="Warning" />
<Rule Id="C6706" Action="Warning" />
<Rule Id="C6993" Action="Warning" />
<Rule Id="C6995" Action="Warning" />
<Rule Id="C6997" Action="Warning" />
</Rules>
</RuleSet>

View File

@ -231,113 +231,6 @@
<ClCompile Include="..\src\WinControls\ReadDirectoryChanges\ReadDirectoryChangesPrivate.cpp" />
<ClCompile Include="..\src\WinControls\ReadDirectoryChanges\ReadFileChanges.cpp" />
</ItemGroup>
<ItemGroup>
<Image Include="..\src\icons\allChars_off.ico" />
<Image Include="..\src\icons\allChars_on.ico" />
<Image Include="..\src\icons\closeAll.bmp" />
<Image Include="..\src\icons\closefile.bmp" />
<Image Include="..\src\icons\closeTabButton.bmp" />
<Image Include="..\src\icons\closeTabButton_hover.bmp" />
<Image Include="..\src\icons\closeTabButton_inact.bmp" />
<Image Include="..\src\icons\closeTabButton_push.bmp" />
<Image Include="..\src\icons\copy.bmp" />
<Image Include="..\src\icons\cut.bmp" />
<Image Include="..\src\icons\cut_dis.ico" />
<Image Include="..\src\icons\cut_off.ico" />
<Image Include="..\src\icons\cut_on.ico" />
<Image Include="..\src\icons\delete.ico" />
<Image Include="..\src\icons\dupli_dis.ico" />
<Image Include="..\src\icons\dupli_off.ico" />
<Image Include="..\src\icons\dupli_on.ico" />
<Image Include="..\src\icons\find.bmp" />
<Image Include="..\src\icons\find_off.ico" />
<Image Include="..\src\icons\find_on.ico" />
<Image Include="..\src\icons\findrep_off.ico" />
<Image Include="..\src\icons\findrep_on.ico" />
<Image Include="..\src\icons\findReplace.bmp" />
<Image Include="..\src\icons\findResult.ico" />
<Image Include="..\src\icons\imprim_off.ico" />
<Image Include="..\src\icons\imprim_on.ico" />
<Image Include="..\src\icons\indentGuide.bmp" />
<Image Include="..\src\icons\indentGuide_off.ico" />
<Image Include="..\src\icons\indentGuide_on.ico" />
<Image Include="..\src\icons\invisibleChar.bmp" />
<Image Include="..\src\icons\new_off.ico" />
<Image Include="..\src\icons\new_on.ico" />
<Image Include="..\src\icons\newFile.bmp" />
<Image Include="..\src\icons\npp.ico" />
<Image Include="..\src\icons\open_off.ico" />
<Image Include="..\src\icons\open_on.ico" />
<Image Include="..\src\icons\openFile.bmp" />
<Image Include="..\src\icons\paste.bmp" />
<Image Include="..\src\icons\paste_dis.ico" />
<Image Include="..\src\icons\paste_off.ico" />
<Image Include="..\src\icons\paste_on.ico" />
<Image Include="..\src\icons\playRecord.bmp" />
<Image Include="..\src\icons\playrecord_dis.ico" />
<Image Include="..\src\icons\playRecord_m.bmp" />
<Image Include="..\src\icons\playrecord_m_dis.ico" />
<Image Include="..\src\icons\playrecord_m_off.ico" />
<Image Include="..\src\icons\playrecord_m_on.ico" />
<Image Include="..\src\icons\playrecord_off.ico" />
<Image Include="..\src\icons\playrecord_on.ico" />
<Image Include="..\src\icons\print.bmp" />
<Image Include="..\src\icons\readonly.ico" />
<Image Include="..\src\icons\redo.bmp" />
<Image Include="..\src\icons\redo_dis.ico" />
<Image Include="..\src\icons\redo_off.ico" />
<Image Include="..\src\icons\redo_on.ico" />
<Image Include="..\src\icons\save_dis.ico" />
<Image Include="..\src\icons\save_off.ico" />
<Image Include="..\src\icons\save_on.ico" />
<Image Include="..\src\icons\saveAll.bmp" />
<Image Include="..\src\icons\saveall_dis.ico" />
<Image Include="..\src\icons\saveall_off.ico" />
<Image Include="..\src\icons\saveall_on.ico" />
<Image Include="..\src\icons\saved.ico" />
<Image Include="..\src\icons\saveFile.bmp" />
<Image Include="..\src\icons\saveRecord.bmp" />
<Image Include="..\src\icons\saverecord_dis.ico" />
<Image Include="..\src\icons\saverecord_off.ico" />
<Image Include="..\src\icons\saverecord_on.ico" />
<Image Include="..\src\icons\showPannel.bmp" />
<Image Include="..\src\icons\startRecord.bmp" />
<Image Include="..\src\icons\startrecord_dis.ico" />
<Image Include="..\src\icons\startrecord_off.ico" />
<Image Include="..\src\icons\startrecord_on.ico" />
<Image Include="..\src\icons\stopRecord.bmp" />
<Image Include="..\src\icons\stoprecord_dis.ico" />
<Image Include="..\src\icons\stoprecord_off.ico" />
<Image Include="..\src\icons\stoprecord_on.ico" />
<Image Include="..\src\icons\supp_off.ico" />
<Image Include="..\src\icons\supp_on.ico" />
<Image Include="..\src\icons\suppall_off.ico" />
<Image Include="..\src\icons\suppall_on.ico" />
<Image Include="..\src\icons\syncH.bmp" />
<Image Include="..\src\icons\syncH_dis.ico" />
<Image Include="..\src\icons\syncH_off.ico" />
<Image Include="..\src\icons\syncH_on.ico" />
<Image Include="..\src\icons\syncV.bmp" />
<Image Include="..\src\icons\syncV_dis.ico" />
<Image Include="..\src\icons\syncV_off.ico" />
<Image Include="..\src\icons\syncV_on.ico" />
<Image Include="..\src\icons\undo.bmp" />
<Image Include="..\src\icons\undo_dis.ico" />
<Image Include="..\src\icons\undo_off.ico" />
<Image Include="..\src\icons\undo_on.ico" />
<Image Include="..\src\icons\unsaved.ico" />
<Image Include="..\src\icons\userDefineDlg_off.ico" />
<Image Include="..\src\icons\userDefineDlg_on.ico" />
<Image Include="..\src\icons\wrap.bmp" />
<Image Include="..\src\icons\wrap_off.ico" />
<Image Include="..\src\icons\wrap_on.ico" />
<Image Include="..\src\icons\zoomIn.bmp" />
<Image Include="..\src\icons\zoomIn_off.ico" />
<Image Include="..\src\icons\zoomIn_on.ico" />
<Image Include="..\src\icons\zoomOut.bmp" />
<Image Include="..\src\icons\zoomOut_off.ico" />
<Image Include="..\src\icons\zoomOut_on.ico" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\src\MISC\md5\md5Dlgs.rc" />
<ResourceCompile Include="..\src\WinControls\AnsiCharPanel\ansiCharPanel.rc" />
@ -366,11 +259,6 @@
<ResourceCompile Include="..\src\WinControls\ColourPicker\WordStyleDlg.rc" />
<ResourceCompile Include="..\src\WinControls\FileBrowser\fileBrowser.rc" />
</ItemGroup>
<ItemGroup>
<None Include="..\src\cursors\drag.cur" />
<None Include="..\src\cursors\drag_interdit.cur" />
<None Include="..\src\cursors\drag_plus.cur" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\clipboardFormats.h" />
<ClInclude Include="..\src\DarkMode\DarkMode.h" />
@ -535,6 +423,7 @@
<ItemGroup>
<Manifest Include="..\src\notepad++.exe.manifest" />
</ItemGroup>
<Import Project="notepadPlus.Resource.targets" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>