vs-chromium icon indicating copy to clipboard operation
vs-chromium copied to clipboard

Enable support for Visual Studio 2022

Open LukaszMendakiewicz opened this issue 3 years ago • 24 comments

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)

LukaszMendakiewicz avatar Jun 17 '21 19:06 LukaszMendakiewicz

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
Corporate signers

ℹ️ Googlers: Go here for more info.

google-cla[bot] avatar Jun 17 '21 19:06 google-cla[bot]

@googlebot I signed it!

LukaszMendakiewicz avatar Jun 18 '21 03:06 LukaszMendakiewicz

@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.

moswald avatar Jul 20 '21 15:07 moswald

@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.

moswald avatar Jul 21 '21 16:07 moswald

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.

rpaquay avatar Jul 21 '21 16:07 rpaquay

I thought VS 2022 was not released yet

Visual Studio 2022 is currently available in Preview: https://visualstudio.microsoft.com/vs/preview/vs2022/

LukaszMendakiewicz avatar Jul 21 '21 17:07 LukaszMendakiewicz

@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.

moswald avatar Jul 21 '21 18:07 moswald

That would be great to merge :)

yuyoyuppe avatar Sep 01 '21 13:09 yuyoyuppe

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.

rpaquay avatar Sep 01 '21 15:09 rpaquay

Today VS22 has officially launched. Can't wait to install VS Chromium. Without it VS is just not complete.

DaveSenn avatar Nov 08 '21 20:11 DaveSenn

I can't wait for this to get merged!

ongamex avatar Nov 18 '21 18:11 ongamex

Why is approving this PR postponed?

sergio-nsk avatar Nov 19 '21 16:11 sergio-nsk

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.

rpaquay avatar Nov 19 '21 21:11 rpaquay

Unfortunatley this VIX does not see VS2022.

image

sergio-nsk avatar Nov 19 '21 21:11 sergio-nsk

Darn, wrong file. I created another release for vs2022 (https://github.com/chromium/vs-chromium/releases/tag/v0.9.39).

rpaquay avatar Nov 19 '21 22:11 rpaquay

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.

sergio-nsk avatar Nov 19 '21 23:11 sergio-nsk

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:

image

image

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.

atorstling-mojang avatar Dec 02 '21 16:12 atorstling-mojang

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.

petternilsen avatar Dec 03 '21 07:12 petternilsen

Thank you @petternilsen . I couldn't get it to resolve, but not it's suddenly working again. Sorry for the noise.

atorstling-mojang avatar Dec 06 '21 12:12 atorstling-mojang

Is there anything I can do to help get this PR accepted?

LukaszMendakiewicz avatar Jan 10 '22 20:01 LukaszMendakiewicz

@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.

rpaquay avatar Jan 11 '22 19:01 rpaquay

Hey, is there anything still preventing this from getting merged into master and making an official binary release?

yuriy-odonnell-epic avatar May 19 '22 14:05 yuriy-odonnell-epic

The pre-release build works. But any plans for merging this to the main branch?

savage309 avatar Jul 18 '22 00:07 savage309

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.

sergio-nsk avatar Jul 18 '22 01:07 sergio-nsk