testcop / Resharper.TestCop

A Jetbrains Resharper Plugin to help you to switch between code and test classes (+more)
BSD 3-Clause "New" or "Revised" License
32 stars 13 forks source link

R# 2021.2.x Support #72

Closed Mike-E-angelo closed 2 years ago

Mike-E-angelo commented 3 years ago

PLEASEEEEEEEEEEEEEEEEEEEEEEEEEEE :) :) :)

https://blog.jetbrains.com/dotnet/2021/08/03/resharper-2021-2-release/

matkoch commented 3 years ago

Just an FYI for everyone: we made the offer to maintain and upgrade the plugin, but unfortunately it was not taken yet.

Mike-E-angelo commented 3 years ago

@matkoch maybe fork this project and create an unofficial release in the meantime? It seems @testcop has abandoned this project. 😭😭😭

Btw recall our conversation in TestLinker re: assembly attribute hints? https://github.com/matkoch/resharper-testlinker/issues/10#issuecomment-633994792

(I would have brought this up there but you archived it 😞)

Turns out ReSharper Helpers does exactly that. 😀 It doesn't do folders however, but I am hoping that will change. Then everything will finally be copasetic in my world for one of the most obvious features of testing/development. 🤞🙏

testcop commented 3 years ago

back online

matkoch commented 3 years ago

can you please also assign me as developer in the jetbrains plugins marketplace? otherwise i can't upload anything. my account should be matkoch or matthias.koch@jetbrains.com

matkoch commented 3 years ago

all set. fyi, i can take a look in just about two weeks, since i'm on vacation from today.

testcop commented 3 years ago

I will have try in the meanwhile. I did a quick compile but it was complaining about .Net versions...

matkoch commented 3 years ago

you must update tfms to net472

On Sat 4. Sep 2021 at 19:52, Reporting for duty @.***> wrote:

I will have try in the meanwhile. I did a quick compile but it was complaining about .Net versions...

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/testcop/Resharper.TestCop/issues/72#issuecomment-913013276, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGGB7QVJVB2SNJQVKS4SJ3UAJMEBANCNFSM5BPDCMWA .

testcop commented 3 years ago

@rayphi Thanks for PR. I think it would have taken me a while to figure out the old assembly redirects...

Submitted to R# plugin repo for review....now I need to see if Jetbrains will extend my R# license...

rklec commented 3 years ago

You can close this issue then, can't you?

Mike-E-angelo commented 3 years ago

FWIW I am seeing this after installing in VS2022:

Method not found: 'EnvDTE.Commands EnvDTE._DTE.get_Commands()'.

--- EXCEPTION #1/2 [MissingMethodException]
Message = “Method not found: 'EnvDTE.Commands EnvDTE._DTE.get_Commands()'.”
ExceptionPath = Root.InnerException
ClassName = System.MissingMethodException
Data.ThreadLocalDebugInfo = “Print TestCop keyboard shortcut”
Data.ReentrancyGuard.ActionName = “Print TestCop keyboard shortcut”
HResult = COR_E_MISSINGMETHOD=80131513
Source = Resharper.Testcop
StackTraceString = “
  at TestCop.Plugin.Helper.DTEHelper.PrintoutKeyboardShortcut(Boolean showOutputPane, String macroName, String keyboardShortcut)
     at TestCop.Plugin.Helper.ResharperHelper.<>c.<PrintKeyboardBindings>b__4_0()
     at JetBrains.Threading.ReentrancyGuardEx.<>c__DisplayClass0_1.<Queue>b__3()
     at JetBrains.Util.Concurrency.ExecutionContextEx.<>c__DisplayClass0_0.<Run>b__0(Object _)
     at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
     at JetBrains.Util.Concurrency.ExecutionContextEx.Run(ExecutionContext context, ContextCallback callback, Object state)
     at JetBrains.Threading.ReentrancyGuard.Execute(String name, Action action)
”

--- Outer ---

--- EXCEPTION #2/2 [LoggerException]
Message = “Method not found: 'EnvDTE.Commands EnvDTE._DTE.get_Commands()'.”
ExceptionPath = Root
ClassName = JetBrains.Util.LoggerException
Data.ManagedThreadName = <NULL>
Data.LastExtension = razor
Data.HostProductInfo = “JetBrains ReSharper 2021.2 EXP 02 Build 212.0.20210913.72136-exp02”
Data.SubProducts.#0 = “JetBrains dotCover 2021.2 EXP 02 Build 2021.2.20210913.75627-exp02”
Data.SubProducts.#1 = “JetBrains dotTrace 2021.2 EXP 02 Build 2021.2.20210913.75629-exp02”
Data.SubProducts.#2 = “JetBrains ReSharper 2021.2 EXP 02 Build 2021.2.20210913.74847-exp02”
Data.SubProducts.#3 = “JetBrains dotMemory 2021.2 EXP 02 Build 2021.2.20210913.75518-exp02”
Data.SccRevisionProducts = “
  dotCover\Core,
  dotMemory\Presentation,
  dotTrace\Ide\VisualStudio,
  ReSharper\src:
    git::refs/heads/net212-eap1-dev17::19baf4c6b5adae8a446f9e714400563023fe49f8
