Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Go to symbol in workspace gets borked when large TypeScript codebases are still loading #58560

Closed
DanielRosenwasser opened this issue Sep 12, 2018 · 5 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug important Issue identified as high-priority typescript Typescript support issues verification-steps-needed Steps to verify are needed for verification verified Verification succeeded

Comments

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented Sep 12, 2018

Noticed this with @ahejlsberg

  1. Clone https://github.com/Microsoft/TypeScript
  2. Open Code in src/compiler.
  3. Open checker.ts
  4. Use go-to-symbol-in-workspace (Ctrl+T) and type in inferType in the 5-6 seconds before colorization finishes and TypeScript loads the project.
  5. Let the project load
  6. Try using go-to-symbol-in-workspace is borked. Results don't get populated in the pane.
@vscodebot vscodebot bot added the typescript Typescript support issues label Sep 12, 2018
@mjbvz mjbvz added the bug Issue identified by VS Code Team member as probable bug label Sep 13, 2018
@mjbvz
Copy link
Contributor

mjbvz commented Sep 13, 2018

Adding @joaomoreno and @bpasero since this looks like an issue in vscode core (the TS workspace symbol provider is never invoked here). In the file openSymbolHandler.ts in getResults, we end up not re-invoking doGetResults. When debugging I never see the delayer triggering again

@mjbvz mjbvz assigned joaomoreno and unassigned jrieken Sep 13, 2018
@joaomoreno joaomoreno removed their assignment Sep 14, 2018
@bpasero bpasero removed their assignment Sep 14, 2018
@bpasero bpasero added the important Issue identified as high-priority label Sep 14, 2018
@bpasero bpasero added this to the September 2018 milestone Sep 14, 2018
@bpasero
Copy link
Member

bpasero commented Sep 14, 2018

@mjbvz I looked into this with @joaomoreno and we figured out that the promise to getWorkspaceSymbols() seems to be hanging and never returns. The code in the quick open handler will not start another search if one does not return so this seems to be a bug in the logic that handles cancellation in TypeScript.

@mjbvz mjbvz closed this as completed in 17e5e90 Sep 17, 2018
@roblourens
Copy link
Member

What do I expect to see exactly? I follow the steps in the OP and get "no symbols matching". Then if I wait and try again, I get symbols.

@roblourens roblourens added the verification-steps-needed Steps to verify are needed for verification label Sep 28, 2018
@mjbvz
Copy link
Contributor

mjbvz commented Sep 28, 2018

The original bug is that triggering search early broke symbol search for the entire rest of the session until you restarted vscode. For verification, make sure that once the js/ts language features come online, symbol search starts working

@roblourens
Copy link
Member

Oh ok. I've verified that.

@roblourens roblourens added the verified Verification succeeded label Sep 28, 2018
@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 1, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug important Issue identified as high-priority typescript Typescript support issues verification-steps-needed Steps to verify are needed for verification verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

6 participants