diff --git a/src/sql/workbench/contrib/query/browser/actions.ts b/src/sql/workbench/contrib/query/browser/actions.ts index 1ae1b4365e..4e737194ca 100644 --- a/src/sql/workbench/contrib/query/browser/actions.ts +++ b/src/sql/workbench/contrib/query/browser/actions.ts @@ -105,15 +105,14 @@ export class CopyResultAction extends Action { constructor( id: string, label: string, - private configurationService: IConfigurationService, private copyHeader: boolean, - private accountForNumberColumn = true + @IConfigurationService private configurationService: IConfigurationService ) { super(id, label); } public override async run(context: IGridActionContext): Promise { - const selection = this.accountForNumberColumn ? mapForNumberColumn(context.selection) : context.selection; + const selection = mapForNumberColumn(context.selection); const includeHeader = this.configurationService.getValue('queryEditor.results.copyIncludeHeaders') || this.copyHeader; await context.gridDataProvider.copyResults(selection, includeHeader, context.table.getData()); } diff --git a/src/sql/workbench/contrib/query/browser/gridPanel.ts b/src/sql/workbench/contrib/query/browser/gridPanel.ts index 34b5bb2542..6978cd3414 100644 --- a/src/sql/workbench/contrib/query/browser/gridPanel.ts +++ b/src/sql/workbench/contrib/query/browser/gridPanel.ts @@ -478,7 +478,7 @@ export abstract class GridTableBase extends Disposable implements IView { this.rowNumberColumn = new RowNumberColumn({ numberOfRows: this.resultSet.rowCount }); let copyHandler = new CopyKeybind(); copyHandler.onCopy(e => { - new CopyResultAction(CopyResultAction.COPY_ID, CopyResultAction.COPY_LABEL, this.configurationService, false).run(this.generateContext()); + this.instantiationService.createInstance(CopyResultAction, CopyResultAction.COPY_ID, CopyResultAction.COPY_LABEL, false).run(this.generateContext()); }); this.columns.unshift(this.rowNumberColumn.getColumnDefinition()); let tableOptions: Slick.GridOptions = { @@ -814,8 +814,8 @@ export abstract class GridTableBase extends Disposable implements IView { actions.push(new Separator()); } actions.push( - new CopyResultAction(CopyResultAction.COPY_ID, CopyResultAction.COPY_LABEL, this.configurationService, false), - new CopyResultAction(CopyResultAction.COPYWITHHEADERS_ID, CopyResultAction.COPYWITHHEADERS_LABEL, this.configurationService, true) + this.instantiationService.createInstance(CopyResultAction, CopyResultAction.COPY_ID, CopyResultAction.COPY_LABEL, false), + this.instantiationService.createInstance(CopyResultAction, CopyResultAction.COPYWITHHEADERS_ID, CopyResultAction.COPYWITHHEADERS_LABEL, true) ); if (this.state.canBeMaximized) {