yysun / git-tools

This extension provides a git changes tool window, a graphical git history viewer and menus to launch Git Bash, Git Extenstions and TortoiseGit.
http://yysun.github.com/git-tools
MIT License
78 stars 28 forks source link

Git Tools for Visual Studio 2022 #40

Open Dacke opened 3 years ago

Dacke commented 3 years ago

Please let me know when you will have this code migrated for Visual Studio 2022 so that it can be installed.

NightOwl888 commented 2 years ago

@yysun

Any chance this can be upgraded to VS 2022 soon? We are blocked from upgrading to VS 2022 because this tool is so crucial to our workflow. But that also means we are testing .NET 6 on a pre-release version because the production SDKs are not supported on VS 2019 (and .NET 5 is just 7 weeks away from end of support).

yysun commented 2 years ago

I haven’t used Visual Studio for a while. I will work on upgrading as soon as I can.

On Sun, Mar 20, 2022 at 5:10 AM Shad Storhaug @.***> wrote:

@yysun https://github.com/yysun

Any chance this can be upgraded to VS 2022 soon? We are blocked from upgrading to VS 2022 because this tool is so crucial to our workflow. But that also means we are testing .NET 6 on a pre-release version because the production SDKs are not supported on VS 2019 (and .NET 5 is just 7 weeks away from end of support https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core).

— Reply to this email directly, view it on GitHub https://github.com/yysun/git-tools/issues/40#issuecomment-1073206039, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABJUMYWDHNCDCGWEFNY6YTVA3TQ7ANCNFSM5IMRUSOQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

NightOwl888 commented 2 years ago

FYI - VS2019 now shows a message indicating it is no longer supported.

image

yysun commented 2 years ago

I was able to compile and see the extension installed in VS2022, but nowhere to find my menus or tool bar. It might be because VS2022 has its own 'Git Changes' tool window that causes conflict. However, I found the VS2022's built-in 'Git Changes' is remarkably similar to my extension (see screenshot below). I am wondering now do I need to continue to migrate this extension to VS2022?

image

NightOwl888 commented 2 years ago

Yes, I noticed they did that.

However, the performance of that window is unacceptably slow. It takes around 3-4 seconds just to display 1 file and there is no easy way to switch between files for review.

The Git Tools window takes less than a second to load and I can use the up and down arrows on the keyboard to quickly switch between files.

I often have a few dozen files that are being edited at a time, and I use Git Tools to preview the changes prior to checking them in. If there are a lot of files, I will use the down arrow key to switch between files to review them. Usually, I will quickly shift back and forth between files to determine which ones I will add to a commit. AFAIK, there is no way to do that in VS2022 and the 3-4 second delay just to view the changes in a file will turn a 45 minute review/commit into several hours.

Of course, I review the changes again in GitHub's preview window again after they are committed, but being able to catch things before they are committed saves a lot of time.

Dacke commented 2 years ago

I too tried using the Microsoft tool, but found that I liked yours better. Especially the visualization that you've done.

NightOwl888 commented 2 years ago

@yysun - Now that .NET 7 is out, we have a framework to support that won't even build in VS 2019, yet I am stuck on VS 2019 until this can be upgraded or I have a realistic alternative.

Any chance you can look into the menu issue and release this for VS 2022?

NightOwl888 commented 2 years ago

@Dacke, @yysun - I have fixed the menu issue in https://github.com/yysun/git-tools/pull/41. Here is a copy of the VS2022 VSIX that can be used until there is an official release.

VSIXProject2022.zip

asine commented 2 years ago

click "git changes",show error : SetSite failed for package [MyPackage]Source: GitApi2 Description: Git Executable not found

NightOwl888 commented 2 years ago

@asine

Looks like the paths are all defaulted:

https://github.com/yysun/git-tools/blob/49c0eb5cd3f09c8c9487eb4dcb49881718fc952b/GitApi/GitSccOptions.cs#L77-L97

I am not sure how you would override these, but if you can't the quick fix is to ensure Git is installed in the right location so it can be found.

NightOwl888 commented 2 years ago

The default settings also obviously won't work on a Mac.

asine commented 2 years ago

I debug it,can change file "GitSccOptions" at line 29:private static GitSccOptions gitSccOptions; change to private static GitSccOptions gitSccOptions = null; then 1. click menu "git changes" will show git change window.

  1. git tools will read config from file "gitscc.config". so,can override pre set path in the file,and resovle my problem. @yysun
jzoss commented 2 years ago

I am going to run some tests, and if they pass I will make a new release