Я работаю в репозитории microsoft / azuredatastudio github, который в значительной степени разветвлен из vscode.Я пытаюсь расширить нашу обработку командной строки для обработки параметра повторного использования окна, чтобы, если мы передадим соединение с сервером вместе с -r, мы откроем указанное соединение.Наша текущая служба обработки командной строки загружается с помощью src \ vs \ workbench \ Electron-browser \ workbench.ts в Workbench.initServices.
Существует ли какая-либо предоставляемая платформой служба, видимая как для электронной, так и для рабочей среды?\ электронный браузер, который я мог бы изменить или использовать для получения информации о повторном использовании приложения с новыми аргументами командной строки?
Я обнаружил, что LaunchService определен в src \ vs \ code \ Electron-main \ launch.ts, по-видимому, отвечает за захват аргументов и открытие или повторное использование окна, но не ясно, каким образом я бы направил уведомление от LaunchService в наши службы, загружаемые верстаком.
2/12 /Обновление 2019 года: похоже, мне нужно добавить эквивалент этой функции в src \ vs \ code \ Electron-Main \ windows.ts
private doOpenFilesInExistingWindow(configuration: IOpenConfiguration, window: ICodeWindow, filesToOpen: IPath[], filesToCreate: IPath[], filesToDiff: IPath[], filesToWait: IPathsToWaitFor): ICodeWindow {
window.focus(); // make sure window has focus
window.ready().then(readyWindow => {
const termProgram = configuration.userEnv ? configuration.userEnv['TERM_PROGRAM'] : void 0;
readyWindow.send('vscode:openFiles', { filesToOpen, filesToCreate, filesToDiff, filesToWait, termProgram });
});
return window;
}
, в котором есть новое сообщение типа "ads: openconnection".Теперь, чтобы узнать, как обработать сообщение.