From 34545beddd4f0e00cb7fd785365b34bd61795c06 Mon Sep 17 00:00:00 2001 From: ozone10 Date: Thu, 23 Feb 2023 18:22:15 +0100 Subject: [PATCH] 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 --- PowerEditor/visual.net/notepadPlus.Cpp.props | 27 +- .../visual.net/notepadPlus.Resource.targets | 122 +++++++ PowerEditor/visual.net/notepadPlus.ruleset | 324 ++++++++++++++++++ PowerEditor/visual.net/notepadPlus.vcxproj | 113 +----- 4 files changed, 470 insertions(+), 116 deletions(-) create mode 100644 PowerEditor/visual.net/notepadPlus.Resource.targets create mode 100644 PowerEditor/visual.net/notepadPlus.ruleset diff --git a/PowerEditor/visual.net/notepadPlus.Cpp.props b/PowerEditor/visual.net/notepadPlus.Cpp.props index 8eaeb4b1e..7df12d962 100644 --- a/PowerEditor/visual.net/notepadPlus.Cpp.props +++ b/PowerEditor/visual.net/notepadPlus.Cpp.props @@ -1,22 +1,30 @@ + + ..\..\lexilla\include;..\..\scintilla\include;..\src\tinyxml;..\src\tinyxml\tinyXmlA;..\src\uchardet;..\src\json;$(ExternalIncludePath) + false + true + notepadPlus.ruleset + true - false + + + true false true - false false true + true - ..\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) + ..\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) 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) Async Level4 @@ -25,11 +33,16 @@ ProgramDatabase true 4456;4457;4459 + /w15262 %(AdditionalOptions) true stdcpp20 + true + true + + NativeRecommendedRules.ruleset - 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) + 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) LinkVerboseLib $(OutDir)notepad++.exe 1.0 @@ -62,6 +75,12 @@ $(OutDir)notepadPlus.pdb + + + /Zc:strictStrings /analyze:WX- %(AdditionalOptions) + true + + MaxSpeed diff --git a/PowerEditor/visual.net/notepadPlus.Resource.targets b/PowerEditor/visual.net/notepadPlus.Resource.targets new file mode 100644 index 000000000..5a5dc5a46 --- /dev/null +++ b/PowerEditor/visual.net/notepadPlus.Resource.targets @@ -0,0 +1,122 @@ + + + + + + + + + + <_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" /> + + + <_ResourceNone Include="..\src\cursors\drag.cur" /> + <_ResourceNone Include="..\src\cursors\drag_interdit.cur" /> + <_ResourceNone Include="..\src\cursors\drag_plus.cur" /> + + \ No newline at end of file diff --git a/PowerEditor/visual.net/notepadPlus.ruleset b/PowerEditor/visual.net/notepadPlus.ruleset new file mode 100644 index 000000000..94889ff77 --- /dev/null +++ b/PowerEditor/visual.net/notepadPlus.ruleset @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/PowerEditor/visual.net/notepadPlus.vcxproj b/PowerEditor/visual.net/notepadPlus.vcxproj index dd0b86f75..a75ea97a0 100755 --- a/PowerEditor/visual.net/notepadPlus.vcxproj +++ b/PowerEditor/visual.net/notepadPlus.vcxproj @@ -231,113 +231,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -366,11 +259,6 @@ - - - - - @@ -535,6 +423,7 @@ +