From b550e2414c793b5796b7c311687fd371dda97192 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 26 Jun 2024 10:28:18 +0200 Subject: [PATCH 1/6] fix https://github.com/microsoft/vscode/issues/218059 --- .../contrib/inlineChat/browser/inlineChatContentWidget.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts index e22cab4975c1b..178b7bec30ef9 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts @@ -188,7 +188,6 @@ export class InlineChatContentWidget implements IContentWidget { this._focusNext = true; this._editor.revealRangeNearTopIfOutsideViewport(Range.fromPositions(position), ScrollType.Immediate); - this._widget.inputEditor.setValue(''); const wordInfo = this._editor.getModel()?.getWordAtPosition(position); @@ -202,6 +201,7 @@ export class InlineChatContentWidget implements IContentWidget { if (this._visible) { this._visible = false; this._editor.removeContentWidget(this); + this._widget.inputEditor.setValue(''); this._widget.saveState(); this._widget.setVisible(false); } From d3fac76e702c1fd05c5059af4c5b76b6d3693a5c Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 26 Jun 2024 10:35:21 +0200 Subject: [PATCH 2/6] Change enablement of "Toggle Changes" instead of visibility mitigates/fixes https://github.com/microsoft/vscode/issues/218099 --- .../contrib/inlineChat/browser/inlineChatActions.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts index 063e2de835c7a..2009001a7ea25 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts @@ -525,9 +525,9 @@ export class ToggleDiffForChange extends AbstractInlineChatAction { }, menu: { id: MENU_INLINE_CHAT_WIDGET_STATUS, - group: 'more', - when: ContextKeyExpr.and(CTX_INLINE_CHAT_EDIT_MODE.isEqualTo(EditMode.Live), CTX_INLINE_CHAT_CHANGE_HAS_DIFF), - order: 10, + group: 'zzz', + when: ContextKeyExpr.and(CTX_INLINE_CHAT_EDIT_MODE.isEqualTo(EditMode.Live)), + order: 1, } }); } From 799647a4195bed81666c10d72114ec112e592865 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 26 Jun 2024 12:18:57 +0200 Subject: [PATCH 3/6] have padding per part (actions, input, list) fixes https://github.com/microsoft/vscode/issues/218083 --- .../contrib/chat/browser/chatListRenderer.ts | 2 +- .../contrib/chat/browser/media/chat.css | 8 +++++++- .../inlineChat/browser/inlineChatWidget.ts | 2 +- .../inlineChat/browser/media/inlineChat.css | 17 +++++++++++++---- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts b/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts index 01a8fccfea94b..21047f36d1cbb 100644 --- a/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts +++ b/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts @@ -255,7 +255,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer .username { diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts index 4bc0e13939fac..e5ff46f597fe6 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.ts @@ -361,7 +361,7 @@ export class InlineChatWidget { } protected _getExtraHeight(): number { - return 4 /* padding */ + 2 /*border*/ + 12 /*shadow*/; + return 4 /* padding */ + 2 /*border*/ + 4 /*shadow*/; } updateProgress(show: boolean) { diff --git a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css index a345f1cc0c987..fb77ecf639328 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +++ b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css @@ -13,14 +13,16 @@ .monaco-workbench .inline-chat { color: inherit; - padding: 0 8px; border-radius: 4px; border: 1px solid var(--vscode-inlineChat-border); box-shadow: 0 2px 4px 0 var(--vscode-widget-shadow); - margin-top: 8px; background: var(--vscode-inlineChat-background); } +.monaco-workbench .inline-chat .chat-widget .interactive-session .interactive-input-part { + padding: 4px 6px 0 6px; +} + .monaco-workbench .inline-chat .chat-widget .interactive-session .interactive-input-part .interactive-execute-toolbar { margin-bottom: 1px; } @@ -35,8 +37,10 @@ } .monaco-workbench .inline-chat .chat-widget .interactive-session .interactive-list .interactive-item-container.interactive-item-compact { - padding: 2px 0; gap: 6px; + padding-top: 2px; + padding-right: 20px; + padding-left: 6px; } .monaco-workbench .inline-chat .chat-widget .interactive-session .interactive-list .interactive-item-container.interactive-item-compact .header .avatar { @@ -53,6 +57,10 @@ border: none; } +.monaco-workbench .inline-chat .chat-widget .interactive-session .interactive-list .interactive-item-container.minimal > .header { + right: 10px; +} + /* progress bit */ .monaco-workbench .inline-chat .progress { @@ -66,10 +74,11 @@ /* status */ -.monaco-workbench .inline-chat .status { +.monaco-workbench .inline-chat > .status { display: flex; justify-content: space-between; align-items: center; + padding: 0 6px; } .monaco-workbench .inline-chat .status .actions.hidden { From dabf8be33ccb45e779c83675c67c4de187ee03e8 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 26 Jun 2024 12:31:20 +0200 Subject: [PATCH 4/6] fixes https://github.com/microsoft/vscode/issues/218021 --- .../workbench/contrib/inlineChat/browser/media/inlineChat.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css index fb77ecf639328..e8fd1d5e04762 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +++ b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css @@ -78,7 +78,7 @@ display: flex; justify-content: space-between; align-items: center; - padding: 0 6px; + padding: 4px 6px 0 6px } .monaco-workbench .inline-chat .status .actions.hidden { @@ -156,7 +156,6 @@ display: flex; height: 18px; - padding: 3px 0; /* makes space for action focus borders: https://github.com/microsoft/vscode-copilot/issues/5814 */ .actions-container { gap: 3px From e9233197c8318d009b875898785841ba24d5bde5 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 26 Jun 2024 12:39:58 +0200 Subject: [PATCH 5/6] fix notebook button groups for inline chat --- .../notebook/browser/controller/chat/cellChatActions.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.ts b/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.ts index f7651b21fe923..f474b4dfc6b43 100644 --- a/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.ts +++ b/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.ts @@ -258,7 +258,7 @@ registerAction2(class extends NotebookAction { menu: [ { id: MENU_CELL_CHAT_WIDGET_STATUS, - group: 'inline', + group: '0_main', order: 0, when: CTX_INLINE_CHAT_RESPONSE_TYPE.notEqualsTo(InlineChatResponseType.Messages), } @@ -286,7 +286,7 @@ registerAction2(class extends NotebookAction { }, menu: { id: MENU_CELL_CHAT_WIDGET_STATUS, - group: 'main', + group: '0_main', order: 1 }, f1: false From 5974ef5e3288cc27a79667b590ec65b803fffe16 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 26 Jun 2024 12:57:57 +0200 Subject: [PATCH 6/6] tweak inline chat content widget when text btn are enabled --- .../contrib/inlineChat/browser/inlineChatContentWidget.ts | 6 +++--- .../inlineChat/browser/media/inlineChatContentWidget.css | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts index 178b7bec30ef9..20004ab3eb27c 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.ts @@ -101,9 +101,9 @@ export class InlineChatContentWidget implements IContentWidget { this._domNode.appendChild(this._inputContainer); this._toolbarContainer.classList.add('toolbar'); - if (!configurationService.getValue(InlineChatConfigKeys.ExpTextButtons)) { - this._toolbarContainer.style.display = 'none'; - this._domNode.style.paddingBottom = '6px'; + if (configurationService.getValue(InlineChatConfigKeys.ExpTextButtons)) { + this._toolbarContainer.style.display = 'inherit'; + this._domNode.style.paddingBottom = '4px'; } this._domNode.appendChild(this._toolbarContainer); diff --git a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css index 8800ca13e35ea..cc5f706404cec 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css +++ b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css @@ -5,7 +5,7 @@ .monaco-workbench .inline-chat-content-widget { z-index: 50; - padding: 6px 6px 0px 6px; + padding: 6px; border-radius: 4px; background-color: var(--vscode-inlineChat-background); box-shadow: 0 4px 8px var(--vscode-inlineChat-shadow); @@ -23,3 +23,8 @@ .monaco-workbench .inline-chat-content-widget.interactive-session .interactive-input-part.compact { padding: 0; } + +.monaco-workbench .inline-chat-content-widget.interactive-session .toolbar { + display: none; + padding-top: 4px; +}