Расширение кода Visual Studio - получение активных данных вкладки для нетекстовых файлов - PullRequest
0 голосов
/ 31 октября 2018

У меня есть расширение, в котором я запрашиваю исходный путь текущего активного файла вкладки.

Для текстовых файлов прекрасно работает следующее:

const activeEditor: TextEditor = window.activeTextEditor;
if (activeEditor && activeEditor.document && activeEditor.document.fileName) {
    return activeEditor.document.fileName;
}

Проблема в том, что это не работает, если активный файл в текстовом редакторе не является текстовым, например файл изображения, например .jpg.

Для файлов этого типа window.activeTextEditor равно undefined. Более того, когда я пытаюсь запустить следующий код:

const uri = Uri.file(<path_to_binary_file>);
workspace.openTextDocument(uri);

Я получаю следующую ошибку: "cannot open <path_to_file>. Detail: File seems to be binary and cannot be opened as text", и я не вижу аналогичного API для openTextDocument, который имеет дело с нетекстовыми файлами.

Есть ли простой способ получения этих данных без использования commands.executeCommand('workbench.action.files.copyPathOfActiveFile') и различных манипуляций с буфером обмена?

1 Ответ

0 голосов
/ 02 ноября 2018

Похоже, это известная открытая проблема в коде VS. следующий за Github вопрос обсуждает это.

...