@codingame/monaco-vscode-chat-service-override 20.0.0 → 20.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +36 -36
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +11 -11
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +19 -19
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
- package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +47 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +53 -53
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +18 -18
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +13 -13
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +9 -9
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
- package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +24 -24
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +8 -8
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.js +4 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.js +16 -16
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.js +14 -14
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +1 -1
|
@@ -132,15 +132,15 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
132
132
|
return instantiationService.invokeFunction(accessor => {
|
|
133
133
|
const chatAgentService = accessor.get(IChatAgentService);
|
|
134
134
|
const disposables = ( new DisposableStore());
|
|
135
|
-
const { agent, disposable } = SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, ( localize2(
|
|
135
|
+
const { agent, disposable } = SetupAgent_1.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, ( localize2(5092, "Ask questions about VS Code")).value, ChatAgentLocation.Panel, undefined, context, controller);
|
|
136
136
|
disposables.add(disposable);
|
|
137
137
|
disposables.add(SetupTool.registerTool(instantiationService, {
|
|
138
138
|
id: 'setup.tools.createNewWorkspace',
|
|
139
139
|
source: ToolDataSource.Internal,
|
|
140
140
|
icon: Codicon.newFolder,
|
|
141
|
-
displayName: ( localize(
|
|
142
|
-
modelDescription: ( localize(
|
|
143
|
-
userDescription: ( localize(
|
|
141
|
+
displayName: ( localize(5093, "New Workspace")),
|
|
142
|
+
modelDescription: ( localize(5094, "Scaffold a new workspace in VS Code")),
|
|
143
|
+
userDescription: ( localize(5094, "Scaffold a new workspace in VS Code")),
|
|
144
144
|
canBeReferencedInPrompt: true,
|
|
145
145
|
toolReferenceName: 'new',
|
|
146
146
|
when: ContextKeyExpr.true(),
|
|
@@ -173,8 +173,8 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
173
173
|
}
|
|
174
174
|
return { agent, disposable: disposables };
|
|
175
175
|
}
|
|
176
|
-
static { this.SETUP_NEEDED_MESSAGE = ( new MarkdownString(( localize(
|
|
177
|
-
static { this.TRUST_NEEDED_MESSAGE = ( new MarkdownString(( localize(
|
|
176
|
+
static { this.SETUP_NEEDED_MESSAGE = ( new MarkdownString(( localize(5095, "You need to set up Copilot and be signed in to use Chat.")))); }
|
|
177
|
+
static { this.TRUST_NEEDED_MESSAGE = ( new MarkdownString(( localize(5096, "You need to trust this workspace to use Chat.")))); }
|
|
178
178
|
constructor(context, controller, location, instantiationService, logService, configurationService, telemetryService, environmentService, workspaceTrustManagementService) {
|
|
179
179
|
super();
|
|
180
180
|
this.context = context;
|
|
@@ -214,7 +214,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
214
214
|
}
|
|
215
215
|
progress({
|
|
216
216
|
kind: 'progressMessage',
|
|
217
|
-
content: ( new MarkdownString(( localize(
|
|
217
|
+
content: ( new MarkdownString(( localize(5097, "Getting Copilot ready")))),
|
|
218
218
|
});
|
|
219
219
|
await this.forwardRequestToCopilot(requestModel, progress, chatService, languageModelsService, chatAgentService, chatWidgetService, languageModelToolsService);
|
|
220
220
|
return {};
|
|
@@ -226,7 +226,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
226
226
|
catch (error) {
|
|
227
227
|
progress({
|
|
228
228
|
kind: 'warning',
|
|
229
|
-
content: ( new MarkdownString(( localize(
|
|
229
|
+
content: ( new MarkdownString(( localize(5098, "Copilot failed to get a response. Please try again."))))
|
|
230
230
|
});
|
|
231
231
|
}
|
|
232
232
|
}
|
|
@@ -254,7 +254,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
254
254
|
const timeoutHandle = setTimeout(() => {
|
|
255
255
|
progress({
|
|
256
256
|
kind: 'progressMessage',
|
|
257
|
-
content: ( new MarkdownString(( localize(
|
|
257
|
+
content: ( new MarkdownString(( localize(5099, "Copilot is almost ready")))),
|
|
258
258
|
});
|
|
259
259
|
}, 10000);
|
|
260
260
|
try {
|
|
@@ -267,7 +267,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
267
267
|
let warningMessage;
|
|
268
268
|
if (ready === 'timedout') {
|
|
269
269
|
warningMessage = ( localize(
|
|
270
|
-
|
|
270
|
+
5100,
|
|
271
271
|
"Copilot took too long to get ready. Please ensure you are signed in to {0} and that the extension `{1}` is installed and enabled.",
|
|
272
272
|
defaultChat.provider.default.name,
|
|
273
273
|
defaultChat.chatExtensionId
|
|
@@ -275,7 +275,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
275
275
|
}
|
|
276
276
|
else {
|
|
277
277
|
warningMessage = ( localize(
|
|
278
|
-
|
|
278
|
+
5101,
|
|
279
279
|
"Copilot failed to get ready. Please ensure you are signed in to {0} and that the extension `{1}` is installed and enabled.",
|
|
280
280
|
defaultChat.provider.default.name,
|
|
281
281
|
defaultChat.chatExtensionId
|
|
@@ -358,7 +358,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
358
358
|
progress({
|
|
359
359
|
kind: 'progressMessage',
|
|
360
360
|
content: ( new MarkdownString(( localize(
|
|
361
|
-
|
|
361
|
+
5102,
|
|
362
362
|
"Signing in to {0}.",
|
|
363
363
|
ChatEntitlementRequests.providerId(this.configurationService) === defaultChat.provider.enterprise.id ? defaultChat.provider.enterprise.name : defaultChat.provider.default.name
|
|
364
364
|
)))),
|
|
@@ -367,7 +367,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
367
367
|
case ChatSetupStep.Installing:
|
|
368
368
|
progress({
|
|
369
369
|
kind: 'progressMessage',
|
|
370
|
-
content: ( new MarkdownString(( localize(
|
|
370
|
+
content: ( new MarkdownString(( localize(5103, "Getting Copilot ready")))),
|
|
371
371
|
});
|
|
372
372
|
break;
|
|
373
373
|
}
|
|
@@ -396,7 +396,7 @@ let SetupAgent = class SetupAgent extends Disposable {
|
|
|
396
396
|
else {
|
|
397
397
|
progress({
|
|
398
398
|
kind: 'warning',
|
|
399
|
-
content: ( new MarkdownString(( localize(
|
|
399
|
+
content: ( new MarkdownString(( localize(5104, "Copilot setup failed."))))
|
|
400
400
|
});
|
|
401
401
|
}
|
|
402
402
|
}
|
|
@@ -586,7 +586,7 @@ let ChatSetup = class ChatSetup {
|
|
|
586
586
|
const dialogSkipped = this.skipDialogOnce;
|
|
587
587
|
this.skipDialogOnce = false;
|
|
588
588
|
const trusted = await this.workspaceTrustRequestService.requestWorkspaceTrust({
|
|
589
|
-
message: ( localize(
|
|
589
|
+
message: ( localize(5105, "Copilot is currently only supported in trusted workspaces."))
|
|
590
590
|
});
|
|
591
591
|
if (!trusted) {
|
|
592
592
|
this.context.update({ later: true });
|
|
@@ -664,11 +664,11 @@ let ChatSetup = class ChatSetup {
|
|
|
664
664
|
const styleButton = (...classes) => ({ styleButton: (button) => button.element.classList.add(...classes) });
|
|
665
665
|
let buttons;
|
|
666
666
|
if (this.context.state.entitlement === ChatEntitlement.Unknown || options?.forceSignInDialog) {
|
|
667
|
-
const defaultProviderButton = [( localize(
|
|
667
|
+
const defaultProviderButton = [( localize(5106, "Continue with {0}", defaultChat.provider.default.name)), ChatSetupStrategy.SetupWithoutEnterpriseProvider, styleButton('continue-button', 'default')];
|
|
668
668
|
const defaultProviderLink = [defaultProviderButton[0], defaultProviderButton[1], styleButton('link-button')];
|
|
669
|
-
const enterpriseProviderButton = [( localize(
|
|
669
|
+
const enterpriseProviderButton = [( localize(5106, "Continue with {0}", defaultChat.provider.enterprise.name)), ChatSetupStrategy.SetupWithEnterpriseProvider, styleButton('continue-button', 'default')];
|
|
670
670
|
const enterpriseProviderLink = [enterpriseProviderButton[0], enterpriseProviderButton[1], styleButton('link-button')];
|
|
671
|
-
const googleProviderButton = [( localize(
|
|
671
|
+
const googleProviderButton = [( localize(5106, "Continue with {0}", defaultChat.provider.google.name)), ChatSetupStrategy.SetupWithGoogleProvider, styleButton('continue-button', 'google')];
|
|
672
672
|
if (ChatEntitlementRequests.providerId(this.configurationService) !== defaultChat.provider.enterprise.id) {
|
|
673
673
|
buttons = coalesce([
|
|
674
674
|
defaultProviderButton,
|
|
@@ -685,22 +685,22 @@ let ChatSetup = class ChatSetup {
|
|
|
685
685
|
}
|
|
686
686
|
}
|
|
687
687
|
else {
|
|
688
|
-
buttons = [[( localize(
|
|
688
|
+
buttons = [[( localize(5107, "Set up Copilot")), ChatSetupStrategy.DefaultSetup, undefined]];
|
|
689
689
|
}
|
|
690
|
-
buttons.push([( localize(
|
|
690
|
+
buttons.push([( localize(5108, "Skip for now")), ChatSetupStrategy.Canceled, styleButton('link-button', 'skip-button')]);
|
|
691
691
|
return buttons;
|
|
692
692
|
}
|
|
693
693
|
getDialogTitle(options) {
|
|
694
694
|
if (this.context.state.entitlement === ChatEntitlement.Unknown || options?.forceSignInDialog) {
|
|
695
|
-
return localize(
|
|
695
|
+
return localize(5109, "Sign in to use Copilot");
|
|
696
696
|
}
|
|
697
|
-
return localize(
|
|
697
|
+
return localize(5110, "Start using Copilot");
|
|
698
698
|
}
|
|
699
699
|
createDialogFooter(disposables) {
|
|
700
700
|
const element = $('.chat-setup-dialog-footer');
|
|
701
701
|
const markdown = this.instantiationService.createInstance(MarkdownRenderer, {});
|
|
702
702
|
const settings = ( localize(
|
|
703
|
-
|
|
703
|
+
5111,
|
|
704
704
|
"{0} Copilot Free, Pro and Pro+ may show [public code]({1}) suggestions and we may use your data for product improvement. You can change these [settings]({2}) at any time.",
|
|
705
705
|
defaultChat.provider.default.name,
|
|
706
706
|
defaultChat.publicCodeMatchesUrl,
|
|
@@ -779,7 +779,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
779
779
|
}
|
|
780
780
|
registerActions(context, requests, controller) {
|
|
781
781
|
const chatSetupTriggerContext = ( ContextKeyExpr.or(( ChatContextKeys.Setup.installed.negate()), ChatContextKeys.Entitlement.canSignUp));
|
|
782
|
-
const CHAT_SETUP_ACTION_LABEL = ( localize2(
|
|
782
|
+
const CHAT_SETUP_ACTION_LABEL = ( localize2(5112, "Use AI Features with Copilot for free..."));
|
|
783
783
|
class ChatSetupTriggerAction extends Action2 {
|
|
784
784
|
constructor() {
|
|
785
785
|
super({
|
|
@@ -807,8 +807,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
807
807
|
if (success === false && !lifecycleService.willShutdown) {
|
|
808
808
|
const { confirmed } = await dialogService.confirm({
|
|
809
809
|
type: Severity.Error,
|
|
810
|
-
message: ( localize(
|
|
811
|
-
primaryButton: ( localize(
|
|
810
|
+
message: ( localize(5113, "Copilot setup failed. Would you like to try again?")),
|
|
811
|
+
primaryButton: ( localize(5114, "Retry")),
|
|
812
812
|
});
|
|
813
813
|
if (confirmed) {
|
|
814
814
|
return Boolean(await commandService.executeCommand(CHAT_SETUP_ACTION_ID, mode, options));
|
|
@@ -821,7 +821,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
821
821
|
constructor() {
|
|
822
822
|
super({
|
|
823
823
|
id: 'workbench.action.chat.triggerSetupForceSignIn',
|
|
824
|
-
title: ( localize2(
|
|
824
|
+
title: ( localize2(5115, "Sign in to use Copilot"))
|
|
825
825
|
});
|
|
826
826
|
}
|
|
827
827
|
async run(accessor) {
|
|
@@ -846,14 +846,14 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
846
846
|
await context.update({ hidden: false });
|
|
847
847
|
const chatWidget = await showCopilotView(viewsService, layoutService);
|
|
848
848
|
ChatSetup.getInstance(instantiationService, context, controller).skipDialog();
|
|
849
|
-
chatWidget?.acceptInput(( localize(
|
|
849
|
+
chatWidget?.acceptInput(( localize(5116, "Set up Copilot.")));
|
|
850
850
|
}
|
|
851
851
|
}
|
|
852
852
|
class ChatSetupFromAccountsAction extends Action2 {
|
|
853
853
|
constructor() {
|
|
854
854
|
super({
|
|
855
855
|
id: 'workbench.action.chat.triggerSetupFromAccounts',
|
|
856
|
-
title: ( localize2(
|
|
856
|
+
title: ( localize2(5117, "Sign in to use Copilot...")),
|
|
857
857
|
menu: {
|
|
858
858
|
id: MenuId.AccountsContext,
|
|
859
859
|
group: '2_copilot',
|
|
@@ -870,7 +870,7 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
870
870
|
}
|
|
871
871
|
class ChatSetupHideAction extends Action2 {
|
|
872
872
|
static { this.ID = 'workbench.action.chat.hideSetup'; }
|
|
873
|
-
static { this.TITLE = ( localize2(
|
|
873
|
+
static { this.TITLE = ( localize2(5118, "Hide AI Features")); }
|
|
874
874
|
constructor() {
|
|
875
875
|
super({
|
|
876
876
|
id: ChatSetupHideAction.ID,
|
|
@@ -891,13 +891,13 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
891
891
|
const layoutService = accessor.get(IWorkbenchLayoutService);
|
|
892
892
|
const dialogService = accessor.get(IDialogService);
|
|
893
893
|
const { confirmed } = await dialogService.confirm({
|
|
894
|
-
message: ( localize(
|
|
894
|
+
message: ( localize(5119, "Are you sure you want to hide AI features?")),
|
|
895
895
|
detail: ( localize(
|
|
896
|
-
|
|
896
|
+
5120,
|
|
897
897
|
"You can restore AI features by running the '{0}' command.",
|
|
898
898
|
CHAT_SETUP_ACTION_LABEL.value
|
|
899
899
|
)),
|
|
900
|
-
primaryButton: ( localize(
|
|
900
|
+
primaryButton: ( localize(5121, "Hide AI Features"))
|
|
901
901
|
});
|
|
902
902
|
if (!confirmed) {
|
|
903
903
|
return;
|
|
@@ -917,8 +917,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
917
917
|
constructor() {
|
|
918
918
|
super({
|
|
919
919
|
id: 'workbench.action.chat.upgradePlan',
|
|
920
|
-
title: ( localize2(
|
|
921
|
-
category: ( localize2(
|
|
920
|
+
title: ( localize2(5122, "Upgrade to Copilot Pro")),
|
|
921
|
+
category: ( localize2(5123, 'Chat')),
|
|
922
922
|
f1: true,
|
|
923
923
|
precondition: ( ContextKeyExpr.or(ChatContextKeys.Entitlement.canSignUp, ChatContextKeys.Entitlement.free)),
|
|
924
924
|
menu: {
|
|
@@ -956,8 +956,8 @@ let ChatSetupContribution = class ChatSetupContribution extends Disposable {
|
|
|
956
956
|
constructor() {
|
|
957
957
|
super({
|
|
958
958
|
id: 'workbench.action.chat.manageOverages',
|
|
959
|
-
title: ( localize2(
|
|
960
|
-
category: ( localize2(
|
|
959
|
+
title: ( localize2(5124, "Manage Copilot Overages")),
|
|
960
|
+
category: ( localize2(5123, 'Chat')),
|
|
961
961
|
f1: true,
|
|
962
962
|
precondition: ( ContextKeyExpr.or(ChatContextKeys.Entitlement.pro, ChatContextKeys.Entitlement.proPlus)),
|
|
963
963
|
menu: {
|
|
@@ -1047,7 +1047,7 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1047
1047
|
}
|
|
1048
1048
|
async setup(options) {
|
|
1049
1049
|
const watch = ( new StopWatch(false));
|
|
1050
|
-
const title = ( localize(
|
|
1050
|
+
const title = ( localize(5125, "Getting Copilot ready..."));
|
|
1051
1051
|
const badge = this.activityService.showViewContainerActivity(CHAT_SIDEBAR_PANEL_ID, {
|
|
1052
1052
|
badge: ( new ProgressBadge(() => title)),
|
|
1053
1053
|
});
|
|
@@ -1103,12 +1103,12 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1103
1103
|
const { confirmed } = await this.dialogService.confirm({
|
|
1104
1104
|
type: Severity.Error,
|
|
1105
1105
|
message: ( localize(
|
|
1106
|
-
|
|
1106
|
+
5126,
|
|
1107
1107
|
"Failed to sign in to {0}. Would you like to try again?",
|
|
1108
1108
|
ChatEntitlementRequests.providerId(this.configurationService) === defaultChat.provider.enterprise.id ? defaultChat.provider.enterprise.name : defaultChat.provider.default.name
|
|
1109
1109
|
)),
|
|
1110
|
-
detail: ( localize(
|
|
1111
|
-
primaryButton: ( localize(
|
|
1110
|
+
detail: ( localize(5127, "You must be signed in to use Copilot.")),
|
|
1111
|
+
primaryButton: ( localize(5114, "Retry"))
|
|
1112
1112
|
});
|
|
1113
1113
|
if (confirmed) {
|
|
1114
1114
|
return this.signIn(options);
|
|
@@ -1170,11 +1170,11 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1170
1170
|
const { confirmed } = await this.dialogService.confirm({
|
|
1171
1171
|
type: Severity.Error,
|
|
1172
1172
|
message: ( localize(
|
|
1173
|
-
|
|
1173
|
+
5128,
|
|
1174
1174
|
"An error occurred while setting up Copilot. Would you like to try again?"
|
|
1175
1175
|
)),
|
|
1176
1176
|
detail: error && !isCancellationError(error) ? toErrorMessage(error) : undefined,
|
|
1177
|
-
primaryButton: ( localize(
|
|
1177
|
+
primaryButton: ( localize(5114, "Retry"))
|
|
1178
1178
|
});
|
|
1179
1179
|
if (confirmed) {
|
|
1180
1180
|
return this.doInstallWithRetry();
|
|
@@ -1244,8 +1244,8 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1244
1244
|
}
|
|
1245
1245
|
let isSingleWord = false;
|
|
1246
1246
|
const result = await this.quickInputService.input({
|
|
1247
|
-
prompt: ( localize(
|
|
1248
|
-
placeHolder: ( localize(
|
|
1247
|
+
prompt: ( localize(5129, "What is your {0} instance?", defaultChat.provider.enterprise.name)),
|
|
1248
|
+
placeHolder: ( localize(5130, 'i.e. "octocat" or "https://octocat.ghe.com"...')),
|
|
1249
1249
|
ignoreFocusLost: true,
|
|
1250
1250
|
value: uri,
|
|
1251
1251
|
validateInput: async (value) => {
|
|
@@ -1256,14 +1256,14 @@ let ChatSetupController = class ChatSetupController extends Disposable {
|
|
|
1256
1256
|
if (domainRegEx.test(value)) {
|
|
1257
1257
|
isSingleWord = true;
|
|
1258
1258
|
return {
|
|
1259
|
-
content: ( localize(
|
|
1259
|
+
content: ( localize(5131, "Will resolve to {0}", `https://${value}.ghe.com`)),
|
|
1260
1260
|
severity: Severity.Info
|
|
1261
1261
|
};
|
|
1262
1262
|
}
|
|
1263
1263
|
if (!fullUriRegEx.test(value)) {
|
|
1264
1264
|
return {
|
|
1265
1265
|
content: ( localize(
|
|
1266
|
-
|
|
1266
|
+
5132,
|
|
1267
1267
|
'You must enter a valid {0} instance (i.e. "octocat" or "https://octocat.ghe.com")',
|
|
1268
1268
|
defaultChat.provider.enterprise.name
|
|
1269
1269
|
)),
|
|
@@ -59,43 +59,43 @@ const gaugeBackground = registerColor('gauge.background', {
|
|
|
59
59
|
light: inputValidationInfoBorder,
|
|
60
60
|
hcDark: contrastBorder,
|
|
61
61
|
hcLight: contrastBorder
|
|
62
|
-
}, ( localize(
|
|
62
|
+
}, ( localize(5133, "Gauge background color.")));
|
|
63
63
|
registerColor('gauge.foreground', {
|
|
64
64
|
dark: ( transparent(gaugeBackground, 0.3)),
|
|
65
65
|
light: ( transparent(gaugeBackground, 0.3)),
|
|
66
66
|
hcDark: Color.white,
|
|
67
67
|
hcLight: Color.white
|
|
68
|
-
}, ( localize(
|
|
68
|
+
}, ( localize(5134, "Gauge foreground color.")));
|
|
69
69
|
registerColor('gauge.border', {
|
|
70
70
|
dark: null,
|
|
71
71
|
light: null,
|
|
72
72
|
hcDark: contrastBorder,
|
|
73
73
|
hcLight: contrastBorder
|
|
74
|
-
}, ( localize(
|
|
74
|
+
}, ( localize(5135, "Gauge border color.")));
|
|
75
75
|
const gaugeWarningBackground = registerColor('gauge.warningBackground', {
|
|
76
76
|
dark: inputValidationWarningBorder,
|
|
77
77
|
light: inputValidationWarningBorder,
|
|
78
78
|
hcDark: contrastBorder,
|
|
79
79
|
hcLight: contrastBorder
|
|
80
|
-
}, ( localize(
|
|
80
|
+
}, ( localize(5136, "Gauge warning background color.")));
|
|
81
81
|
registerColor('gauge.warningForeground', {
|
|
82
82
|
dark: ( transparent(gaugeWarningBackground, 0.3)),
|
|
83
83
|
light: ( transparent(gaugeWarningBackground, 0.3)),
|
|
84
84
|
hcDark: Color.white,
|
|
85
85
|
hcLight: Color.white
|
|
86
|
-
}, ( localize(
|
|
86
|
+
}, ( localize(5137, "Gauge warning foreground color.")));
|
|
87
87
|
const gaugeErrorBackground = registerColor('gauge.errorBackground', {
|
|
88
88
|
dark: inputValidationErrorBorder,
|
|
89
89
|
light: inputValidationErrorBorder,
|
|
90
90
|
hcDark: contrastBorder,
|
|
91
91
|
hcLight: contrastBorder
|
|
92
|
-
}, ( localize(
|
|
92
|
+
}, ( localize(5138, "Gauge error background color.")));
|
|
93
93
|
registerColor('gauge.errorForeground', {
|
|
94
94
|
dark: ( transparent(gaugeErrorBackground, 0.3)),
|
|
95
95
|
light: ( transparent(gaugeErrorBackground, 0.3)),
|
|
96
96
|
hcDark: Color.white,
|
|
97
97
|
hcLight: Color.white
|
|
98
|
-
}, ( localize(
|
|
98
|
+
}, ( localize(5139, "Gauge error foreground color.")));
|
|
99
99
|
const defaultChat = {
|
|
100
100
|
completionsEnablementSetting: product.defaultChatAgent?.completionsEnablementSetting ?? '',
|
|
101
101
|
nextEditSuggestionsSetting: product.defaultChatAgent?.nextEditSuggestionsSetting ?? '',
|
|
@@ -156,7 +156,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
156
156
|
}
|
|
157
157
|
getEntryProps() {
|
|
158
158
|
let text = '$(copilot)';
|
|
159
|
-
let ariaLabel = ( localize(
|
|
159
|
+
let ariaLabel = ( localize(5140, "Copilot Status"));
|
|
160
160
|
let kind;
|
|
161
161
|
if (isNewUser(this.chatEntitlementService)) {
|
|
162
162
|
const entitlement = this.chatEntitlementService.entitlement;
|
|
@@ -165,7 +165,7 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
165
165
|
isProUser(entitlement) ||
|
|
166
166
|
entitlement === ChatEntitlement.Free
|
|
167
167
|
) {
|
|
168
|
-
const finishSetup = ( localize(
|
|
168
|
+
const finishSetup = ( localize(5141, "Finish Setup"));
|
|
169
169
|
text = `$(copilot) ${finishSetup}`;
|
|
170
170
|
ariaLabel = finishSetup;
|
|
171
171
|
kind = 'prominent';
|
|
@@ -176,10 +176,10 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
176
176
|
const completionsQuotaExceeded = this.chatEntitlementService.quotas.completions?.percentRemaining === 0;
|
|
177
177
|
if (this.chatEntitlementService.sentiment.disabled || this.chatEntitlementService.sentiment.untrusted) {
|
|
178
178
|
text = `$(copilot-unavailable)`;
|
|
179
|
-
ariaLabel = ( localize(
|
|
179
|
+
ariaLabel = ( localize(5142, "Copilot Disabled"));
|
|
180
180
|
}
|
|
181
181
|
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Unknown) {
|
|
182
|
-
const signedOutWarning = ( localize(
|
|
182
|
+
const signedOutWarning = ( localize(5143, "Signed out"));
|
|
183
183
|
text = `$(copilot-not-connected) ${signedOutWarning}`;
|
|
184
184
|
ariaLabel = signedOutWarning;
|
|
185
185
|
kind = 'prominent';
|
|
@@ -187,13 +187,13 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
187
187
|
else if (this.chatEntitlementService.entitlement === ChatEntitlement.Free && (chatQuotaExceeded || completionsQuotaExceeded)) {
|
|
188
188
|
let quotaWarning;
|
|
189
189
|
if (chatQuotaExceeded && !completionsQuotaExceeded) {
|
|
190
|
-
quotaWarning = ( localize(
|
|
190
|
+
quotaWarning = ( localize(5144, "Chat quota reached"));
|
|
191
191
|
}
|
|
192
192
|
else if (completionsQuotaExceeded && !chatQuotaExceeded) {
|
|
193
|
-
quotaWarning = ( localize(
|
|
193
|
+
quotaWarning = ( localize(5145, "Completions quota reached"));
|
|
194
194
|
}
|
|
195
195
|
else {
|
|
196
|
-
quotaWarning = ( localize(
|
|
196
|
+
quotaWarning = ( localize(5146, "Quota reached"));
|
|
197
197
|
}
|
|
198
198
|
text = `$(copilot-warning) ${quotaWarning}`;
|
|
199
199
|
ariaLabel = quotaWarning;
|
|
@@ -201,15 +201,15 @@ let ChatStatusBarEntry = class ChatStatusBarEntry extends Disposable {
|
|
|
201
201
|
}
|
|
202
202
|
else if (this.editorService.activeTextEditorLanguageId && !isCompletionsEnabled(this.configurationService, this.editorService.activeTextEditorLanguageId)) {
|
|
203
203
|
text = `$(copilot-unavailable)`;
|
|
204
|
-
ariaLabel = ( localize(
|
|
204
|
+
ariaLabel = ( localize(5147, "Code completions disabled"));
|
|
205
205
|
}
|
|
206
206
|
else if (this.completionsService.isSnoozing()) {
|
|
207
207
|
text = `$(copilot-snooze)`;
|
|
208
|
-
ariaLabel = ( localize(
|
|
208
|
+
ariaLabel = ( localize(5148, "Code completions snoozed"));
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
211
|
return {
|
|
212
|
-
name: ( localize(
|
|
212
|
+
name: ( localize(5140, "Copilot Status")),
|
|
213
213
|
text,
|
|
214
214
|
ariaLabel,
|
|
215
215
|
command: ShowTooltipCommand,
|
|
@@ -290,19 +290,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
290
290
|
};
|
|
291
291
|
const { chat: chatQuota, completions: completionsQuota, premiumChat: premiumChatQuota, resetDate } = this.chatEntitlementService.quotas;
|
|
292
292
|
if (chatQuota || completionsQuota || premiumChatQuota) {
|
|
293
|
-
addSeparator(( localize(
|
|
293
|
+
addSeparator(( localize(5149, "Copilot Usage")), toAction({
|
|
294
294
|
id: 'workbench.action.manageCopilot',
|
|
295
|
-
label: ( localize(
|
|
296
|
-
tooltip: ( localize(
|
|
295
|
+
label: ( localize(5150, "Manage Copilot")),
|
|
296
|
+
tooltip: ( localize(5151, "Manage Copilot")),
|
|
297
297
|
class: ThemeIcon.asClassName(Codicon.settings),
|
|
298
298
|
run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageSettingsUrl)))),
|
|
299
299
|
}));
|
|
300
|
-
const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, completionsQuota, ( localize(
|
|
301
|
-
const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(
|
|
302
|
-
const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(
|
|
300
|
+
const completionsQuotaIndicator = completionsQuota && (completionsQuota.total > 0 || completionsQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, completionsQuota, ( localize(5152, "Code completions")), false) : undefined;
|
|
301
|
+
const chatQuotaIndicator = chatQuota && (chatQuota.total > 0 || chatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, chatQuota, ( localize(5153, "Chat messages")), false) : undefined;
|
|
302
|
+
const premiumChatQuotaIndicator = premiumChatQuota && (premiumChatQuota.total > 0 || premiumChatQuota.unlimited) ? this.createQuotaIndicator(this.element, disposables, premiumChatQuota, ( localize(5154, "Premium requests")), true) : undefined;
|
|
303
303
|
if (resetDate) {
|
|
304
304
|
this.element.appendChild($('div.description', undefined, ( localize(
|
|
305
|
-
|
|
305
|
+
5155,
|
|
306
306
|
"Allowance resets {0}.",
|
|
307
307
|
this.dateFormatter.value.format(( new Date(resetDate)))
|
|
308
308
|
))));
|
|
@@ -312,7 +312,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
312
312
|
this.element,
|
|
313
313
|
{ ...defaultButtonStyles, hoverDelegate: nativeHoverDelegate, secondary: canUseCopilot(this.chatEntitlementService) }
|
|
314
314
|
)));
|
|
315
|
-
upgradeProButton.label = ( localize(
|
|
315
|
+
upgradeProButton.label = ( localize(5156, "Upgrade to Copilot Pro"));
|
|
316
316
|
disposables.add(upgradeProButton.onDidClick(() => this.runCommandAndClose('workbench.action.chat.upgradePlan')));
|
|
317
317
|
}
|
|
318
318
|
(async () => {
|
|
@@ -351,10 +351,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
351
351
|
}
|
|
352
352
|
{
|
|
353
353
|
const chatSentiment = this.chatEntitlementService.sentiment;
|
|
354
|
-
addSeparator(( localize(
|
|
354
|
+
addSeparator(( localize(5157, "Code Completions")), chatSentiment.installed && !chatSentiment.disabled && !chatSentiment.untrusted ? toAction({
|
|
355
355
|
id: 'workbench.action.openChatSettings',
|
|
356
|
-
label: ( localize(
|
|
357
|
-
tooltip: ( localize(
|
|
356
|
+
label: ( localize(5158, "Settings")),
|
|
357
|
+
tooltip: ( localize(5159, "Open Settings")),
|
|
358
358
|
class: ThemeIcon.asClassName(Codicon.settingsGear),
|
|
359
359
|
run: () => this.runCommandAndClose(() => this.commandService.executeCommand('workbench.action.openSettings', { query: `@id:${defaultChat.completionsEnablementSetting} @id:${defaultChat.nextEditSuggestionsSetting}` })),
|
|
360
360
|
}) : undefined);
|
|
@@ -362,7 +362,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
362
362
|
}
|
|
363
363
|
if (canUseCopilot(this.chatEntitlementService)) {
|
|
364
364
|
const snooze = append(this.element, $('div.snooze-completions'));
|
|
365
|
-
this.createCompletionsSnooze(snooze, ( localize(
|
|
365
|
+
this.createCompletionsSnooze(snooze, ( localize(5160, "Snooze")), disposables);
|
|
366
366
|
}
|
|
367
367
|
{
|
|
368
368
|
const newUser = isNewUser(this.chatEntitlementService);
|
|
@@ -372,23 +372,23 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
372
372
|
addSeparator();
|
|
373
373
|
let descriptionText;
|
|
374
374
|
if (newUser) {
|
|
375
|
-
descriptionText = ( localize(
|
|
375
|
+
descriptionText = ( localize(5161, "Set up Copilot to use AI features."));
|
|
376
376
|
}
|
|
377
377
|
else if (disabled) {
|
|
378
|
-
descriptionText = ( localize(
|
|
378
|
+
descriptionText = ( localize(5162, "Enable Copilot to use AI features."));
|
|
379
379
|
}
|
|
380
380
|
else {
|
|
381
|
-
descriptionText = ( localize(
|
|
381
|
+
descriptionText = ( localize(5163, "Sign in to use Copilot AI features."));
|
|
382
382
|
}
|
|
383
383
|
let buttonLabel;
|
|
384
384
|
if (newUser) {
|
|
385
|
-
buttonLabel = ( localize(
|
|
385
|
+
buttonLabel = ( localize(5164, "Set up Copilot"));
|
|
386
386
|
}
|
|
387
387
|
else if (disabled) {
|
|
388
|
-
buttonLabel = ( localize(
|
|
388
|
+
buttonLabel = ( localize(5165, "Enable Copilot"));
|
|
389
389
|
}
|
|
390
390
|
else {
|
|
391
|
-
buttonLabel = ( localize(
|
|
391
|
+
buttonLabel = ( localize(5166, "Sign in to use Copilot"));
|
|
392
392
|
}
|
|
393
393
|
this.element.appendChild($('div.description', undefined, descriptionText));
|
|
394
394
|
const button = disposables.add(( new Button(
|
|
@@ -415,8 +415,8 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
415
415
|
const headerLink = typeof item.label === 'string' ? undefined : item.label.link;
|
|
416
416
|
this.renderHeader(itemElement, disposables, headerLabel, headerLink ? toAction({
|
|
417
417
|
id: 'workbench.action.openChatStatusItemLink',
|
|
418
|
-
label: ( localize(
|
|
419
|
-
tooltip: ( localize(
|
|
418
|
+
label: ( localize(5167, "Learn More")),
|
|
419
|
+
tooltip: ( localize(5167, "Learn More")),
|
|
420
420
|
class: ThemeIcon.asClassName(Codicon.linkExternal),
|
|
421
421
|
run: () => this.runCommandAndClose(() => this.openerService.open(( URI.parse(headerLink)))),
|
|
422
422
|
}) : undefined);
|
|
@@ -460,7 +460,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
460
460
|
quotaIndicator,
|
|
461
461
|
{ ...defaultButtonStyles, secondary: true, hoverDelegate: nativeHoverDelegate }
|
|
462
462
|
)));
|
|
463
|
-
manageOverageButton.label = ( localize(
|
|
463
|
+
manageOverageButton.label = ( localize(5168, "Manage paid premium requests"));
|
|
464
464
|
disposables.add(manageOverageButton.onDidClick(() => this.runCommandAndClose(() => this.openerService.open(( URI.parse(defaultChat.manageOverageUrl))))));
|
|
465
465
|
}
|
|
466
466
|
const update = (quota) => {
|
|
@@ -474,17 +474,17 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
474
474
|
usedPercentage = Math.max(0, 100 - quota.percentRemaining);
|
|
475
475
|
}
|
|
476
476
|
if (quota.unlimited) {
|
|
477
|
-
quotaValue.textContent = ( localize(
|
|
477
|
+
quotaValue.textContent = ( localize(5169, "Included"));
|
|
478
478
|
}
|
|
479
479
|
else if (quota.overageCount) {
|
|
480
480
|
quotaValue.textContent = ( localize(
|
|
481
|
-
|
|
481
|
+
5170,
|
|
482
482
|
"+{0} requests",
|
|
483
483
|
this.quotaOverageFormatter.value.format(quota.overageCount)
|
|
484
484
|
));
|
|
485
485
|
}
|
|
486
486
|
else {
|
|
487
|
-
quotaValue.textContent = ( localize(
|
|
487
|
+
quotaValue.textContent = ( localize(5171, "{0}%", this.quotaPercentageFormatter.value.format(usedPercentage)));
|
|
488
488
|
}
|
|
489
489
|
quotaBit.style.width = `${usedPercentage}%`;
|
|
490
490
|
if (usedPercentage >= 90) {
|
|
@@ -495,10 +495,10 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
495
495
|
}
|
|
496
496
|
if (supportsOverage) {
|
|
497
497
|
if (quota.overageEnabled) {
|
|
498
|
-
overageLabel.textContent = ( localize(
|
|
498
|
+
overageLabel.textContent = ( localize(5172, "Additional paid premium requests enabled."));
|
|
499
499
|
}
|
|
500
500
|
else {
|
|
501
|
-
overageLabel.textContent = ( localize(
|
|
501
|
+
overageLabel.textContent = ( localize(5173, "Additional paid premium requests disabled."));
|
|
502
502
|
}
|
|
503
503
|
}
|
|
504
504
|
else {
|
|
@@ -513,15 +513,15 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
513
513
|
const settings = container.appendChild($('div.settings'));
|
|
514
514
|
{
|
|
515
515
|
const globalSetting = append(settings, $('div.setting'));
|
|
516
|
-
this.createCodeCompletionsSetting(globalSetting, ( localize(
|
|
516
|
+
this.createCodeCompletionsSetting(globalSetting, ( localize(5174, "All files")), '*', disposables);
|
|
517
517
|
if (modeId) {
|
|
518
518
|
const languageSetting = append(settings, $('div.setting'));
|
|
519
|
-
this.createCodeCompletionsSetting(languageSetting, ( localize(
|
|
519
|
+
this.createCodeCompletionsSetting(languageSetting, ( localize(5175, "{0}", this.languageService.getLanguageName(modeId) ?? modeId)), modeId, disposables);
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
522
|
{
|
|
523
523
|
const setting = append(settings, $('div.setting'));
|
|
524
|
-
this.createNextEditSuggestionsSetting(setting, ( localize(
|
|
524
|
+
this.createNextEditSuggestionsSetting(setting, ( localize(5176, "Next edit suggestions")), this.getCompletionsSettingAccessor(modeId), disposables);
|
|
525
525
|
}
|
|
526
526
|
return settings;
|
|
527
527
|
}
|
|
@@ -626,7 +626,7 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
626
626
|
const toolbar = disposables.add(( new ActionBar(actionBar, { hoverDelegate: nativeHoverDelegate })));
|
|
627
627
|
const cancelAction = toAction({
|
|
628
628
|
id: 'workbench.action.cancelSnoozeStatusBarLink',
|
|
629
|
-
label: ( localize(
|
|
629
|
+
label: ( localize(5177, "Cancel Snooze")),
|
|
630
630
|
run: () => this.inlineCompletionsService.cancelSnooze(),
|
|
631
631
|
class: ThemeIcon.asClassName(Codicon.stopCircle)
|
|
632
632
|
});
|
|
@@ -635,19 +635,19 @@ let ChatStatusDashboard = class ChatStatusDashboard extends Disposable {
|
|
|
635
635
|
toolbar.clear();
|
|
636
636
|
const timeLeftMs = this.inlineCompletionsService.snoozeTimeLeft;
|
|
637
637
|
if (!isEnabled || timeLeftMs <= 0) {
|
|
638
|
-
timerDisplay.textContent = ( localize(
|
|
638
|
+
timerDisplay.textContent = ( localize(5178, "Hide completions for 5 min"));
|
|
639
639
|
timerDisplay.title = '';
|
|
640
640
|
button.label = label;
|
|
641
|
-
button.setTitle(( localize(
|
|
641
|
+
button.setTitle(( localize(5179, "Hide completions and NES for 5 min")));
|
|
642
642
|
return true;
|
|
643
643
|
}
|
|
644
644
|
const timeLeftSeconds = Math.ceil(timeLeftMs / 1000);
|
|
645
645
|
const minutes = Math.floor(timeLeftSeconds / 60);
|
|
646
646
|
const seconds = timeLeftSeconds % 60;
|
|
647
|
-
timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(
|
|
648
|
-
timerDisplay.title = ( localize(
|
|
649
|
-
button.label = ( localize(
|
|
650
|
-
button.setTitle(( localize(
|
|
647
|
+
timerDisplay.textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds} ${( localize(5180, "remaining"))}`;
|
|
648
|
+
timerDisplay.title = ( localize(5181, "Completions are hidden for the remaining duration"));
|
|
649
|
+
button.label = ( localize(5182, "+5 min"));
|
|
650
|
+
button.setTitle(( localize(5183, "Snooze additional 5 min")));
|
|
651
651
|
toolbar.push([cancelAction], { icon: true, label: false });
|
|
652
652
|
return false;
|
|
653
653
|
};
|
|
@@ -119,7 +119,7 @@ let InputEditorDecorations = class InputEditorDecorations extends Disposable {
|
|
|
119
119
|
const mode = this.widget.input.currentModeObs.get();
|
|
120
120
|
let description = mode.description.get();
|
|
121
121
|
if (this.configurationService.getValue('chat.emptyChatState.enabled')) {
|
|
122
|
-
description = ( localize(
|
|
122
|
+
description = ( localize(5231, "Add context (#), extensions (@), commands (/)"));
|
|
123
123
|
}
|
|
124
124
|
const decoration = [
|
|
125
125
|
{
|
|
@@ -58,7 +58,7 @@ let ChatAgentHoverParticipant = class ChatAgentHoverParticipant {
|
|
|
58
58
|
return ( new RenderedHoverParts([renderedHoverPart]));
|
|
59
59
|
}
|
|
60
60
|
getAccessibleContent(hoverPart) {
|
|
61
|
-
return localize(
|
|
61
|
+
return localize(5232, 'There is a chat agent hover part here.');
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
ChatAgentHoverParticipant = ( __decorate([
|