提交 ae0dbb39 编写于 作者: B Benjamin Pasero

💄 desktop => native

上级 ecdf4390
......@@ -121,7 +121,7 @@ export class ExternalElementsDragAndDropData<T> implements IDragAndDropData {
}
}
export class DesktopDragAndDropData implements IDragAndDropData {
export class NativeDragAndDropData implements IDragAndDropData {
readonly types: any[];
readonly files: any[];
......@@ -976,7 +976,7 @@ export class ListView<T> implements ISpliceable<T>, IDisposable {
return false;
}
this.currentDragData = new DesktopDragAndDropData();
this.currentDragData = new NativeDragAndDropData();
}
}
......
......@@ -33,7 +33,7 @@ export interface ReadableStreamEvents<T> {
/**
* A interface that emulates the API shape of a node.js readable
* stream for use in desktop and web environments.
* stream for use in native and web environments.
*/
export interface ReadableStream<T> extends ReadableStreamEvents<T> {
......@@ -60,7 +60,7 @@ export interface ReadableStream<T> extends ReadableStreamEvents<T> {
/**
* A interface that emulates the API shape of a node.js readable
* for use in desktop and web environments.
* for use in native and web environments.
*/
export interface Readable<T> {
......@@ -73,7 +73,7 @@ export interface Readable<T> {
/**
* A interface that emulates the API shape of a node.js writeable
* stream for use in desktop and web environments.
* stream for use in native and web environments.
*/
export interface WriteableStream<T> extends ReadableStream<T> {
......
......@@ -23,7 +23,7 @@ export interface IEnvironmentService {
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// NOTE: DO NOT ADD ANY OTHER PROPERTY INTO THE COLLECTION HERE
// UNLESS THIS PROPERTY IS SUPPORTED BOTH IN WEB AND DESKTOP!!!!
// UNLESS THIS PROPERTY IS SUPPORTED BOTH IN WEB AND NATIVE!!!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
readonly _serviceBrand: undefined;
......@@ -70,6 +70,6 @@ export interface IEnvironmentService {
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// NOTE: DO NOT ADD ANY OTHER PROPERTY INTO THE COLLECTION HERE
// UNLESS THIS PROPERTY IS SUPPORTED BOTH IN WEB AND DESKTOP!!!!
// UNLESS THIS PROPERTY IS SUPPORTED BOTH IN WEB AND NATIVE!!!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
......@@ -867,7 +867,7 @@ export function whenProviderRegistered(file: URI, fileService: IFileService): Pr
}
/**
* Desktop only: limits for memory sizes
* Native only: limits for memory sizes
*/
export const MIN_MAX_MEMORY_SIZE_MB = 2048;
export const FALLBACK_MAX_MEMORY_SIZE_MB = 4096;
......
......@@ -7,7 +7,7 @@ import * as nls from 'vs/nls';
import { isMacintosh, language } from 'vs/base/common/platform';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { app, shell, Menu, MenuItem, BrowserWindow, MenuItemConstructorOptions, WebContents, Event, KeyboardEvent } from 'electron';
import { getTitleBarStyle, IDesktopRunActionInWindowRequest, IDesktopRunKeybindingInWindowRequest, IWindowOpenable } from 'vs/platform/windows/common/windows';
import { getTitleBarStyle, INativeRunActionInWindowRequest, INativeRunKeybindingInWindowRequest, IWindowOpenable } from 'vs/platform/windows/common/windows';
import { OpenContext } from 'vs/platform/windows/node/window';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
......@@ -754,10 +754,10 @@ export class Menubar {
}
if (invocation.type === 'commandId') {
const runActionPayload: IDesktopRunActionInWindowRequest = { id: invocation.commandId, from: 'menu' };
const runActionPayload: INativeRunActionInWindowRequest = { id: invocation.commandId, from: 'menu' };
activeWindow.sendWhenReady('vscode:runAction', runActionPayload);
} else {
const runKeybindingPayload: IDesktopRunKeybindingInWindowRequest = { userSettingsLabel: invocation.userSettingsLabel };
const runKeybindingPayload: INativeRunKeybindingInWindowRequest = { userSettingsLabel: invocation.userSettingsLabel };
activeWindow.sendWhenReady('vscode:runKeybinding', runKeybindingPayload);
}
} else {
......
......@@ -186,20 +186,20 @@ export interface IOpenFileRequest {
}
/**
* Additional context for the request on desktop only.
* Additional context for the request on native only.
*/
export interface IDesktopOpenFileRequest extends IOpenFileRequest {
export interface INativeOpenFileRequest extends IOpenFileRequest {
termProgram?: string;
filesToWait?: IPathsToWaitForData;
}
export interface IDesktopRunActionInWindowRequest {
export interface INativeRunActionInWindowRequest {
id: string;
from: 'menu' | 'touchbar' | 'mouse';
args?: any[];
}
export interface IDesktopRunKeybindingInWindowRequest {
export interface INativeRunKeybindingInWindowRequest {
userSettingsLabel: string;
}
......
......@@ -34,7 +34,7 @@ import { fillResourceDataTransfers, CodeDataTransfers, extractResources, contain
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IDragAndDropData, DataTransfers } from 'vs/base/browser/dnd';
import { Schemas } from 'vs/base/common/network';
import { DesktopDragAndDropData, ExternalElementsDragAndDropData, ElementsDragAndDropData } from 'vs/base/browser/ui/list/listView';
import { NativeDragAndDropData, ExternalElementsDragAndDropData, ElementsDragAndDropData } from 'vs/base/browser/ui/list/listView';
import { isMacintosh, isWeb } from 'vs/base/common/platform';
import { IDialogService, IConfirmation, getFileNamesMessage } from 'vs/platform/dialogs/common/dialogs';
import { IWorkingCopyFileService } from 'vs/workbench/services/workingCopy/common/workingCopyFileService';
......@@ -839,11 +839,11 @@ export class FileDragAndDrop implements ITreeDragAndDrop<ExplorerItem> {
private handleDragOver(data: IDragAndDropData, target: ExplorerItem | undefined, targetIndex: number | undefined, originalEvent: DragEvent): boolean | ITreeDragOverReaction {
const isCopy = originalEvent && ((originalEvent.ctrlKey && !isMacintosh) || (originalEvent.altKey && isMacintosh));
const fromDesktop = data instanceof DesktopDragAndDropData;
const effect = (fromDesktop || isCopy) ? ListDragOverEffect.Copy : ListDragOverEffect.Move;
const isNative = data instanceof NativeDragAndDropData;
const effect = (isNative || isCopy) ? ListDragOverEffect.Copy : ListDragOverEffect.Move;
// Desktop DND
if (fromDesktop) {
// Native DND
if (isNative) {
if (!containsDragType(originalEvent, DataTransfers.FILES, CodeDataTransfers.FILES)) {
return false;
}
......@@ -979,7 +979,7 @@ export class FileDragAndDrop implements ITreeDragAndDrop<ExplorerItem> {
}
// Desktop DND (Import file)
if (data instanceof DesktopDragAndDropData) {
if (data instanceof NativeDragAndDropData) {
if (isWeb) {
this.handleWebExternalDrop(data, target, originalEvent).then(undefined, e => this.notificationService.warn(e));
} else {
......@@ -992,7 +992,7 @@ export class FileDragAndDrop implements ITreeDragAndDrop<ExplorerItem> {
}
}
private async handleWebExternalDrop(data: DesktopDragAndDropData, target: ExplorerItem, originalEvent: DragEvent): Promise<void> {
private async handleWebExternalDrop(data: NativeDragAndDropData, target: ExplorerItem, originalEvent: DragEvent): Promise<void> {
const items = (originalEvent.dataTransfer as unknown as IWebkitDataTransfer).items;
// Somehow the items thing is being modified at random, maybe as a security
......@@ -1205,7 +1205,7 @@ export class FileDragAndDrop implements ITreeDragAndDrop<ExplorerItem> {
});
}
private async handleExternalDrop(data: DesktopDragAndDropData, target: ExplorerItem, originalEvent: DragEvent): Promise<void> {
private async handleExternalDrop(data: NativeDragAndDropData, target: ExplorerItem, originalEvent: DragEvent): Promise<void> {
// Check for dropped external files to be folders
const droppedResources = extractResources(originalEvent, true);
......
......@@ -38,7 +38,7 @@ import { ViewPane } from 'vs/workbench/browser/parts/views/viewPaneContainer';
import { IViewletViewOptions } from 'vs/workbench/browser/parts/views/viewsViewlet';
import { IDragAndDropData, DataTransfers } from 'vs/base/browser/dnd';
import { memoize } from 'vs/base/common/decorators';
import { ElementsDragAndDropData, DesktopDragAndDropData } from 'vs/base/browser/ui/list/listView';
import { ElementsDragAndDropData, NativeDragAndDropData } from 'vs/base/browser/ui/list/listView';
import { URI } from 'vs/base/common/uri';
import { withUndefinedAsNull } from 'vs/base/common/types';
import { isWeb } from 'vs/base/common/platform';
......@@ -667,7 +667,7 @@ class OpenEditorsDragAndDrop implements IListDragAndDrop<OpenEditor | IEditorGro
}
onDragOver(data: IDragAndDropData, _targetElement: OpenEditor | IEditorGroup, _targetIndex: number, originalEvent: DragEvent): boolean | IListDragOverReaction {
if (data instanceof DesktopDragAndDropData) {
if (data instanceof NativeDragAndDropData) {
if (isWeb) {
return false; // dropping files into editor is unsupported on web
}
......
......@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { ipcRenderer } from 'vs/base/parts/sandbox/electron-sandbox/globals';
import { IDesktopOpenFileRequest } from 'vs/platform/windows/common/windows';
import { INativeOpenFileRequest } from 'vs/platform/windows/common/windows';
import { URI } from 'vs/base/common/uri';
import { IFileService } from 'vs/platform/files/common/files';
import { getWindowsBuildNumber, linuxDistro } from 'vs/workbench/contrib/terminal/node/terminal';
......@@ -30,7 +30,7 @@ export class TerminalNativeContribution extends Disposable implements IWorkbench
) {
super();
ipcRenderer.on('vscode:openFiles', (_: unknown, request: IDesktopOpenFileRequest) => this._onOpenFileRequest(request));
ipcRenderer.on('vscode:openFiles', (_: unknown, request: INativeOpenFileRequest) => this._onOpenFileRequest(request));
this._register(electronService.onOSResume(() => this._onOsResume()));
this._terminalService.setLinuxDistro(linuxDistro);
......@@ -53,7 +53,7 @@ export class TerminalNativeContribution extends Disposable implements IWorkbench
activeTab.terminalInstances.forEach(instance => instance.forceRedraw());
}
private async _onOpenFileRequest(request: IDesktopOpenFileRequest): Promise<void> {
private async _onOpenFileRequest(request: INativeOpenFileRequest): Promise<void> {
// if the request to open files is coming in from the integrated terminal (identified though
// the termProgram variable) and we are instructed to wait for editors close, wait for the
// marker file to get deleted and then focus back to the integrated terminal.
......
......@@ -48,7 +48,7 @@ import { IProductService } from 'vs/platform/product/common/productService';
import product from 'vs/platform/product/common/product';
import { NativeResourceIdentityService } from 'vs/platform/resource/node/resourceIdentityServiceImpl';
import { IResourceIdentityService } from 'vs/platform/resource/common/resourceIdentityService';
import { DesktopLogService } from 'vs/workbench/services/log/electron-browser/logService';
import { NativeLogService } from 'vs/workbench/services/log/electron-browser/logService';
import { IElectronService, ElectronService } from 'vs/platform/electron/electron-sandbox/electron';
class DesktopMain extends Disposable {
......@@ -183,7 +183,7 @@ class DesktopMain extends Disposable {
serviceCollection.set(IProductService, productService);
// Log
const logService = this._register(new DesktopLogService(this.configuration.windowId, mainProcessService, this.environmentService));
const logService = this._register(new NativeLogService(this.configuration.windowId, mainProcessService, this.environmentService));
serviceCollection.set(ILogService, logService);
// Remote
......
......@@ -13,7 +13,7 @@ import { IFileService } from 'vs/platform/files/common/files';
import { toResource, IUntitledTextResourceEditorInput, SideBySideEditor, pathsToEditors } from 'vs/workbench/common/editor';
import { IEditorService, IResourceEditorInputType } from 'vs/workbench/services/editor/common/editorService';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IOpenFileRequest, IWindowsConfiguration, getTitleBarStyle, IAddFoldersRequest, IDesktopRunActionInWindowRequest, IDesktopRunKeybindingInWindowRequest, IDesktopOpenFileRequest } from 'vs/platform/windows/common/windows';
import { IOpenFileRequest, IWindowsConfiguration, getTitleBarStyle, IAddFoldersRequest, INativeRunActionInWindowRequest, INativeRunKeybindingInWindowRequest, INativeOpenFileRequest } from 'vs/platform/windows/common/windows';
import { ITitleService } from 'vs/workbench/services/title/common/titleService';
import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService';
import { applyZoom } from 'vs/platform/windows/electron-sandbox/window';
......@@ -128,7 +128,7 @@ export class NativeWindow extends Disposable {
});
// Support runAction event
ipcRenderer.on('vscode:runAction', async (event: unknown, request: IDesktopRunActionInWindowRequest) => {
ipcRenderer.on('vscode:runAction', async (event: unknown, request: INativeRunActionInWindowRequest) => {
const args: unknown[] = request.args || [];
// If we run an action from the touchbar, we fill in the currently active resource
......@@ -159,7 +159,7 @@ export class NativeWindow extends Disposable {
});
// Support runKeybinding event
ipcRenderer.on('vscode:runKeybinding', (event: unknown, request: IDesktopRunKeybindingInWindowRequest) => {
ipcRenderer.on('vscode:runKeybinding', (event: unknown, request: INativeRunKeybindingInWindowRequest) => {
if (document.activeElement) {
this.keybindingService.dispatchByUserSettingsLabel(request.userSettingsLabel, document.activeElement);
}
......@@ -547,7 +547,7 @@ export class NativeWindow extends Disposable {
this.workspaceEditingService.addFolders(foldersToAdd);
}
private async onOpenFiles(request: IDesktopOpenFileRequest): Promise<void> {
private async onOpenFiles(request: INativeOpenFileRequest): Promise<void> {
const inputs: IResourceEditorInputType[] = [];
const diffMode = !!(request.filesToDiff && (request.filesToDiff.length === 2));
......
......@@ -12,7 +12,7 @@ import { REMOTE_HOST_SCHEME } from 'vs/platform/remote/common/remoteHosts';
import { IChannel } from 'vs/base/parts/ipc/common/ipc';
import { ISharedProcessService } from 'vs/platform/ipc/electron-browser/sharedProcessService';
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
import { DesktopRemoteExtensionManagementService } from 'vs/workbench/services/extensionManagement/electron-browser/remoteExtensionManagementService';
import { NativeRemoteExtensionManagementService } from 'vs/workbench/services/extensionManagement/electron-browser/remoteExtensionManagementService';
import { ILabelService } from 'vs/platform/label/common/label';
import { IExtension } from 'vs/platform/extensions/common/extensions';
import { IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement';
......@@ -43,7 +43,7 @@ export class ExtensionManagementServerService implements IExtensionManagementSer
this._localExtensionManagementServer = { extensionManagementService: localExtensionManagementService, id: 'local', label: localize('local', "Local") };
const remoteAgentConnection = remoteAgentService.getConnection();
if (remoteAgentConnection) {
const extensionManagementService = new DesktopRemoteExtensionManagementService(remoteAgentConnection.getChannel<IChannel>('extensions'), this.localExtensionManagementServer, logService, galleryService, configurationService, productService);
const extensionManagementService = new NativeRemoteExtensionManagementService(remoteAgentConnection.getChannel<IChannel>('extensions'), this.localExtensionManagementServer, logService, galleryService, configurationService, productService);
this.remoteExtensionManagementServer = {
id: 'remote',
extensionManagementService,
......
......@@ -22,7 +22,7 @@ import { joinPath } from 'vs/base/common/resources';
import { WebRemoteExtensionManagementService } from 'vs/workbench/services/extensionManagement/common/remoteExtensionManagementService';
import { IExtensionManagementServer } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
export class DesktopRemoteExtensionManagementService extends WebRemoteExtensionManagementService implements IExtensionManagementService {
export class NativeRemoteExtensionManagementService extends WebRemoteExtensionManagementService implements IExtensionManagementService {
private readonly localExtensionManagementService: IExtensionManagementService;
......
......@@ -12,7 +12,7 @@ import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/
import { IWindowOpenable, IOpenWindowOptions, isFolderToOpen, isWorkspaceToOpen, IOpenEmptyWindowOptions } from 'vs/platform/windows/common/windows';
import { Disposable } from 'vs/base/common/lifecycle';
export class DesktopHostService extends Disposable implements IHostService {
export class NativeHostService extends Disposable implements IHostService {
declare readonly _serviceBrand: undefined;
......@@ -95,4 +95,4 @@ export class DesktopHostService extends Disposable implements IHostService {
}
}
registerSingleton(IHostService, DesktopHostService, true);
registerSingleton(IHostService, NativeHostService, true);
......@@ -14,7 +14,7 @@ import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions } f
import { Registry } from 'vs/platform/registry/common/platform';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
export class DesktopLogService extends DelegatedLogService {
export class NativeLogService extends DelegatedLogService {
private readonly bufferSpdLogService: BufferLogService | undefined;
private readonly windowId: number;
......@@ -62,11 +62,11 @@ export class DesktopLogService extends DelegatedLogService {
}
}
class DesktopLogServiceInitContribution implements IWorkbenchContribution {
class NativeLogServiceInitContribution implements IWorkbenchContribution {
constructor(@ILogService logService: ILogService) {
if (logService instanceof DesktopLogService) {
if (logService instanceof NativeLogService) {
logService.init();
}
}
}
Registry.as<IWorkbenchContributionsRegistry>(Extensions.Workbench).registerWorkbenchContribution(DesktopLogServiceInitContribution, LifecyclePhase.Restored);
Registry.as<IWorkbenchContributionsRegistry>(Extensions.Workbench).registerWorkbenchContribution(NativeLogServiceInitContribution, LifecyclePhase.Restored);
......@@ -28,7 +28,7 @@ import 'vs/workbench/services/update/electron-sandbox/updateService';
import 'vs/workbench/services/url/electron-sandbox/urlService';
import 'vs/workbench/services/lifecycle/electron-sandbox/lifecycleService';
import 'vs/workbench/services/title/electron-sandbox/titleService';
import 'vs/workbench/services/host/electron-sandbox/desktopHostService';
import 'vs/workbench/services/host/electron-sandbox/nativeHostService';
import 'vs/workbench/services/request/electron-sandbox/requestService';
import 'vs/workbench/services/extensionResourceLoader/electron-sandbox/extensionResourceLoaderService';
import 'vs/workbench/services/clipboard/electron-sandbox/clipboardService';
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册