API для открытия файла из папки расширений

Я хочу встроить файл DLL в расширение VS Code и открыть его во время выполнения, когда расширение активировано.

Я могу легко включить DLL-файл в расширение vsix, но хочу знать, как получить к нему доступ во время выполнения.

При отладке расширения текущий каталог — C: \ Program Files \ Microsoft VS Code.

Думаю, я могу открыть доступ к файлу, если смогу получить текущую директорию выполнения, а затем добавить путь, например

var cwd = GetCurrentWorkingDirectory(); //to be found out
var dllPath = vscode.Uri.file(cwd+'\resources\app\extensions\myextension\dist');

Есть ли API расширения VS Code, который предоставит мне текущий корневой каталог расширения или каталог установки VS Code?

GL запускает DLL-код из расширения. VSC запускает только JavaScript.   —  person Morse    schedule 13.08.2020

Спасибо. VSC построен на электроне, который поддерживает это. Я получил его работающим.   —  person Morse    schedule 13.08.2020

См. также:  Настройка формата VSC clang с помощью файла global.clang-format
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Morse

    Путь расширения может быть получен с помощью объекта контекста, который передается для активации функции; context.extensionPath, который является строкой или context.extensionUri

    В качестве альтернативы,

    env.appRoot

    Доступ к нему можно получить как

    var cwd = vscode.env.appRoot;

    соответствует VS Code\resources\app

    Если установка системы C:\Program Files\Microsoft VS Code\resources\app

    если установка пользователем C:\Users\Prateek\AppData\Local\Programs\Microsoft VS Code\resources\app

    В качестве альтернативы запись activate(context: vscode.ExtensionContext) дает вам объект context. С его помощью вы всегда можете вызвать asAbsolutePath() для преобразования относительных путей (к папке установки расширения) в полные пути, которые вы хотите. person Morse; 13.08.2020

    Вы имеете в виду context.extensionPath или context.extensionUri? asAbsolutePath показывает путь отладки, который меня не интересует person Morse; 13.08.2020

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: