Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
db7be7c
Enhance notification icons and functionality for expand/collapse actions
mrleemurray Feb 24, 2026
3304989
:lipstick:
bpasero Feb 25, 2026
b595f2b
Add depth shadows for panels in the editor to enhance UI layering
mrleemurray Feb 25, 2026
0c71b23
fallback to a model when none is available on the chat widget (#297471)
meganrogge Feb 25, 2026
d71377c
feedback (#297707)
sandy081 Feb 25, 2026
1eb6550
fix focus problem with agent feedback input when find widget is focused
benibenj Feb 25, 2026
ba57365
Fix #297172 (#297713)
sandy081 Feb 25, 2026
7e5adbd
Merge pull request #297719 from microsoft/benibenj/disgusted-cricket
benibenj Feb 25, 2026
8d1f10b
Apply suggestion from @Copilot
mrleemurray Feb 25, 2026
10aa748
Merge pull request #297717 from microsoft/mrleemurray/psychiatric-apr…
mrleemurray Feb 25, 2026
26f33e1
Fix setting link rendering in global auto approve dialog (#297467)
Copilot Feb 25, 2026
f6d14c5
Align chat model picker ARIA semantics with single-selection menu beh…
Copilot Feb 25, 2026
37d8937
Richer debug content rendering (#297584)
pwang347 Feb 25, 2026
bc3b688
Apply policy to browser tools setting (#297591)
kycutler Feb 25, 2026
b0c071d
Don't send cancel noop event for inline chat (#297731)
roblourens Feb 25, 2026
42af80d
have max height for action list (#297722)
sandy081 Feb 25, 2026
8be4c75
Improve discoverability of browser open tool (#297724)
kycutler Feb 25, 2026
42da810
rm lightbulb from chat tip (#297738)
meganrogge Feb 25, 2026
e2c2a7d
fix chat tip getting stuck when mode changes (#297744)
meganrogge Feb 25, 2026
c1ecf2f
Fix seti icon build script (#297749)
pwang347 Feb 25, 2026
3fc0476
skills: bubble plugin skills through the "configure skills" and agent…
connor4312 Feb 25, 2026
b795f6f
Fix quick chat layout (#297737)
roblourens Feb 25, 2026
3b06e45
Merge pull request #297754 from microsoft/connor4312/297249
connor4312 Feb 25, 2026
83cfe8c
Merge pull request #297377 from microsoft/mrleemurray/plain-plum-dove
mrleemurray Feb 25, 2026
a721e64
update distro (#297769)
bpasero Feb 25, 2026
1c3c7c4
ensure rendering of questions can happen while askQuestions tool call…
meganrogge Feb 25, 2026
24dd975
chat customization tweaks (#297787)
joshspicer Feb 25, 2026
15fa1cf
disable next/previous tip actions when only one remains (#297747)
meganrogge Feb 25, 2026
e4cc8ce
collapse hidden welcome-tip instead of making it invisible (#297743)
meganrogge Feb 25, 2026
b6558fb
chat: fix plugin hook workspace root resolution and CLAUDE_PLUGIN_ROO…
connor4312 Feb 25, 2026
b38621a
sessions window: gate app on login (#297795)
joshspicer Feb 25, 2026
0f45431
ensure question carousel renders in chat sessions hover (#297775)
meganrogge Feb 25, 2026
82256ab
Revert "ensure rendering of questions can happen while askQuestions t…
meganrogge Feb 25, 2026
f3f0d31
some yolo mode improvements (#297616)
justschen Feb 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 26 additions & 12 deletions build/lib/policies/policyData.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -39,28 +39,28 @@
],
"policies": [
{
"key": "chat.mcp.gallery.serviceUrl",
"name": "McpGalleryServiceUrl",
"category": "InteractiveSession",
"minimumVersion": "1.101",
"key": "extensions.gallery.serviceUrl",
"name": "ExtensionGalleryServiceUrl",
"category": "Extensions",
"minimumVersion": "1.99",
"localization": {
"description": {
"key": "mcp.gallery.serviceUrl",
"value": "Configure the MCP Gallery service URL to connect to"
"key": "extensions.gallery.serviceUrl",
"value": "Configure the Marketplace service URL to connect to"
}
},
"type": "string",
"default": ""
},
{
"key": "extensions.gallery.serviceUrl",
"name": "ExtensionGalleryServiceUrl",
"category": "Extensions",
"minimumVersion": "1.99",
"key": "chat.mcp.gallery.serviceUrl",
"name": "McpGalleryServiceUrl",
"category": "InteractiveSession",
"minimumVersion": "1.101",
"localization": {
"description": {
"key": "extensions.gallery.serviceUrl",
"value": "Configure the Marketplace service URL to connect to"
"key": "mcp.gallery.serviceUrl",
"value": "Configure the MCP Gallery service URL to connect to"
}
},
"type": "string",
Expand Down Expand Up @@ -286,6 +286,20 @@
},
"type": "boolean",
"default": true
},
{
"key": "workbench.browser.enableChatTools",
"name": "BrowserChatTools",
"category": "InteractiveSession",
"minimumVersion": "1.110",
"localization": {
"description": {
"key": "browser.enableChatTools",
"value": "When enabled, chat agents can use browser tools to open and interact with pages in the Integrated Browser."
}
},
"type": "boolean",
"default": false
}
]
}
126 changes: 47 additions & 79 deletions extensions/theme-2026/themes/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@
--shadow-button-active: inset 0 1px 2px rgba(0, 0, 0, 0.1);
--shadow-active-tab: 0 8px 12px rgba(0, 0, 0, 0.02);

/* Panel depth shadows cast onto the editor surface */
--shadow-depth-x: 5px 0 10px -4px rgba(0, 0, 0, 0.05);
--shadow-depth-y: 0 5px 10px -4px rgba(0, 0, 0, 0.04);

--backdrop-blur-md: blur(20px) saturate(180%);
--backdrop-blur-lg: blur(40px) saturate(180%);
}
Expand All @@ -25,16 +29,17 @@
.monaco-workbench.vs-dark {
--backdrop-blur-md: blur(20px) saturate(180%) brightness(0.55);
--backdrop-blur-lg: blur(40px) saturate(180%) brightness(0.55);
}

/* Stealth Shadows - shadow-based depth for UI elements, controlled by workbench.stealthShadows.enabled */

/* Activity Bar */
.monaco-workbench.vs .part.activitybar {
z-index: 50;
position: relative;
--shadow-depth-x: 5px 0 12px -4px rgba(0, 0, 0, 0.14);
--shadow-depth-y: 0 5px 12px -4px rgba(0, 0, 0, 0.10);
}

/* Stealth Shadows - panels appear to float above the editor.
* Instead of z-index on panels (which breaks webviews, iframes, sashes),
* the editor draws its own "received shadow" via a ::after pseudo-element.
* The surrounding panels stay at default stacking — no z-index needed. */

/* Activity Bar - only needs shadow when sidebar is hidden */
.monaco-workbench.nosidebar .part.activitybar {
box-shadow: var(--shadow-md);
}
Expand All @@ -43,94 +48,61 @@
box-shadow: var(--shadow-md);
}

/* Sidebar */
.monaco-workbench.vs .part.sidebar {
box-shadow: var(--shadow-md);
z-index: 40;
position: relative;
}

.monaco-workbench.sidebar-right.vs .part.sidebar {
box-shadow: var(--shadow-md);
}

.monaco-workbench.vs .part.auxiliarybar {
box-shadow: var(--shadow-md);
z-index: 35;
position: relative;
}

/* Ensure iframe containers in pane-body render above sidebar z-index */
.monaco-workbench.vs > div[data-keybinding-context] {
z-index: 50 !important;
}

/* Ensure in-editor pane iframes render below sidebar z-index */
.monaco-workbench.vs > div[data-parent-flow-to-element-id] {
z-index: 0 !important;
}


/* Ensure webview containers render above sidebar z-index */
.monaco-workbench.vs .part.sidebar .webview,
.monaco-workbench.vs .part.sidebar .webview-container,
.monaco-workbench.vs .part.auxiliarybar .webview,
.monaco-workbench.vs .part.auxiliarybar .webview-container {
position: relative;
z-index: 50;
transform: translateZ(0);
}

/* Panel */
.monaco-workbench.vs .part.panel {
box-shadow: var(--shadow-md);
position: relative;
}

.monaco-workbench.panel-position-left.vs .part.panel {
box-shadow: var(--shadow-md);
}

.monaco-workbench.panel-position-right.vs .part.panel {
box-shadow: var(--shadow-md);
}

.monaco-pane-view .split-view-view:first-of-type > .pane > .pane-header {
border-top: 1px solid var(--vscode-sideBarSectionHeader-border) !important;
}

/* Sashes - ensure they extend full height and are above other panels */
.monaco-workbench.vs .monaco-sash {
z-index: 35;
/* Editor - the ::after pseudo-element draws inset shadows on each edge,
* creating the illusion that sidebar, panel, and auxiliarybar float above it. */
.monaco-workbench.vs .part.editor {
position: relative;
}

.monaco-workbench.vs .monaco-sash.vertical {
z-index: 40;
.monaco-workbench.vs .part.editor::after {
content: '';
position: absolute;
inset: 0;
pointer-events: none;
z-index: 10;
box-shadow:
inset var(--shadow-depth-x),
inset calc(-1 * 5px) 0 10px -4px rgba(0, 0, 0, 0.04),
inset 0 calc(-1 * 5px) 10px -4px rgba(0, 0, 0, 0.05);
}

.monaco-workbench.vs .monaco-sash.vertical:nth-child(2) {
z-index: 45;
/* When sidebar is on the right, flip the stronger shadow to the right edge */
.monaco-workbench.sidebar-right.vs .part.editor::after {
box-shadow:
inset 5px 0 10px -4px rgba(0, 0, 0, 0.04),
inset calc(-1 * 5px) 0 10px -4px rgba(0, 0, 0, 0.05),
inset 0 calc(-1 * 5px) 10px -4px rgba(0, 0, 0, 0.05);
}

.monaco-workbench.vs .monaco-sash.horizontal {
z-index: 35;
/* Panel positions: strengthen the shadow on whichever edge faces the panel */
.monaco-workbench.panel-position-left.vs .part.editor::after {
box-shadow:
inset var(--shadow-depth-x),
inset calc(-1 * 5px) 0 10px -4px rgba(0, 0, 0, 0.04);
}

/* Editor */
.monaco-workbench.vs .part.editor {
position: relative;
.monaco-workbench.panel-position-right.vs .part.editor::after {
box-shadow:
inset 5px 0 10px -4px rgba(0, 0, 0, 0.04),
inset calc(-1 * 5px) 0 10px -4px rgba(0, 0, 0, 0.05);
}

.monaco-workbench.panel-position-top.vs .part.editor::after {
box-shadow:
inset var(--shadow-depth-x),
inset calc(-1 * 5px) 0 10px -4px rgba(0, 0, 0, 0.04),
inset 0 var(--shadow-depth-y);
}
.monaco-workbench.vs .part.editor > .content .editor-group-container > .title {
box-shadow: none;
position: relative;
z-index: 10;
}

.monaco-workbench.vs .part.editor > .content .editor-group-container > .title .tabs-container > .tab.active {
box-shadow: inset var(--shadow-active-tab);
position: relative;
z-index: 5;
}

.monaco-workbench.vs .part.editor > .content .editor-group-container > .title .tabs-container > .tab:hover:not(.active) {
Expand Down Expand Up @@ -636,10 +608,6 @@

/* Notebook */

.monaco-workbench .notebookOverlay.notebook-editor {
z-index: 35 !important;
}

.monaco-workbench .notebookOverlay .monaco-list-row .cell-editor-part:before {
box-shadow: inset var(--shadow-sm);
border-radius: var(--radius-md);
Expand Down
6 changes: 5 additions & 1 deletion extensions/theme-seti/build/update-icon-theme.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,11 @@ const inheritIconFromLanguage = {
"jsonl": 'json',
"postcss": 'css',
"django-html": 'html',
"blade": 'php'
"blade": 'php',
"prompt": 'markdown',
"instructions": 'markdown',
"chatagent": 'markdown',
"skill": 'markdown'
};

const ignoreExtAssociation = {
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "code-oss-dev",
"version": "1.110.0",
"distro": "1b8e5b3448f8be12228bc9bee56b42a5f95158e7",
"distro": "2d57806cfc4400f602f114b4bfc0fb17ce7e1a32",
"author": {
"name": "Microsoft Corporation"
},
Expand Down Expand Up @@ -249,4 +249,4 @@
"optionalDependencies": {
"windows-foreground-love": "0.6.1"
}
}
}
1 change: 1 addition & 0 deletions src/vs/code/electron-browser/workbench/workbench-dev.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
tokenizeToString
notebookChatEditController
richScreenReaderContent
chatDebugTokenizer
;
"/>
</head>
Expand Down
1 change: 1 addition & 0 deletions src/vs/code/electron-browser/workbench/workbench.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
tokenizeToString
notebookChatEditController
richScreenReaderContent
chatDebugTokenizer
;
"/>

Expand Down
3 changes: 2 additions & 1 deletion src/vs/platform/actionWidget/browser/actionList.ts
Original file line number Diff line number Diff line change
Expand Up @@ -787,7 +787,8 @@ export class ActionList<T> extends Disposable {
availableHeight = widgetTop > 0 ? windowHeight - widgetTop - padding : windowHeight * 0.7;
}

const maxHeight = Math.max(availableHeight, this._actionLineHeight * 3 + filterHeight);
const viewportMaxHeight = Math.floor(targetWindow.innerHeight * 0.4);
const maxHeight = Math.min(Math.max(availableHeight, this._actionLineHeight * 3 + filterHeight), viewportMaxHeight);
const height = Math.min(listHeight + filterHeight, maxHeight);
return height - filterHeight;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ const _allApiProposals = {
},
chatDebug: {
proposal: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatDebug.d.ts',
version: 1
version: 2
},
chatHooks: {
proposal: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatHooks.d.ts',
Expand Down
Loading
Loading