Skip to content

Commit 45999b7

Browse files
Copilotalexr00
andauthored
Add configuration prompt when no issues found in completion (#7260)
* Initial plan * Add configuration prompt when no issues are found in completion Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>
1 parent c85f53e commit 45999b7

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/issues/issueCompletionProvider.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
ISSUES_SETTINGS_NAMESPACE,
1111
} from '../common/settingKeys';
1212
import { fromNewIssueUri, Schemes } from '../common/uri';
13+
import { EXTENSION_ID } from '../constants';
1314
import { FolderRepositoryManager, PullRequestDefaults } from '../github/folderRepositoryManager';
1415
import { IMilestone } from '../github/interface';
1516
import { IssueModel } from '../github/issueModel';
@@ -28,6 +29,20 @@ class IssueCompletionItem extends vscode.CompletionItem {
2829
}
2930
}
3031

32+
class ConfigureIssueQueriesCompletionItem extends vscode.CompletionItem {
33+
constructor() {
34+
super(vscode.l10n.t('Configure issue queries...'), vscode.CompletionItemKind.Text);
35+
this.detail = vscode.l10n.t('No issues found. Set up queries to see relevant issues.');
36+
this.insertText = '';
37+
this.command = {
38+
command: 'workbench.action.openSettings',
39+
title: vscode.l10n.t('Open Settings'),
40+
arguments: [`@ext:${EXTENSION_ID} githubIssues.queries`]
41+
};
42+
this.sortText = '~'; // Sort to bottom of list
43+
}
44+
}
45+
3146
export class IssueCompletionProvider implements vscode.CompletionItemProvider {
3247
constructor(
3348
private stateManager: StateManager,
@@ -163,6 +178,12 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
163178
}
164179

165180
}
181+
182+
// If no issues were found, show a configuration prompt
183+
if (completionItems.size === 0) {
184+
return [new ConfigureIssueQueriesCompletionItem()];
185+
}
186+
166187
return [...completionItems.values()];
167188
}
168189

0 commit comments

Comments
 (0)