Merge from vscode 892353d48e17303de203bb5071f21ea69573367d

This commit is contained in:
ADS Merger
2020-09-05 03:17:42 +00:00
parent b8d0e2a9e3
commit 6718c7565d
40 changed files with 330 additions and 130 deletions

View File

@@ -39,6 +39,7 @@ import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from 'vs/platform/accessibility/co
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { ITerminalContributionService } from 'vs/workbench/contrib/terminal/common/terminalExtensionPoints';
import { SelectActionViewItem } from 'vs/base/browser/ui/actionbar/actionViewItems';
import { FindInFilesCommand, IFindInFilesArgs } from 'vs/workbench/contrib/search/browser/searchActions';
async function getCwdForSplit(configHelper: ITerminalConfigHelper, instance: ITerminalInstance, folders?: IWorkspaceFolder[], commandService?: ICommandService): Promise<string | URI | undefined> {
switch (configHelper.config.splitCwd) {
@@ -1350,6 +1351,28 @@ export function registerTerminalActions() {
accessor.get(ITerminalService).findPrevious();
}
});
registerAction2(class extends Action2 {
constructor() {
super({
id: TERMINAL_COMMAND_ID.SEARCH_WORKSPACE,
title: { value: localize('workbench.action.terminal.searchWorkspace', "Search Workspace"), original: 'Search Workspace' },
f1: true,
category,
keybinding: [
{
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_F,
when: ContextKeyExpr.and(KEYBINDING_CONTEXT_TERMINAL_PROCESS_SUPPORTED, KEYBINDING_CONTEXT_TERMINAL_FOCUS, KEYBINDING_CONTEXT_TERMINAL_TEXT_SELECTED),
weight: KeybindingWeight.WorkbenchContrib
}
],
precondition: KEYBINDING_CONTEXT_TERMINAL_PROCESS_SUPPORTED
});
}
run(accessor: ServicesAccessor) {
const query = accessor.get(ITerminalService).getActiveInstance()?.selection;
FindInFilesCommand(accessor, { query } as IFindInFilesArgs);
}
});
registerAction2(class extends Action2 {
constructor() {
super({

View File

@@ -838,9 +838,6 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
setTimeout(() => this.layout(this._timeoutDimension!), 0);
}
}
if (!visible) {
this._widgetManager.hideHovers();
}
}
public scrollDownLine(): void {

View File

@@ -5,15 +5,11 @@
import { IDisposable } from 'vs/base/common/lifecycle';
import { ITerminalWidget } from 'vs/workbench/contrib/terminal/browser/widgets/widgets';
import { IHoverService } from 'vs/workbench/services/hover/browser/hover';
export class TerminalWidgetManager implements IDisposable {
private _container: HTMLElement | undefined;
private _attached: Map<string, ITerminalWidget> = new Map();
constructor(@IHoverService private readonly _hoverService: IHoverService) {
}
attachToElement(terminalWrapper: HTMLElement) {
if (!this._container) {
this._container = document.createElement('div');
@@ -23,17 +19,12 @@ export class TerminalWidgetManager implements IDisposable {
}
dispose(): void {
this.hideHovers();
if (this._container && this._container.parentElement) {
this._container.parentElement.removeChild(this._container);
this._container = undefined;
}
}
hideHovers(): void {
this._hoverService.hideHover();
}
attachWidget(widget: ITerminalWidget): IDisposable | undefined {
if (!this._container) {
return undefined; // {{SQL CARBON EDIT}} strict-null-check

View File

@@ -500,7 +500,8 @@ export const enum TERMINAL_COMMAND_ID {
NAVIGATION_MODE_EXIT = 'workbench.action.terminal.navigationModeExit',
NAVIGATION_MODE_FOCUS_NEXT = 'workbench.action.terminal.navigationModeFocusNext',
NAVIGATION_MODE_FOCUS_PREVIOUS = 'workbench.action.terminal.navigationModeFocusPrevious',
SHOW_ENVIRONMENT_INFORMATION = 'workbench.action.terminal.showEnvironmentInformation'
SHOW_ENVIRONMENT_INFORMATION = 'workbench.action.terminal.showEnvironmentInformation',
SEARCH_WORKSPACE = 'workbench.action.terminal.searchWorkspace'
}
export const DEFAULT_COMMANDS_TO_SKIP_SHELL: string[] = [