Skip to content

Commit 5c9a45e

Browse files
authored
show icon for ai actions in hover (microsoft#263225)
1 parent 2509d0f commit 5c9a45e

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

src/vs/base/browser/ui/hover/hoverWidget.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,18 @@
138138

139139
.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {
140140
padding-right: 4px;
141+
vertical-align: middle;
141142
}
142143

143144
.monaco-hover .hover-row.status-bar .actions .action-container a {
144145
color: var(--vscode-textLink-foreground);
145146
text-decoration: var(--text-link-decoration);
146147
}
147148

149+
.monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon {
150+
color: var(--vscode-textLink-foreground);
151+
}
152+
148153
.monaco-hover .markdown-hover .hover-contents .codicon {
149154
color: inherit;
150155
font-size: inherit;

src/vs/base/browser/ui/hover/hoverWidget.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ export class HoverAction extends Disposable {
7474
this.action = dom.append(this.actionContainer, $('a.action'));
7575
this.action.setAttribute('role', 'button');
7676
if (actionOptions.iconClass) {
77-
dom.append(this.action, $(`span.icon.${actionOptions.iconClass}`));
77+
const iconElement = dom.append(this.action, $(`span.icon`));
78+
iconElement.classList.add(...actionOptions.iconClass.split(' '));
7879
}
7980
this.actionRenderedLabel = keybindingLabel ? `${actionOptions.label} (${keybindingLabel})` : actionOptions.label;
8081
const label = dom.append(this.action, $('span'));

src/vs/editor/contrib/hover/browser/markerHoverParticipant.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import { ITextEditorOptions } from '../../../../platform/editor/common/editor.js
2626
import { IMarker, IMarkerData, MarkerSeverity } from '../../../../platform/markers/common/markers.js';
2727
import { IOpenerService } from '../../../../platform/opener/common/opener.js';
2828
import { Progress } from '../../../../platform/progress/common/progress.js';
29+
import { ThemeIcon } from '../../../../base/common/themables.js';
30+
import { Codicon } from '../../../../base/common/codicons.js';
2931

3032
const $ = dom.$;
3133

@@ -264,6 +266,7 @@ export class MarkerHoverParticipant implements IEditorHoverParticipant<MarkerHov
264266
context.statusBar.addAction({
265267
label: aiCodeAction.action.title,
266268
commandId: aiCodeAction.action.command?.id ?? '',
269+
iconClass: ThemeIcon.asClassName(Codicon.sparkle),
267270
run: () => {
268271
const controller = CodeActionController.get(this._editor);
269272
controller?.applyCodeAction(aiCodeAction, false, false, ApplyCodeActionReason.FromProblemsHover);

0 commit comments

Comments
 (0)