UNPKG

sussudio

Version:

An unofficial VS Code Internal API

145 lines (144 loc) 6.96 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { VSBuffer } from "../../../base/common/buffer.mjs"; import { Event } from "../../../base/common/event.mjs"; import { URI } from "../../../base/common/uri.mjs"; import { MessageBoxOptions, MessageBoxReturnValue, MouseInputEvent, OpenDevToolsOptions, OpenDialogOptions, OpenDialogReturnValue, SaveDialogOptions, SaveDialogReturnValue } from "../../../base/parts/sandbox/common/electronTypes.mjs"; import { ISerializableCommandAction } from "../../action/common/action.mjs"; import { INativeOpenDialogOptions } from "../../dialogs/common/dialogs.mjs"; import { IV8Profile } from "../../profiling/common/profiling.mjs"; import { IPartsSplash } from "../../theme/common/themeService.mjs"; import { IColorScheme, IOpenedWindow, IOpenEmptyWindowOptions, IOpenWindowOptions, IWindowOpenable } from "../../window/common/window.mjs"; export interface ICPUProperties { model: string; speed: number; } export interface IOSProperties { type: string; release: string; arch: string; platform: string; cpus: ICPUProperties[]; } export interface IOSStatistics { totalmem: number; freemem: number; loadavg: number[]; } export interface ICommonNativeHostService { readonly _serviceBrand: undefined; readonly windowId: number; readonly onDidOpenWindow: Event<number>; readonly onDidMaximizeWindow: Event<number>; readonly onDidUnmaximizeWindow: Event<number>; readonly onDidFocusWindow: Event<number>; readonly onDidBlurWindow: Event<number>; readonly onDidChangeDisplay: Event<void>; readonly onDidResumeOS: Event<unknown>; readonly onDidChangeColorScheme: Event<IColorScheme>; readonly onDidChangePassword: Event<{ service: string; account: string; }>; readonly onDidTriggerSystemContextMenu: Event<{ windowId: number; x: number; y: number; }>; getWindows(): Promise<IOpenedWindow[]>; getWindowCount(): Promise<number>; getActiveWindowId(): Promise<number | undefined>; openWindow(options?: IOpenEmptyWindowOptions): Promise<void>; openWindow(toOpen: IWindowOpenable[], options?: IOpenWindowOptions): Promise<void>; toggleFullScreen(): Promise<void>; handleTitleDoubleClick(): Promise<void>; isMaximized(): Promise<boolean>; maximizeWindow(): Promise<void>; unmaximizeWindow(): Promise<void>; minimizeWindow(): Promise<void>; /** * Only supported on Windows and macOS. Updates the window controls to match the title bar size. * * @param options `backgroundColor` and `foregroundColor` are only supported on Windows */ updateWindowControls(options: { height?: number; backgroundColor?: string; foregroundColor?: string; }): Promise<void>; setMinimumSize(width: number | undefined, height: number | undefined): Promise<void>; saveWindowSplash(splash: IPartsSplash): Promise<void>; /** * Make the window focused. * * @param options Pass `force: true` if you want to make the window take * focus even if the application does not have focus currently. This option * should only be used if it is necessary to steal focus from the current * focused application which may not be VSCode. */ focusWindow(options?: { windowId?: number; force?: boolean; }): Promise<void>; showMessageBox(options: MessageBoxOptions): Promise<MessageBoxReturnValue>; showSaveDialog(options: SaveDialogOptions): Promise<SaveDialogReturnValue>; showOpenDialog(options: OpenDialogOptions): Promise<OpenDialogReturnValue>; pickFileFolderAndOpen(options: INativeOpenDialogOptions): Promise<void>; pickFileAndOpen(options: INativeOpenDialogOptions): Promise<void>; pickFolderAndOpen(options: INativeOpenDialogOptions): Promise<void>; pickWorkspaceAndOpen(options: INativeOpenDialogOptions): Promise<void>; showItemInFolder(path: string): Promise<void>; setRepresentedFilename(path: string): Promise<void>; setDocumentEdited(edited: boolean): Promise<void>; openExternal(url: string): Promise<boolean>; moveItemToTrash(fullPath: string): Promise<void>; isAdmin(): Promise<boolean>; writeElevated(source: URI, target: URI, options?: { unlock?: boolean; }): Promise<void>; getOSProperties(): Promise<IOSProperties>; getOSStatistics(): Promise<IOSStatistics>; getOSVirtualMachineHint(): Promise<number>; getOSColorScheme(): Promise<IColorScheme>; hasWSLFeatureInstalled(): Promise<boolean>; killProcess(pid: number, code: string): Promise<void>; readClipboardText(type?: 'selection' | 'clipboard'): Promise<string>; writeClipboardText(text: string, type?: 'selection' | 'clipboard'): Promise<void>; readClipboardFindText(): Promise<string>; writeClipboardFindText(text: string): Promise<void>; writeClipboardBuffer(format: string, buffer: VSBuffer, type?: 'selection' | 'clipboard'): Promise<void>; readClipboardBuffer(format: string): Promise<VSBuffer>; hasClipboard(format: string, type?: 'selection' | 'clipboard'): Promise<boolean>; newWindowTab(): Promise<void>; showPreviousWindowTab(): Promise<void>; showNextWindowTab(): Promise<void>; moveWindowTabToNewWindow(): Promise<void>; mergeAllWindowTabs(): Promise<void>; toggleWindowTabsBar(): Promise<void>; updateTouchBar(items: ISerializableCommandAction[][]): Promise<void>; installShellCommand(): Promise<void>; uninstallShellCommand(): Promise<void>; notifyReady(): Promise<void>; relaunch(options?: { addArgs?: string[]; removeArgs?: string[]; }): Promise<void>; reload(options?: { disableExtensions?: boolean; }): Promise<void>; closeWindow(): Promise<void>; closeWindowById(windowId: number): Promise<void>; quit(): Promise<void>; exit(code: number): Promise<void>; openDevTools(options?: OpenDevToolsOptions): Promise<void>; toggleDevTools(): Promise<void>; toggleSharedProcessWindow(): Promise<void>; sendInputEvent(event: MouseInputEvent): Promise<void>; enableSandbox(enabled: boolean): Promise<void>; profileRenderer(session: string, duration: number): Promise<IV8Profile>; resolveProxy(url: string): Promise<string | undefined>; findFreePort(startPort: number, giveUpAfter: number, timeout: number, stride?: number): Promise<number>; windowsGetStringRegKey(hive: 'HKEY_CURRENT_USER' | 'HKEY_LOCAL_MACHINE' | 'HKEY_CLASSES_ROOT' | 'HKEY_USERS' | 'HKEY_CURRENT_CONFIG', path: string, name: string): Promise<string | undefined>; }