Skip to content

Commit 145ec39

Browse files
author
Jackson Kearl
committed
Add telemetry events for search editors
1 parent f76adb0 commit 145ec39

3 files changed

Lines changed: 21 additions & 11 deletions

File tree

src/vs/workbench/contrib/search/browser/searchActions.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,6 @@ export class OpenSearchEditorAction extends Action {
556556
static readonly LABEL = nls.localize('search.openNewEditor', "Open new Search Editor");
557557

558558
constructor(id: string, label: string,
559-
@IEditorService private editorService: IEditorService,
560559
@IConfigurationService private configurationService: IConfigurationService,
561560
@IInstantiationService private readonly instantiationService: IInstantiationService,
562561
) {
@@ -573,7 +572,7 @@ export class OpenSearchEditorAction extends Action {
573572

574573
async run() {
575574
if (this.configurationService.getValue<ISearchConfigurationProperties>('search').enableSearchEditorPreview) {
576-
await openNewSearchEditor(this.editorService, this.instantiationService);
575+
await this.instantiationService.invokeFunction(openNewSearchEditor);
577576
}
578577
}
579578
}
@@ -586,8 +585,6 @@ export class OpenResultsInEditorAction extends Action {
586585
constructor(id: string, label: string,
587586
@IViewletService private viewletService: IViewletService,
588587
@IPanelService private panelService: IPanelService,
589-
@ILabelService private labelService: ILabelService,
590-
@IEditorService private editorService: IEditorService,
591588
@IConfigurationService private configurationService: IConfigurationService,
592589
@IInstantiationService private readonly instantiationService: IInstantiationService,
593590
) {
@@ -606,7 +603,7 @@ export class OpenResultsInEditorAction extends Action {
606603
async run() {
607604
const searchView = getSearchView(this.viewletService, this.panelService);
608605
if (searchView && this.configurationService.getValue<ISearchConfigurationProperties>('search').enableSearchEditorPreview) {
609-
await createEditorFromSearchResult(searchView.searchResult, searchView.searchIncludePattern.getValue(), searchView.searchExcludePattern.getValue(), this.labelService, this.editorService, this.instantiationService);
606+
await this.instantiationService.invokeFunction(createEditorFromSearchResult, searchView.searchResult, searchView.searchIncludePattern.getValue(), searchView.searchExcludePattern.getValue());
610607
}
611608
}
612609
}

src/vs/workbench/contrib/search/browser/searchEditorActions.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,22 @@ import { URI } from 'vs/base/common/uri';
88
import 'vs/css!./media/searchEditor';
99
import { isDiffEditor, ICodeEditor } from 'vs/editor/browser/editorBrowser';
1010
import { TrackedRangeStickiness } from 'vs/editor/common/model';
11-
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
11+
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
1212
import { ILabelService } from 'vs/platform/label/common/label';
1313
import { SearchResult } from 'vs/workbench/contrib/search/common/searchModel';
1414
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
1515
import { SearchEditor } from 'vs/workbench/contrib/search/browser/searchEditor';
1616
import { getOrMakeSearchEditorInput, SearchEditorInput } from 'vs/workbench/contrib/search/browser/searchEditorInput';
1717
import { serializeSearchResultForEditor, serializeSearchConfiguration } from 'vs/workbench/contrib/search/browser/searchEditorSerialization';
18+
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
1819

1920

2021
export const openNewSearchEditor =
21-
async (editorService: IEditorService, instantiationService: IInstantiationService) => {
22+
async (accessor: ServicesAccessor) => {
23+
const editorService = accessor.get(IEditorService);
24+
const telemetryService = accessor.get(ITelemetryService);
25+
const instantiationService = accessor.get(IInstantiationService);
26+
2227
const activeEditor = editorService.activeTextEditorWidget;
2328
let activeModel: ICodeEditor | undefined;
2429
let selected = '';
@@ -41,17 +46,27 @@ export const openNewSearchEditor =
4146
}
4247
}
4348

49+
telemetryService.publicLog2<{}, {}>('searchEditor/openNewSearchEditor');
50+
4451
const input = instantiationService.invokeFunction(getOrMakeSearchEditorInput, { text: serializeSearchConfiguration({ query: selected }) });
4552
await editorService.openEditor(input, { pinned: true });
4653
};
4754

4855
export const createEditorFromSearchResult =
49-
async (searchResult: SearchResult, rawIncludePattern: string, rawExcludePattern: string, labelService: ILabelService, editorService: IEditorService, instantiationService: IInstantiationService) => {
56+
async (accessor: ServicesAccessor, searchResult: SearchResult, rawIncludePattern: string, rawExcludePattern: string) => {
5057
if (!searchResult.query) {
5158
console.error('Expected searchResult.query to be defined. Got', searchResult);
5259
return;
5360
}
5461

62+
const editorService = accessor.get(IEditorService);
63+
const telemetryService = accessor.get(ITelemetryService);
64+
const instantiationService = accessor.get(IInstantiationService);
65+
const labelService = accessor.get(ILabelService);
66+
67+
68+
telemetryService.publicLog2<{}, {}>('searchEditor/createEditorFromSearchResult');
69+
5570
const labelFormatter = (uri: URI): string => labelService.getUriLabel(uri, { relative: true });
5671

5772
const { text, matchRanges } = serializeSearchResultForEditor(searchResult, rawIncludePattern, rawExcludePattern, 0, labelFormatter, true);

src/vs/workbench/contrib/search/browser/searchView.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ import { MultiCursorSelectionController } from 'vs/editor/contrib/multicursor/mu
6565
import { Selection } from 'vs/editor/common/core/selection';
6666
import { SIDE_BAR_BACKGROUND, PANEL_BACKGROUND } from 'vs/workbench/common/theme';
6767
import { createEditorFromSearchResult } from 'vs/workbench/contrib/search/browser/searchEditorActions';
68-
import { ILabelService } from 'vs/platform/label/common/label';
6968
import { Color, RGBA } from 'vs/base/common/color';
7069

7170
const $ = dom.$;
@@ -171,7 +170,6 @@ export class SearchView extends ViewPane {
171170
@IAccessibilityService private readonly accessibilityService: IAccessibilityService,
172171
@IKeybindingService keybindingService: IKeybindingService,
173172
@IStorageService storageService: IStorageService,
174-
@ILabelService private readonly labelService: ILabelService,
175173
@IOpenerService private readonly openerService: IOpenerService
176174
) {
177175
super({ ...options, id: VIEW_ID, ariaHeaderLabel: nls.localize('searchView', "Search") }, keybindingService, contextMenuService, configurationService, contextKeyService, instantiationService);
@@ -1559,7 +1557,7 @@ export class SearchView extends ViewPane {
15591557

15601558
this.messageDisposables.push(dom.addDisposableListener(openInEditorLink, dom.EventType.CLICK, (e: MouseEvent) => {
15611559
dom.EventHelper.stop(e, false);
1562-
createEditorFromSearchResult(this.searchResult, this.searchIncludePattern.getValue(), this.searchExcludePattern.getValue(), this.labelService, this.editorService, this.instantiationService);
1560+
this.instantiationService.invokeFunction(createEditorFromSearchResult, this.searchResult, this.searchIncludePattern.getValue(), this.searchExcludePattern.getValue());
15631561
}));
15641562

15651563
} else {

0 commit comments

Comments
 (0)