#visual-studio-code #vscode-extensions
#visual-studio-code #vscode-расширения
Вопрос:
При том же значении для Uri, openTextDocument
не удается получить какой-либо заметный эффект, но executeCommand
успешно открывает документ.
vscode.workspace.openTextDocument(uri);
vscode.commands.executeCommand("vscode.open", uri);
Есть ли какие-либо известные проблемы с vscode.workspace.openTextDocument
?
Ответ №1:
Возможно, это просто неправильное понимание того, что openTextDocument()
делает. Он просто создает vscode.TextDocument
экземпляр, на самом деле отображение его в пользовательском интерфейсе не зависит от этого. Вот почему он находится в vscode.workspace
пространстве имен, а не vscode.window
.
vscode.window.showTextDocument
используется для фактического отображения документа:
Покажите данный документ в текстовом редакторе. Может быть предоставлен столбец для управления отображением редактора. Может измениться активный редактор.
vscode.workspace.openTextDocument(...).then(
document => vscode.window.showTextDocument(document));
Комментарии:
1. Я даже не заметил, что это был метод в рабочей области, а не в окне. Слишком много удобства и магии редактора (автозаполнение).