madskristensen / HtmlTools

A Visual Studio extension
Other
8 stars 6 forks source link

Peek Definition and Go To Definition no longer work since upgrading to VS v15.8.1. #5

Closed graymatter00 closed 4 years ago

graymatter00 commented 6 years ago

Installed product versions

Description

Peek Definition and Go To Definition no longer work since upgrading to VS v15.8.1.

Steps to recreate

  1. Web application project, open a vbhtml file.
  2. Click within a class name, then right-click the class name.
  3. Select Go To Definition from the context menu

Current behavior

An error message is displayed (screenshot of error message pasted below.

Expected behavior

The CSS file should be displayed and the previously selected class should be selected.

image

jmalatia commented 6 years ago

+1

Not working in vs2017 v15.8.7 either with HTML Tools Extension v1.0.3

Oddly Shift+F12 (find all references) works though...

OkGoDoIt commented 5 years ago

Still broken as of 11/26/2018 on Visual Studio: 2017 v15.9.2

OkGoDoIt commented 5 years ago

I tried cloning and debugging locally. The error occurs at https://github.com/madskristensen/HtmlTools/blob/master/src/Commands/GoToDefinitionCommandTarget.cs#L95

On that line the CssParserLocator.FindComponent function loads some internal CSS parser via the assembly Microsoft.CSS.Editor.dll. The extension includes an outdated copy of this assembly, which I assume has fallen out of sync with the actual internal API for VS. The up-to-date assembly can be found on your machine at C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\Web Tools\Editors\Microsoft.CSS.Editor.dll, however CssParserLocator has been marked as internal and cannot be accessed. Not sure what can be done to fix this unless MSFT reverts the internal modifier of CssParserLocator

@madskristensen maybe you have some insight?

randyjeppesen commented 5 years ago

Anyone have a work around for this? My project has over 20 css files from theme vendors. It is time consuming trying to locate a specific css class. Does anyone know of an external tool or trick I can use while this remains broken?

OkGoDoIt commented 5 years ago

According to https://developercommunity.visualstudio.com/content/problem/314314/html-tools-peek-go-to-definition-for-class-names-f.html it’s being addressed on Microsoft’s side. Hopefully things will be working soon-ish.

tgioiosa commented 5 years ago

I reported this same issue to Microsoft just a few days ago (1/28/19). The response I got did not indicate that Microsoft is addressing anything on this, as they referred me to here. I don't think anyone at Microsoft will do anything about this problem.

Maybe @madskristensen will see these posts and suggest something?

This is the response I got from Microsoft today (1/30/19): image

graymatter00 commented 5 years ago

@tgioiosa, the developer community link they directed you to, https://developercommunity.visualstudio.com/content/problem/314314/html-tools-peek-go-to-definition-for-class-names-f.html, has this issue marked as "Fixed - Pending Release" as of December 12, 2018. So hopefully the fix will be included in a Visual Studio update soon.

graymatter00 commented 5 years ago

The Visual Studio 15.9.7 update has been released and still no fix provided for this problem, even though it was apparently fixed December last year. See https://developercommunity.visualstudio.com/content/problem/314314/html-tools-peek-go-to-definition-for-class-names-f.html

Very disappointing. What's going on?

tgioiosa commented 5 years ago

As I noted in my earlier comments, I don't believe Microsoft is doing ANYTHING about this issue. Their response to me was to point the finger at MadsKristensen for a fix. Microsoft is ignoring it.

graymatter00 commented 4 years ago

Update: The issue has been resolved. I'm not sure when, what or who fixed it. However, I can confirm that with Visual Studio 2019 version 16.7.3 and HTML Tools 2019 version1.0.2, the Peek Definition and Go To Definition work as expected.