У меня есть расширение, в котором я запрашиваю исходный путь текущего активного файла вкладки.
Для текстовых файлов прекрасно работает следующее:
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')
и различных манипуляций с буфером обмена?