vs-chromium
vs-chromium copied to clipboard
Enable support for Visual Studio 2022
This approach follows the guidelines from https://github.com/microsoft/VSExtensibility/wiki.
Notable changes:
- Dropped support for Visual Studio 2015 *.
- Now builds in Visual Studio 2019.
- Upgraded to .NET Framework 4.7.2.
- Upgraded to C++ toolset v142.
- Moved all dependencies to PackageReference-style (maintaining the same version where possible).
- Upgraded to newer style VSSDK (from NuGet packages).
- Moved common files to a shared project and added "head" projects for pre-17 and 17-and-on versions of VSIX.
- Added temporary code analysis suppression for some newly-enabled (with the SDK update) VSSDK and VSTHRD checkers.
* Supporting Visual Studio 2015 and Visual Studio 2022 in one solution does not appear to be easy, so would incur higher maintenance cost. I propose that limiting the support to the three most recent major versions is acceptable.
Minor changes:
- EnumerableExtensions.ToHashSet is now superseded with the built-in support (.NET Framework 4.7.2 and newer).
- Updated test mocks for Dialog with test-provided JoinableTaskContext.
- Updated the test project to deploy the necessary binding redirects.
All tests pass.
Verified basic functionality (Search, Source Explorer) on:
- Visual Studio 2017 (15.9.36)
- Visual Studio 2019 (31409.95.d16.11)
- Visual Studio 2022 (31409.368.d17.0)
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it!
and we'll verify it.
What to do if you already signed the CLA
Individual signers
- It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.
Corporate signers
- Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
- The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
- The email used to register you as an authorized contributor must also be attached to your GitHub account.
ℹ️ Googlers: Go here for more info.
@googlebot I signed it!
@rpaquay You're the only contributor with any activity in the past year. Is this project effectively dead? I find the full text engine search to be just about the most important VS extension I have, and I would love to see it work with VS2022.
@paulirish I hate to drag you into this thread, but your avatar was the first one I clicked on in the greater Chromium project. Can you answer my question above as to whether this project is effectively dead? It's a great extension just for the search capability alone.
Hi there @moswald,
The project is not dead, I just have not had time to look at this PR and I thought VS 2022 was not released yet, so I did not think this was urgent.
Also, big thank you too @LukaszMendakiewicz for creating this PR.
tldr: I will take a look at this shortly.
I thought VS 2022 was not released yet
Visual Studio 2022 is currently available in Preview: https://visualstudio.microsoft.com/vs/preview/vs2022/
@rpaquay Thanks! Again, sorry to be a bother! I'm keen to put the vs2022 preview through its paces and this extension is super useful to me.
That would be great to merge :)
I ran into a few issues with building this on VS 2019, which is why there is a delay. I will try to get back to it soon.
Today VS22 has officially launched. Can't wait to install VS Chromium. Without it VS is just not complete.
I can't wait for this to get merged!
Why is approving this PR postponed?
I applied the PR to a side branch, and created a pre-release for it: https://github.com/chromium/vs-chromium/releases/tag/v0.9.38.
I have not had time to do a lot of testing, but it seems to work on VS 2022 Final.
Please open bugs if you see issues.
The reason this has been delayed is that I am having issues running tests in VS2022, and I am still getting errors during build that I don't understand, even though these errors don't seem to prevent building a working VSIX file.
Unfortunatley this VIX does not see VS2022.
Darn, wrong file. I created another release for vs2022 (https://github.com/chromium/vs-chromium/releases/tag/v0.9.39).
Now it is working, but the names are swapped. VsChromium-0.9.39.vsix is for VS2022, VsChromium-Pre-VS2022-0.9.39.vsix is for VS2019.
I'm getting https://github.com/chromium/vs-chromium/issues/80 with the VS2022 release version one, and when I try to run the host process manually (by double-clicking) I get an array out of bounds exception:
Details
Microsoft Visual Studio Enterprise 2022
Version 17.0.1
VisualStudio.17.Release/17.0.1+31912.275
Microsoft .NET Framework
Version 4.8.04161
Installed Version: Enterprise
Visual C++ 2022 00476-80000-00000-AA565
Microsoft Visual C++ 2022
ASP.NET and Web Tools 2019 17.0.789.48259
ASP.NET and Web Tools 2019
Azure App Service Tools v3.0.0 17.0.789.48259
Azure App Service Tools v3.0.0
C# Tools 4.0.1-1.21561.4+add472bbed002fcea9232e89793d0762cc71c5cf
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Common Azure Tools 1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Microsoft Visual C++ Wizards 1.0
Microsoft Visual C++ Wizards
Microsoft Visual Studio VC Package 1.0
Microsoft Visual Studio VC Package
NuGet Package Manager 6.0.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/
ProjectServicesPackage Extension 1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
Test Adapter for Boost.Test 1.0
Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.
Test Adapter for Google Test 1.0
Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory.
TypeScript Tools 17.0.1001.2002
TypeScript Tools for Microsoft Visual Studio
Visual Basic Tools 4.0.1-1.21561.4+add472bbed002fcea9232e89793d0762cc71c5cf
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual C++ for Cross Platform Mobile Development (Android) 17.0.31822.380
Visual C++ for Cross Platform Mobile Development (Android)
Visual Studio Code Debug Adapter Host Package 1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
Visual Studio IntelliCode 2.2
AI-assisted development for Visual Studio.
Visual Studio Tools for CMake 1.0
Visual Studio Tools for CMake
VsChromium 0.9.39
Collection of tools to help contributing code to the Chromium project.
I'm getting #80 with the VS2022 release version one, and when I try to run the host process manually (by double-clicking) I get an array out of bounds exception:
That has been an issue with previous versions too and it shows after VS installer restarts it after an update. It's not a big deal and shouldn't be a blocker considering it's not a new issue.
Thank you @petternilsen . I couldn't get it to resolve, but not it's suddenly working again. Sorry for the noise.
Is there anything I can do to help get this PR accepted?
@LukaszMendakiewicz
No, I already merged it in a separate branch (https://github.com/chromium/vs-chromium/commits/pr79-add-vs2022-support) then made a couple of fixes related to package versions (see https://github.com/chromium/vs-chromium/commit/213dba264f5d732908b40b77751a3ceb915e49a8)
My plan it to merge that branch to master at some point.
Hey, is there anything still preventing this from getting merged into master and making an official binary release?
The pre-release build works. But any plans for merging this to the main branch?
The pre-release build works. But any plans for merging this to the main branch?
No, it does not work well in VS 2022. The settings for visualising code issues, that break the chromium code style, are not working.