Позволяет ли API vscode изменить текущую цветовую тему?
Да, это работает:
let currentTheme = await vscode.workspace.getConfiguration().get("workbench.colorTheme");
await vscode.workspace.getConfiguration().update("workbench.colorTheme", "Red");
let newTheme = await vscode.workspace.getConfiguration().get("workbench.colorTheme");
Это кажется немного странным при тестировании в Extension Development Host
, но даже если currentTheme
может бытьundefined
, когда текущая тема не установлена workbench.colorTheme
(поскольку темы по умолчанию не обязательно установлены), update()
все еще работает.
vscode.window.activeColorTheme
не получает имя активной темы, только если оно Dark/Light/HighContrast
и не может быть установлено, но вы можете увидеть, каковы текущие предпочтения пользователя по крайней мере в отношении темного/светлого/высокого контраста.