”
Data.RuntimePlatform = Windows
Data.OsVersion = “Microsoft Windows NT 10.0.19043.0”
Data.DotNetFramework = “Microsoft .NET Framework 4.8.04084 Release 528372”
Data.SccRevisionEnv = “
  Platform\Core\Shell:
    git::refs/heads/net212-eap1-dev17

  Platform\VisualStudio\JustVs17:
    git::refs/heads/net212-eap1-dev17::b5c1692b4d28fb23a6292af661f89555ac8e4ca9
”
Data.VsVersion = 17.0.31710.8
Data.VsPreview = True
InnerException = “Exception #1 at Root.InnerException”
HResult = COR_E_APPLICATION=80131600
StackTraceString = “
  at JetBrains.Util.LoggerBase.Log(LoggingLevel level, String message, Exception ex)
     at JetBrains.Util.Logging.Logger.LogException(Exception ex)
     at JetBrains.Threading.ReentrancyGuard.Execute(String name, Action action)
     at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions()
     at JetBrains.Util.Concurrency.ExecutionContextEx.<>c__DisplayClass0_0.<Run>b__0(Object _)
     at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
     at JetBrains.Util.Concurrency.ExecutionContextEx.Run(ExecutionContext context, ContextCallback callback, Object state)
     at JetBrains.Threading.JetDispatcher.Closure.Execute()
     at JetBrains.Util.Concurrency.WinJetDispatcher.ProcessQueue(Int32 nMinBucket)
     at System.Windows.Threading.DispatcherOperation.InvokeDelegateCore()
     at System.Windows.Threading.DispatcherOperation.InvokeImpl()
     at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
     at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
     at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
     at System.Windows.Threading.DispatcherOperation.Invoke()
     at System.Windows.Threading.Dispatcher.ProcessQueue()
     at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
     at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
     at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
     at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
     at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
     at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
     at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
”
testcop commented 3 years ago

I have hidden the plugin release for now. It didn't happen on my pc but I only have vs2017.

I will see if I can just wrap these calls in exception handlers.

Mike-E-angelo commented 3 years ago

No worries @testcop the current R# VS2022 version is EAP. :)

testcop commented 3 years ago

Does it work fine for you in other versions is VS?

Mike-E-angelo commented 3 years ago

Unfortunately, I am VS2022-only as my solution was running into very bad problems with VS2019. Razor's tooling in that version had some major defects that caused incredibly out-of-control memory leaks for large solutions.

(I have since also cleaned my development machine to where it is VS2022-only as well.)

testcop commented 3 years ago

okay - I am going to download the community edition of VS2022 and give it a go..

rayphi commented 3 years ago

@Mike-E-angelo are there actually any working R# Plugins for VS2022? @testcop for VS2019 everything works fine - have you removed the update from the R# Plugin Marketplace?

Mike-E-angelo commented 3 years ago

There are a few glitches @rayphi (this being one of them) but for the most part yes they all work surprisingly well, as does R#. :)

testcop commented 3 years ago

I did remove from the marketplace.

schuettecarsten commented 3 years ago

Keep in mind that VS2022 is preview and the R# build for VS2022 is also only a 64bit recompile of 2021.2. The EAP for 2021.3 will start in a month or so, so I think its worth to wait for the EAP. Having a working VS2019 build in the Jetbrains Marketplace is more important than VS2022.

Mike-E-angelo commented 3 years ago

Nodding along in agreement, @schuettecarsten. FWIW my intent was to inform and not to demand. 😁

testcop commented 3 years ago

@Mike-E-angelo how did you get resharper and VS2022 working together? The r# installer is saying it can't be installed with VS2022 professional or community..

Mike-E-angelo commented 3 years ago

Are you using the EAP here, @testcop? https://resharper-support.jetbrains.com/hc/en-us/articles/4404930135570

If you are using that and are experiencing those issues then I am unsure what the problem could be. I would file an issue on YouTrack if so, as they are super active there.

Ian1971 commented 3 years ago

Just to confirm TestCop is now again available to r# in vs2019. Thanks for sorting I was lost with ctrl-g ctrl-t.

testcop commented 3 years ago

pushed to Jetbrains... "TestCop for ReSharper 2021.2 1.10.15.1-EAP" @rayphi

rayphi commented 3 years ago

Yeah, I've also just delivered some bugfixes in PR #82 so with the next version everything will now work again with VS2022

testcop commented 3 years ago

@rayphi I think we knew this might happen... DTE2 change in VS2017...

Could not load file or assembly 'Microsoft.VisualStudio.Interop, Version=17.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

--- EXCEPTION #1/2 [FileNotFoundException] Message = “Could not load file or assembly 'Microsoft.VisualStudio.Interop, Version=17.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.” ExceptionPath = Root.InnerException ClassName = System.IO.FileNotFoundException Data.ThreadLocalDebugInfo = “force TestCop keyboard shortcut” Data.ReentrancyGuard.ActionName = “force TestCop keyboard shortcut”

rayphi commented 3 years ago

Hmm I'm not sure if there are any other possibilities but it seems like we'll have to have a version for 2019 and below and one for 2022 and later. https://youtu.be/2c-4uZc0rq0