diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-07-23 12:33:24 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-23 12:33:24 +0000 |
| commit | 85532e2df3f713f0fb9096328e86ec7e74934c12 (patch) | |
| tree | 243b2e6000eca4941ae9c1a869730ac31cd4591c | |
| parent | 803f3613ba041a24b50c7e8249e9ee3195836ea8 (diff) | |
| parent | 1b5a74ef18389f7d1a90cb6945a17bc412f707b4 (diff) | |
| download | rust-85532e2df3f713f0fb9096328e86ec7e74934c12.tar.gz rust-85532e2df3f713f0fb9096328e86ec7e74934c12.zip | |
Merge #5480
5480: Fix snippetTextEdits applying to other files r=matklad a=TimoFreiberg Fixes #4551 `vscode.window.visibleTextEditors` only contains editors whose contents are being displayed at the moment, so the previous logic only worked if the other file for which a snippetTextEdit is being received was visible in a separate split. I feel that this is a hacky approach, so feel free to reject it for something nicer :) Co-authored-by: Timo Freiberg <timo.freiberg@gmail.com>
| -rw-r--r-- | editors/code/src/snippets.ts | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/editors/code/src/snippets.ts b/editors/code/src/snippets.ts index bcb3f2cc761..258b49982ef 100644 --- a/editors/code/src/snippets.ts +++ b/editors/code/src/snippets.ts @@ -6,6 +6,10 @@ export async function applySnippetWorkspaceEdit(edit: vscode.WorkspaceEdit) { assert(edit.entries().length === 1, `bad ws edit: ${JSON.stringify(edit)}`); const [uri, edits] = edit.entries()[0]; + if (vscode.window.activeTextEditor?.document.uri !== uri) { + // `vscode.window.visibleTextEditors` only contains editors whose contents are being displayed + await vscode.window.showTextDocument(uri, {}); + } const editor = vscode.window.visibleTextEditors.find((it) => it.document.uri.toString() === uri.toString()); if (!editor) return; await applySnippetTextEdits(editor, edits); |
