microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.73k stars 29.09k forks source link

'Go to Type Definition' not working if the definition file is a closed .ts file #58759

Closed two-bridges closed 6 years ago

two-bridges commented 6 years ago

Issue Type: Bug

The issue is as follows:

Notes:

I have disabled all extensions and the problem persists.

I have been coding all day and the problem only just started occurring after a restart. I assume that an update was to blame.

VS Code version: Code 1.27.2 (f46c4c469d6e6d8c46f268d1553c5dc4b475840f, 2018-09-12T16:17:45.060Z) OS version: Windows_NT x64 10.0.17134

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (8 x 4008)| |GPU Status|2d_canvas: enabled
checker_imaging: disabled_off
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
native_gpu_memory_buffers: disabled_software
rasterization: enabled
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled| |Memory (System)|31.69GB (21.41GB free)| |Process Argv|C:\Users\Dean\AppData\Local\Programs\Microsoft VS Code\Code.exe c:\code\yf\rpt-www| |Screen Reader|no| |VM|0%|
Extensions (39) Extension|Author (truncated)|Version ---|---|--- vscode-css-formatter|aes|1.0.1 sort-imports|ama|6.0.0 ng-template|Ang|0.1.10 angulardoc-vscode|Ang|6.0.6 vscode-intelephense-client|bme|0.8.8 phpserver|bra|2.4.6 solargraph|cas|0.17.6 npm-intellisense|chr|1.3.0 compulim-vscode-closetag|Com|1.2.0 smoothscroll|cya|1.0.4 angular2-snippets|dan|1.0.20 vscode-material2-snippets|dee|2.0.0 githistory|don|0.4.2 EditorConfig|Edi|0.12.4 tslint|eg2|1.0.39 vsc-material-theme|Equ|2.4.2 php-debug|fel|1.12.5 auto-close-tag|for|0.5.6 vscode-auto-open-markdown-preview|hnw|0.0.4 classic-asp|ili|0.0.4 smarty|imp|0.3.0 mysql-syntax|jak|1.3.1 Angular2|joh|6.1.5 expand-region|let|0.1.2 code-beautifier|mic|2.1.0 vscode-scss|mrm|0.6.2 csharp|ms-|1.16.1 PowerShell|ms-|1.8.4 vsliveshare|ms-|0.3.666 debugger-for-chrome|msj|4.10.1 laravel-blade|one|1.18.0 laravel-extension-pack|one|0.4.0 laravel5-snippets|one|1.5.0 ruby|reb|0.20.0 laravel-artisan|rya|0.0.22 aspnet-helper|sch|0.6.4 code-settings-sync|Sha|3.1.2 nativescript|Tel|0.8.1 nativescript-ng2-snippets|www|2.0.1
vscodebot[bot] commented 6 years ago

(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

two-bridges commented 6 years ago

this is not a duplicate of #58194. This is a typescript related issue. It's still occurring.

I just realised that it is not happening on some of my other TS projects. So, it's related to this project only, AFAIK.

I have been coding this project for over a year without any issues. I was coding on the weekend and it was working fine on Saturday but stopped working on Sunday...

Let me know if you need logs or perhaps I can debug the editor? Not sure how. I presume I'd need to load it in Electron or something.

mjbvz commented 6 years ago

First does this reproduce in the latest VS Code insiders build?

You can also run the Developer: toggle developer tools command in vscode and look in the dev tools console to see if any additional logs or stack traces are printed there

two-bridges commented 6 years ago

Thanks @mjbvz
I can confirm that the VS Code insiders build works perfectly.
Also, thanks for the 'toggle developer tools' tip. I'll try to debug and work out what's happening myself and let you what I find.

mjbvz commented 6 years ago

Ok, closing since it sounds like it is fixed in insiders. Let me know if you hit this again

two-bridges commented 6 years ago

no worries, thanks for the follow up.

I couldn't find the cause, but I know it is related to editorPart.groupViews has an undefined item in the array. I haven't determined how the undefined came about or why it only happens in one project. I have other fish to fry, so I'll stop looking for now.

two-bridges commented 6 years ago

@mjbvz I was able to fix the issue. FYI, it was due to a problem in the Local Storage value: storage://workspace/[path to my folder]/memento/workbench.parts.editor

I closed my folder; cleared the LocalStorage value above (using VSCode Developer Tools) and then re-opened the project. That fixed it.

Code error: Within workbench.parts.editor, there is a json value mostRecentActiveGroups. This value contained two array items. However, the EditorPart.groupViews member only contained a single item in the array. This caused EditorService.findTargetGroup() to fail on the group.isOpened() check.

I just wanted to document this in case it comes back again...

Cheers