Editing file over SSH remote host makes VSCode hang.
Open
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.2k
- Forks
- 1.5k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 6
Description
To Reproduce
Steps to reproduce the behavior:
- Use VSCode SSH extension to ssh into a remote host
- Edit a large .c file. Make sure Vim extension is enabled
- Try to indent a line with 'SHIFT' + '='
- Wait 5-10 minutes as it loads.
VSCodeVim version: 1.18.9
Stack trace
TypeError: Failed to handle key==. Cannot read property 'document' of undefined
at Function.getFirstNonWhitespaceCharOnLine (/Users/ridhwaan/.vscode/extensions/vscodevim.vim-1.18.9/out/extension.js:2:758048)
at R.run (/Users/ridhwaan/.vscode/extensions/vscodevim.vim-1.18.9/out/extension.js:2:524406)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async F.executeOperator (/Users/ridhwaan/.vscode/extensions/vscodevim.vim-1.18.9/out/extension.js:2:713521)
at async F.runAction (/Users/ridhwaan/.vscode/extensions/vscodevim.vim-1.18.9/out/extension.js:2:708540)
at async F.handleKeyAsAnAction (/Users/ridhwaan/.vscode/extensions/vscodevim.vim-1.18.9/out/extension.js:2:707179)
at async F.handleKeyEvent (/Users/ridhwaan/.vscode/extensions/vscodevim.vim-1.18.9/out/extension.js:2:704015)
at async Object.promise (/Users/ridhwaan/.vscode/extensions/vscodevim.vim-1.18.9/out/extension.js:2:350696)
at async Object.runTasks (/Users/ridhwaan/.vscode/extensions/vscodevim.vim-1.18.9/out/extension.js:2:754577)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with the VSCode SSH extension, a large .c file, Vim enabled, and Shift+=. Start from the stack trace in out/extension.js, especially getFirstNonWhitespaceCharOnLine and executeOperator, then trace back to their source implementation. Done means indentation completes without the multi-minute hang or the document TypeError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100