diff --git a/CppCoveragePlugin.sln b/CppCoveragePlugin.sln index 8ec4057..33414b2 100644 --- a/CppCoveragePlugin.sln +++ b/CppCoveragePlugin.sln @@ -1,12 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29009.5 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2D036BFA-5FAC-467B-9648-5B2BBC5B872C}" ProjectSection(SolutionItems) = preProject - IntegrationTests.testsettings = IntegrationTests.testsettings - UnitTests.testsettings = UnitTests.testsettings + UnitTests.runsettings = UnitTests.runsettings EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSPackage", "VSPackage\VSPackage.csproj", "{DF742CAB-0446-4867-A437-719390CC028A}" @@ -37,4 +36,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1E333D91-8EDB-46BF-8025-24EB9E8DF2EC} + EndGlobalSection EndGlobal diff --git a/README.md b/README.md index f4f0aae..c7efeff 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ ![](https://github.com/OpenCppCoverage/OpenCppCoveragePlugin/workflows/Unit%20tests/badge.svg) -# OpenCppCoveragePlugin -Official Visual Studio Plugin for OpenCppCoverage +# OpenCppCoveragePlugin for VisualStudio2022 +This is a fork of [Official Visual Studio Plugin for OpenCppCoverage](https://github.com/OpenCppCoverage/OpenCppCoveragePlugin). +This works for me. But tests are broken. **OpenCppCoverage** is an open source code coverage tool for C++ under Windows. You can find more information about this project [here](https://opencppcoverage.codeplex.com/). @@ -8,54 +9,68 @@ This repository contains only the Visual Studio plugin sources. ## Usage -To install and use this plugin, please see the [Visual Studio Gallery page](https://visualstudiogallery.msdn.microsoft.com/f45b8e13-f847-4b3b-92df-984df633b60e). -You can also install the NuGet package **OpenCppCoverage Plugin**. +~~To install and use this plugin, please see the [Visual Studio Gallery page](https://visualstudiogallery.msdn.microsoft.com/f45b8e13-f847-4b3b-92df-984df633b60e). +You can also install the NuGet package **OpenCppCoverage Plugin**.~~ **Documentation is available [here](https://github.com/OpenCppCoverage/OpenCppCoveragePlugin/wiki)**. -For questions, you can create a discussion [here](https://opencppcoverage.codeplex.com/discussions). -If you find a bug, you can create an issue [here](https://opencppcoverage.codeplex.com/workitem/list/basic). +~~For questions, you can create a discussion [here](https://opencppcoverage.codeplex.com/discussions). +If you find a bug, you can create an issue [here](https://opencppcoverage.codeplex.com/workitem/list/basic).~~ ## Development ### Compilation -You have 2 Visual Studio solution files but **Visual Studio 2017 is always required**. -Please also make sure you have Visual Studio 2017 **version 15.8.X**. +You have 2 Visual Studio solution files but **Visual Studio 2022 is always required**. +Please also make sure you have Visual Studio 2022 **version 17.3.X**. #### CppCoveragePlugin.sln -This is the default solution file and it requires only Visual Studio 2017. +This is the default solution file and it requires only Visual Studio 2022. #### CppCoveragePluginVS2013.sln -**This is a Visual Studio 2017 solution file** but it also requires: - * Visual Studio 2013 Update 5. - * [Microsoft Visual Studio 2013 SDK](https://visualstudiogallery.msdn.microsoft.com/842766ba-1f32-40cf-8617-39365ebfc134/view/). If you have any trouble to install the SDK, [this stack overflow question](https://stackoverflow.com/questions/22949411/visual-studio-2012-install-fails-program-compatibility-mode-is-on/23114542) can help. - * Visual Studio 2015 Update 3 may be required. +~~**This is a Visual Studio 2017 solution file** but it also requires:~~ + * ~~Visual Studio 2013 Update 5.~~ + * ~~[Microsoft Visual Studio 2013 SDK](https://visualstudiogallery.msdn.microsoft.com/842766ba-1f32-40cf-8617-39365ebfc134/view/). If you have any trouble to install the SDK, [this stack overflow question](https://stackoverflow.com/questions/22949411/visual-studio-2012-install-fails-program-compatibility-mode-is-on/23114542) can help.~~ + * ~~Visual Studio 2015 Update 3 may be required.~~ -This solution should be used only to generate a plugin compatible with Visual Studio 2013, 2015 and 2017. +~~This solution should be used only to generate a plugin compatible with Visual Studio 2013, 2015 and 2017.~~ #### OpenCppCoverage -You should install the latest version of [OpenCppCoverage](https://github.com/OpenCppCoverage/OpenCppCoverage/releases/tag/release-0.9.7.0): +You should install the latest version of [OpenCppCoverage](https://github.com/OpenCppCoverage/OpenCppCoverage/releases/tag/release-0.9.9.0): * *OpenCppCoverageSetup-x64-X.X.X.exe*: into *VSPackage\OpenCppCoverage-x64* * *OpenCppCoverageSetup-x86-X.X.X.exe*: into *VSPackage\OpenCppCoverage-x86* You can also copy past the binaries from an existing installation into these folders. Binaries inside *VSPackage\OpenCppCoverage-x86* can be the same as *VSPackage\OpenCppCoverage-x64* (The opposite is not true). +You also should copy msvcp140.dll and vcruntime140.dll from +`C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE` +to +`\your\solution\directory\VSPackage\OpenCppCoverage-x64` and +`\your\solution\directory\VSPackage\OpenCppCoverage-x86`. + +You also should copy Newtonsoft.Json.dll from +`C:\Users\YourName\.nuget\packages\newtonsoft.json\13.0.1\lib\net45` +to +`\your\solution\directory\VSPackage\`. + ### Run the plugin * Set *VSPackage* as *StartUp Project*. * In *VSPackage Properties*, tab *Debug*: - * Select *Start external program* and set value to `C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe` (Update this path if you installed Visual Studio to another location). + * Select *Start external program* and set value to `C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe` (Update this path if you installed Visual Studio to another location). * Add `/RootSuffix Exp` as *Command line arguments*. If you have an issue when running the plugin, you can try to reset Visual Studio Experimental instance: -`"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VSSDK\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe" /Reset /VSInstance=15.0 /RootSuffix=Exp` +`"C:\Program Files\Microsoft Visual Studio\2022\Communityy\VSSDK\VisualStudioIntegration\Tools\Bin\CreateExpInstance.exe" /Reset /VSInstance=17.0 /RootSuffix=Exp` ### Run unit tests You can run the tests with *Test Explorer window*. -To run *VSPackage_IntegrationTests* you need to expand *Solution items* in *Solution Explorer* and set *Active Load and Web Test Settings* for *IntegrationTests.testsettings*. If you have a COM error when running tests, you can select *IntegrationTests.testsettings* file from Visual Studio menu: Test/Test Settings/Select Test Settings File. -For *VSPackage_UnitTests* you need to do the same but with *UnitTests.testsettings*. +~~To run *VSPackage_IntegrationTests* you need to expand *Solution items* in *Solution Explorer* and set *Active Load and Web Test Settings* for *IntegrationTests.testsettings*. If you have a COM error when running tests, you can select *IntegrationTests.testsettings* file from Visual Studio menu: Test/Test Settings/Select Test Settings File.~~ + +On Visual Studio 2022 *VSPackage_IntegrationTests* is broken because VSIDETestAdapter is deprecated and already erased. + +For *VSPackage_UnitTests* you need to do with *UnitTests.runsettings*. If a test failed, you can try to run it again. You can also reset Visual Studio Experimental instance. diff --git a/UnitTests.runsettings b/UnitTests.runsettings new file mode 100644 index 0000000..d07431c --- /dev/null +++ b/UnitTests.runsettings @@ -0,0 +1,113 @@ + + + + + + 1 + + .\TestResults + + + + + x64 + + + + net472 + + + . + + + + 500000 + + + + true + + + + + + + + + + + .*CPPUnitTestFramework.* + + + + + True + True + True + False + + + + + + + + + + + ​ + ​ + ​ + + + + + + + + + + + + + + + + + + + + + + + quiet + + + + + foo.trx + + + + + foo.html + + + + + + + + + + + True + false + False + False + + + + + + \ No newline at end of file diff --git a/VSPackage/VSPackage.csproj b/VSPackage/VSPackage.csproj index 57ff6a7..7a0a830 100644 --- a/VSPackage/VSPackage.csproj +++ b/VSPackage/VSPackage.csproj @@ -60,66 +60,11 @@ true - - False - - - False - - - ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll - True - - - ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll - True - - - ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll - True - - - False - ..\packages\Google.ProtocolBuffers.2.4.1.555\lib\net40\Google.ProtocolBuffers.dll - False ..\Externals\ICSharpCode.TreeView.dll - - ..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll - True - - - False - - - - - - - - - - True - - - True - - - - - - - - - - True - - - ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll - @@ -131,10 +76,6 @@ - - ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll - True - @@ -243,7 +184,6 @@ - Designer @@ -280,27 +220,15 @@ true - - true - - - true - + + true - - true - - - true - - - true - - - true - + + + + true @@ -367,9 +295,7 @@ true - - true - + true @@ -397,9 +323,15 @@ true + + true + + + + true @@ -427,6 +359,7 @@ true + true @@ -467,9 +400,6 @@ true - - true - true @@ -485,24 +415,6 @@ true - - true - - - true - - - true - - - true - - - true - - - true - true @@ -579,13 +491,35 @@ false + + + 1.3.0 + + + 2.4.1.555 + + + 17.3.32804.24 + + + 17.4.2118 + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + 5.3.0 + + + 13.0.1 + + true - "$(SolutionDir)packages\Google.ProtocolBuffers.2.4.1.555\tools\ProtoGen.exe" --proto_path="$(SolutionDir)VSPackage\CoverageData" -namespace=OpenCppCoverage.VSPackage.CoverageData.ProtoBuff -output_directory="$(ProjectDir)CoverageData" CoverageData.proto + %25USERPROFILE%25"\.nuget\packages\google.protocolbuffers\2.4.1.555\tools\ProtoGen.exe" --proto_path="$(SolutionDir)VSPackage\CoverageData" -namespace=OpenCppCoverage.VSPackage.CoverageData.ProtoBuff -output_directory="$(ProjectDir)CoverageData" CoverageData.proto for /f "usebackq tokens=*" %25%25i in (`"%25ProgramFiles(x86)%25\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.Component.MSBuild -find VSSDK\VisualStudioIntegration\Tools\Bin\VsixColorCompiler.exe`) do ( "%25%25i" "$(ProjectDir)\Themes.xml" "$(ProjectDir)\Themes.pkgdef" /noLogo diff --git a/VSPackage/packages.config b/VSPackage/packages.config deleted file mode 100644 index 691fea5..0000000 --- a/VSPackage/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/VSPackage/source.extension.vsixmanifest b/VSPackage/source.extension.vsixmanifest index 8a3d997..bbbbdee 100644 --- a/VSPackage/source.extension.vsixmanifest +++ b/VSPackage/source.extension.vsixmanifest @@ -13,6 +13,12 @@ + + amd64 + + + amd64 + diff --git a/VSPackage_IntegrationTests/VSPackage_IntegrationTests.csproj b/VSPackage_IntegrationTests/VSPackage_IntegrationTests.csproj index bdadb4a..1051b2c 100644 --- a/VSPackage_IntegrationTests/VSPackage_IntegrationTests.csproj +++ b/VSPackage_IntegrationTests/VSPackage_IntegrationTests.csproj @@ -38,32 +38,12 @@ true - - ..\Externals\ICSharpCode.TreeView.dll - - - - - - - - - - - - - - True - - - - ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll - + @@ -88,7 +68,6 @@ - @@ -96,7 +75,19 @@ VSPackage - + + + 17.3.32804.24 + + + 17.4.2118 + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + 13.0.1 + + Echo Update "$(TargetDir)" diff --git a/VSPackage_IntegrationTests/packages.config b/VSPackage_IntegrationTests/packages.config deleted file mode 100644 index a9de8b5..0000000 --- a/VSPackage_IntegrationTests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/VSPackage_UnitTests/VSPackage_UnitTests.csproj b/VSPackage_UnitTests/VSPackage_UnitTests.csproj index 122903b..9c3efa4 100644 --- a/VSPackage_UnitTests/VSPackage_UnitTests.csproj +++ b/VSPackage_UnitTests/VSPackage_UnitTests.csproj @@ -1,6 +1,5 @@  - Debug AnyCPU @@ -43,36 +42,12 @@ - - ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll - True - - - True - - - True - - - False - ..\packages\Google.ProtocolBuffers.2.4.1.555\lib\net40\Google.ProtocolBuffers.dll - ..\Externals\ICSharpCode.TreeView.dll - - True - - + - - ..\packages\Moq.4.5.9\lib\net45\Moq.dll - True - - - ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll - @@ -84,7 +59,6 @@ - @@ -114,11 +88,30 @@ + + + 3.3.3 + + + 17.3.32804.24 + + + 17.4.2118 + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + 4.5.9 + + + 13.0.1 + + + 4.7.922 + + + 4.3.2 + + - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - \ No newline at end of file diff --git a/VSPackage_UnitTests/packages.config b/VSPackage_UnitTests/packages.config deleted file mode 100644 index 1672bb7..0000000 --- a/VSPackage_UnitTests/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file