Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@theia/debug

eclipse-theia20.7kEPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.01.63.3TypeScript support: included

Theia - Debug Extension

theia-extension, debug

readme


theia-ext-logo

ECLIPSE THEIA - DEBUG EXTENSION


Architecture

DebugService is used to initialize a new DebugSession. This service provides functionality to configure and to start a new debug session. The workflow is the following. If user wants to debug an application and there is no debug configuration associated with the application then the list of available debuggers is requested to create a suitable debug configuration. When configuration is chosen it is possible to alter the configuration by filling in missing values or by adding/changing/removing attributes.

In most cases the default behavior of the DebugSession is enough. But it is possible to provide its own implementation. The DebugSessionFactory is used for this purpose via DebugSessionContribution. Documented model objects are located here

Debug Session life-cycle API

DebugSession life-cycle is controlled and can be tracked as follows:

  • An onDidPreCreateDebugSession event indicates that a debug session is going to be created.
  • An onDidCreateDebugSession event indicates that a debug session has been created.
  • An onDidDestroyDebugSession event indicates that a debug session has terminated.
  • An onDidChangeActiveDebugSession event indicates that an active debug session has been changed

Breakpoints API

ExtDebugProtocol.AggregatedBreakpoint is used to handle breakpoints on the client side. It covers all three breakpoint types: DebugProtocol.SourceBreakpoint, DebugProtocol.FunctionBreakpoint and ExtDebugProtocol.ExceptionBreakpoint. It is possible to identify a breakpoint type with help of DebugUtils. Notification about added, removed, or changed breakpoints is received via onDidChangeBreakpoints.

Server side

At the back-end we start a debug adapter using DebugAdapterFactory and then a DebugAdapterSession is instantiated which works as a proxy between client and debug adapter. If a default implementation of the debug adapter session does not fit needs, it is possible to provide its own implementation using DebugAdapterSessionFactory. If so, it is recommended to extend the default implementation of the DebugAdapterSession. Documented model objects are located here

DebugSessionState accumulates debug adapter events and is used to restore debug session on the client side when page is refreshed.

How to contribute a new debugger

DebugAdapterContribution is a contribution point for all debug adapters to provide and resolve debug configuration.

Additional Information

Debug adapter implementations for VS Code

License

Trademark

"Theia" is a trademark of the Eclipse Foundation https://www.eclipse.org/theia

changelog

Changelog

History

1.63 - 6/26/2025

  • [ai-anthropic] implemented prompt caching for Anthropic #15731
  • [ai-anthropic] removed tool results from subsequential requests #15702
  • [ai-anthropic] reverted "fix: remove tool results from subsequential requests" #15721
  • [ai-anthropic] set opus 4 to 32000 max tokens #15788
  • [ai-chat] adapted all prompt ids to common schema #15880
  • [ai-chat] added async initialization to changesetfileelement #15761
  • [ai-chat] enabled agent-to-agent delegation via tool calls #15736
  • [ai-chat] filtered out error messages from the messages sent to the llm #15720
  • [ai-chat] fixed change set deletion #15759
  • [ai-chat] fixed pinning of the last mentioned agent rather than the first one #15777
  • [ai-chat] introduced tool call confirmation UI #15714
  • [ai-chat] removed requirement that agent has to be mentioned first #15854
  • [ai-chat] sanitized task context labels #15762
  • [ai-chat] provided a task context management / agent #15732
  • [ai-chat-ui] added chat retry button #15779
  • [ai-chat-ui] fixed chat input widget not tracking branches and pending state #15727
  • [ai-chat-ui] fixed difficulty to scroll up when auto scroll is enabled #15748
  • [ai-chat-ui] fixed paste handling in chat input #15766
  • [ai-chat-ui] fixed temporary scroll lock when user scrolls up in AI Chat #15683
  • [ai-chat-ui] fixed toolcall spinner #15757
  • [ai-chat-ui] showed active chat in chat dropdown #15723
  • [ai-chat-ui] started chat from task context #15700
  • [ai-chat-ui] supported instant request for chat initialized with task context and agent #15778
  • [ai-chat-ui] replaced YOLO terminology with "Always Allow" #15756
  • [ai-code-completion] added support for custom AI variables in code completion prompt #15681 - Contributed on behalf of Lonti.com Pty Ltd.
  • [ai-code-completion] fixed caching in code completion #15855
  • [ai-code-completion] worked on improving code completion #15715
  • [ai-core] added chat variable for all open editors #15775
  • [ai-core] added fall back to default prompts if selected does not exist #15879
  • [ai-core] AI features accessible when AI is not enabled #15780
  • [ai-core] allowed to increase the number of retries before failing #15730
  • [ai-core] allowed adding variants via files #15815
  • [ai-core] fixed bug that customizations are treated as variants #15846
  • [ai-core] handled toolCall errors gracefully instead of throwing #15800
  • [ai-core] implemented theia-ai agent completion notification #15816
  • [ai-core] improved image support for tool calls #15765
  • [ai-core] fixed prompt fragment view resetting custom prompt fragments #15852
  • [ai-editor] improved ask AI feature #15725
  • [ai-editor] refined inline Ask AI chat input appearance #15885
  • [ai-editor] started chat from editor context #15712
  • [ai-editor] used chatInputWidget in AskAI Input and fixed keyboard scrolling #15781
  • [ai-editor] streamlined ask AI commands and fixed send to AI chat error #15839
  • [ai-google] updated the Google AI SDK #15737
  • [ai-ide] added ai tools for write through file changes #15717
  • [ai-ide] consolidated coder prompts #15733
  • [ai-ide] fixed agent tree selection highlighting in AI configuration widget #15850
  • [ai-ide] fixed AI Configuration widget tab bar overflow #15739
  • [ai-ide] included the ai-ide stylesheet in the secondary window #15752
  • [ai-ide] introduced appTester agent via browser automation #15713
  • [ai-ide] made workspace functions token efficient #15703
  • [ai-ide] made workspace search function more efficient / use less tokens #15743
  • [ai-ide] moved AI configuration view to main #15726
  • [ai-ide] refined coder prompt #15774
  • [ai-ide] reminded coder to use file change functions #15848
  • [ai-ide] reorganized architect prompts #15859
  • [ai-ide] used relative path in search results in workspace function #15704
  • [ai-ide] workspace search function allowed specifying file extensions #15699
  • [ai-ollama] updated ollama version and supported newest features #15795
  • [ai-openai] made sure to add openai stream options only in streaming models #15706
  • [ai-openai] supported more than 10 tool calls via OpenAI SDK #15696
  • [application-package] bumped vscode API compatibility to 1.101.1 #15888 - contributed on behalf of STMicroelectronics
  • [core] cancelled hover preview on right mouse click #15826
  • [core] didn't focus window to reveal widget #15760
  • [core] didn't steal global focus for widget activation #15735
  • [core] fixed getMenuNode() for leaf nodes #15845 - contributed on behalf of STMicroelectronics
  • [core] fixed initial configuration of backend loggers #15705
  • [core] fixed problems with menu item 15828_menu_visibility #15856 - Contributed on behalf of STMicroelectronics
  • [core] fixed revealTab #15754
  • [core] listened for model will save events directly instead of registering a save participant #15787 - contributed on behalf of STMicroelectronics
  • [core] removed obsolete menu workaround #15753 - Contributed on behalf of STMicroelectronics
  • [core] returned undefined instead of throwing when getting non-existent menu #15792 - Contributed on behalf of STMicroelectronics
  • [core] sync selection if props change #15784
  • [core] theia 1.62.0 released #15679
  • [core] translation update for version 1.63.0 #15892
  • [core] updated electron to version 36.4.0 #15837 - contributed on behalf of STMicroelectronics
  • [core] Updated translations for version 1.62.0 #15678
  • [core] used Ctrl+Tab for tab switching on Mac #15763
  • [debug] enabled multiSelect for the debugBreakpointsWidget #15749
  • [doc] added (major) dependency update to publishing #15674
  • [editor] added missing NLS template item for format on save #15813
  • [electron-browser] fixed localization of files #15677
  • [filesystem] bumped multer version to 2.0.1 #15808 - contributed on behalf of STMicroelectronics
  • [filesystem] bumped multer version to 2.0.1 #15806 - Contributed on behalf of STMicroelectronics
  • [filesystem] bumped tar-fs to 3.0.9 on 1.61.1 #15805
  • [filesystem] deps: bumped tar-fs to 3.0.9 #15719 - contributed by STMicroelectronics
  • [general] updated project info with styling information #15722
  • [monaco] enacted code actions when change set file was created #15724
  • [monaco] fixed existence check when contributing monaco menu items #15746 - Contributed on behalf of STMicroelectronics
  • [playwright] avoided playwright tests depending on cwd #15676 - Contributed by MVTec Software GmbH
  • [playwright] fixed playwright tests on windows #15684 - Contributed by MVTec Software GmbH
  • [plugin] added support for the new vscode.lm.registerMcpServerDefinitionProvider API #15755
  • [plugin] supported encoding/decoding from workspace and while opening text documents #15873 - Contributed on behalf of STMicroelectronics
  • [project-info] added widgets, commands and toolbar to project info #15697
  • [scm] amended enablement/visibility checks for dirty diff widget toolbar actions #15851
  • [search-in-workspace] fixed bug with incorrect height calculation of the search field #15881
  • [toolbar] restored toolbar default items #15878

1.62.0 - 5/28/2025

  • [ai-anthropic] added Claude 4 models #15640
  • [ai-chat] added logic to handle empty text response correctly #15638
  • [ai-chat] overloaded ChatToolRequest.handler #15655
  • [ai-chat-ui] added logic to hide suggestions from chat input for message editing #15617
  • [ai-chat-ui] fixed chat input field to show a vertical scroll bar if content overflows #15654
  • [ai-code-completion] introduced debounce for inline AI code completion #15619
  • [ai-core] added check for a valid LanguageModelStreamResponsePart #15653
  • [ai-core] added default context resolution for custom agents #15571
  • [ai-core] added new generic AI communication model #15409 - Contributed on behalf of STMicroelectronics
  • [ai-ide] added initial prompt for coder agent mode #15569
  • [ai-ide] added logic to open AI configuration view at bottom #15637
  • [ai-ide] added next prompt for architect #15649
  • [ai-ide] cleaned up next coder prompt #15634
  • [ai-ide] clarified resolution of context files for coder an architect #15579
  • [ai-ide] fixed a repetition in the coder prompt #15650
  • [ai-ide] improved file change set functions #15642
  • [ai-openai] added stream_options/include_usage only for openai models #15615
  • [ai-vercel-ai] clarified API key description for Vercel AI keys #15665
  • [ai-vercel-ai] introduced experimental generic LLM provider via Vercel AI #15482
  • [collaboration] updated OCT integration to v0.3 #15633
  • [core] added logic to close secondary windows on reload #15591 - Contributed on behalf of STMicroelectronics
  • [core] added logic to render groups correctly in "more" tab bar menu #15647 - Contributed on behalf of STMicroelectronics
  • [core] added logic to update tree upon becoming visible #15595 - Contributed on behalf of STMicroelectronics
  • [core] added logic to use pointer capture for split handle dragging #15643 - Contributed on behalf of STMicroelectronics
  • [core] added logic to use same autosave heuristic when closing widget #15502
  • [core] bumped dompurify to 3.2.4 #15564 - Contributed by STMicroelectronics
  • [core] cleaned up handling of "toggle maximized" #15547 - Contributed on behalf of STMicroelectronics
  • [core] improved handling of logging with proxies #15478
  • [core] made hover-service use platform showPopover() #15452
  • [debug] added logic to subscribe to decoration changes at initialization #15573 - Contributed by MVTec Software GmbH
  • [debug] allowed to see editor hovers while debugging #15609 - Contributed by MVTec Software GmbH
  • [dev-packages] fixed ssh terminals #15443
  • [editor] added logic to respect editor associations when opening diff-editors #15422
  • [editor] fixed "Show all opened editors" dropdown display by using correct icon class type #15624
  • [filesystem] bumped multer to 2.0.0 #15614 - Contributed by STMicroelectronics
  • [filesystem] bumped tar-fs to 3.0.8 #15562 - Contributed by STMicroelectronics
  • [notebook] made monaco commands available through command palette for notebook cells #15538
  • [playwright] improved playwright tests reliability #15446
  • [remote-wsl] added WSL remote support #15543
  • [vscode] bumped vscode API compatibility to 1.99.3 #15658
  • [vscode] added support for CommentAuthorInformation in CommentThread canreply #15598 - Contributed on behalf of STMicroelectronics
  • [vscode] added support for TerminalState shell property #15514 - Contributed on behalf of STMicroelectronics

Breaking Changes:

  • [core] refactored menu nodes #14676 - Contributed on behalf of STMicroelectronics
  • [ai-core] refactored prompt management and the agent registration interface #15632\ Check the PR for more information.
  • [ai-history] updated logic to use communication model in AI history #15540 - Contributed by STMicroelectronics\ This refactoring removes the communication recording service. Manual recording is no longer needed. When using the LanguageModelService, LLM interactions are automatically recorded into a communication model, which can be inspected in the history view.
  • [monaco] implemented "code actions on save" #15555 - Contributed on behalf of STMicroelectronics\ Replaced MonacoEditorModel.onWillSave "wait until event" event with registerWillSaveModelListener for simpler semantics. Also removed the EditorModelService.onWillSave as it's pure convenience and unused in framework code.

1.61.0 - 4/29/2025

  • [ai-anthropic] fix: do not set anthropic tool choice without tools #15329
  • [ai-chat] correctly returned tool input when creating the message #15451
  • [ai-chat] enhanced streaming content parsing for incomplete response content matches #15387
  • [ai-chat] added agent prompt suggestions & chat summary #15427
  • [ai-chat] added customizable welcome message #15316
  • [ai-chat] collapsed label from right & no printed   #15344
  • [ai-chat] fixed context menu paste #15222
  • [ai-chat] fixed space issue after variables and agent label in chat view #15491
  • [ai-chat] improved style of code blocks in modern theme #15351
  • [ai-chat] introduced editable chat requests #15479
  • [ai-chat] made private functions and injections protected in chatviewtreewidget to make them overridable #15297 - Contributed by MVTec Software GmbH
  • [ai-chat] removed outline in the chat session settings editor #15356
  • [ai-chat] consolidated widget labels #15304
  • [ai-chat] fixed communication recording in orchestrator #15328
  • [ai-code-completion] fixed typo in code completion prompt #15383
  • [ai-code-completion] provided range to completion item to allow for correct inline display #15398
  • [ai-code-completion] turned automatic inline code completion off by default #15333
  • [ai-core] added shortcut for adding the current file to the ai chat context #15252
  • [ai-core] fixed response content in language model utility #15377
  • [ai-core] made parameters in ToolRequest mandatory #15288
  • [ai-core] resolved unresolved variables to empty string #15463
  • [ai-core] white label prompt templates #15322 - Contributed by MVTec Software GmbH
  • [ai-core] added initial support for tracking token usage #15378
  • [ai-core] allowed project specific prompt additions #15236
  • [ai-core] allowed workspace specific custom agents #15457
  • [ai-core] ensured all tool providers bound to self #15330
  • [ai-google] added gemini flash 2.5 to default models #15487
  • [ai-google] added native gemini provider #15334
  • [ai-history] more legible history entries #15483
  • [ai-ide] added a new tool which allows to list and run tasks #15504
  • [ai-ide] added a suggestion to architect to summarize the current session and continue with coder #15512
  • [ai-ide] added project info prompt fragment #15449
  • [ai-ide] clarified replace function description #15442
  • [ai-ide] fixed getFileDiagnostics waits forever #15305
  • [ai-ide] minor improvements mcp view #15364
  • [ai-ide] modified link in AI chat instructions to show AI settings directly #15326
  • [ai-ide] refined ai setting descriptions #15250
  • [ai-ide] refined coder prompt #15358
  • [ai-ide] used camelCase in React SVG #15367
  • [ai-ide, ai-mcp] added MCP Server config view to AI Configuration #15280
  • [ai-mcp] allowed to add all MCP functions via prompt fragment #15270
  • [ai-ollama] fixed Ollama regression in Theia 1.60 #15476
  • [ai-openai] added gpt-4.1 models to the list of default models #15465
  • [ai-scanoss] fixed scanoss button/icon in chat ui #15339
  • [api-samples] used ElectronConnectionHandler to connect updater services #15430
  • [application-package] bumped VS Code API version to 1.98.2 #15341 - Contributed on behalf of STMicroelectronics
  • [console] added missing editor dependency to console #15354
  • [console] waited for async creation of debug console widget #15388 - Contributed on behalf of STMicroelectronics
  • [core] clarified error for multiple occurrences during replace #15481
  • [core] did not re-export the configuration folder as env variable #15376
  • [core] fixed resolve from root #15331
  • [core] fixed switching the localization language back to the default #15445
  • [core] hid overflow in view container headers #15321 - contributed on behalf of STMicroelectronics
  • [core] hide overflow on sidebar-toolbar #15492 - contributed on behalf of STMicroelectronics
  • [core] limited the width of tab-bar rows to 100% of parent #15260 - contributed on behalf of STMicroelectronics
  • [core] made icons right-aligned #15373 - contributed on behalf of STMicroelectronics
  • [core] made preventTabbingOutsideDialog more easily overridable #15460
  • [core] relayout dock panel when breadcrumbs became active #15342 - contributed on behalf of STMicroelectronics
  • [core] removed es6-promise & setImmediate #15436 - webperf contribution
  • [core] reverted #15331 to fix webviews #15421 - Contributed on behalf of STMicroelectronics
  • [core] set selection upon editor navigation only after editor was fully visible #15302 - contributed on behalf of STMicroelectronics
  • [core] theia 1.60.0 release #15385
  • [core] translation update for version 1.60.0 #15382 - triggered by @sgraband
  • [core] used fixed version 1.5.5 of perfect-scrollbar #15279 - contributed on behalf of STMicroelectronics
  • [debug] fixed breakpoint editor shrinking in size #15515
  • [debug] reacted to editor model changing #15509
  • [debug] used editor widget as key for debug editor models #15516 - contributed on behalf of STMicroelectronics
  • [dev-container] added DOCKER_HOST support to devcontainer #15350
  • [docs] fixed broken links in documentation #15454
  • [getting-started] added news section with AI to welcome page #15269
  • [monaco] avoided double registration of sticky scroll toggle #15366
  • [monaco] disposed of child instantiation services in MonacoEditor #15246
  • [monaco] ensured valid editor was constructed before attempting to use editor services #15238
  • [monaco] fixed autocomplete content in chat view #15240
  • [monaco] fixed issue with dirty state not correctly set when save operation is canceled #15310
  • [monaco] passed multiple classnames as array of strings #15244
  • [monaco] show context menu for editor minimap #15220
  • [monaco] used simpleMonacoEditor for most inline editors #15389
  • [notebook] fixed cell editor and notebook output selection #15384
  • [plugin] made diagnosticcollection iterable #15361 - contributed on behalf of STMicroelectronics
  • [plugin] removed proposed API createFileSystemWatcher #15265 - contributed on behalf of STMicroelectronics
  • [plugin] renamed authenticationForceNewSessionOptions #15264 - contributed on behalf of STMicroelectronics
  • [plugin] supported sourceControlResourceGroup optional contextValue #15219 - contributed on behalf of STMicroelectronics
  • [plugin-ext] implemented the registerDiffInformationCommand to address issue #14144 #15406
  • [plugin-ext] prevented plugin localization errors #15268
  • [preferences] explicitly set scrolling element to avoid document scroll #15315
  • [preferences] fixed issue where minimums of 0 for number preferences were ignored #15230
  • [remote] basic ssh_config support #15499
  • [scm] updated dirty diff when editor became visible #15505 - Contributed on behalf of STMicroelectronics
  • [search-in-workspace] fixed SiW height mismatch #15287
  • [task] only called resolve() on tasks that have no execution #15480 - contributed on behalf of STMicroelectronics
  • [terminal] added terminal via "+" in terminal tool bar #15470
  • [test] updated deprecated xterm dependency #15523 - contributed on behalf of STMicroelectronics

Breaking Changes:

  • [core] allow to disable plugins. The PR includes a couple of renamings: HostedPluginDeployerHandler => PluginDeployerHandlerImpl and PluginServerHandler => PluginServerImpl. Also removed the ability of HostedPluginProcess to add extra deployed plugins. #15205 - contributed on behalf of STMicroelectronics
  • [core] removed version fix of @types/express-serve-static-core to 5.0.4. Adopters might need to do this as well if they run into typing issues. #15415
  • [git] stop publishing the @theia/git extension. This extension has been deprecated for a long time. Please use the built-in VS Code Git extension instead, which offers the same feature set. #15471

1.60.0 - 04/03/2025

  • [ai] add dummy preference descriptions to open AI config widget #15166
  • [ai] add function to retrieve diagnostics #14974
  • [ai] add gpt-4.5-preview as a default model #15090
  • [ai] add MCP Server config view to AI Configuration #15280
  • [ai] add native gemini provider #15334
  • [ai] add schema for agent settings #15175
  • [ai] allow project specific prompt additions #15236
  • [ai] allow to add all MCP functions via prompt fragment #15270
  • [ai] chore(chat): minor chat style improvements #15112
  • [ai] chore(chat): pass pinned agent in frontend chat service #15070
  • [ai] chore: improve style of code blocks in modern theme #15351
  • [ai] chore: remove outline in the chat session settings editor #15356
  • [ai] consider TerminalLinkProvider contributions recursively #15177
  • [ai] consolidate widget labels #15304
  • [ai] fix(ai-chat): add space after all autocompletions in AI chat #15052
  • [ai] fix: Pin node-abi version to 3.x due to Node.js 22+ requirement in 4.x #15212
  • [ai] fix: autocomplete content in chat view #15240
  • [ai] fix: communication recording in Orchestrator #15328
  • [ai] fix: do not set anthropic tool choice without tools #15329
  • [ai] fix: fix response content in language model utility #15377
  • [ai] fix: getFileDiagnostics waits forever #15305
  • [ai] fix: prevent autocompletion from triggering incorrectly within words #15030
  • [ai] fix(chat): fix context menu paste #15222
  • [ai] feat(chat): add customizable welcome message #15316
  • [ai] feat(chat): introduce LLM-based chat naming and last interaction date #15116
  • [ai] fix: ensure that the dirty state is correctly set even when the current save operation is canceled (#15308). #15310
  • [ai] initialize AIActivationService from preferences #15044 - Contributed by MVTec Software GmbH
  • [ai] make parameters in ToolRequest mandatory #15288
  • [ai] make private functions and injections protected in ChatViewTreeWidget to make them overridable #15297 - Contributed by MVTec Software GmbH
  • [ai] modify link in AI chat instructions to show AI settings directly #15326
  • [ai] put all prompts under MIT license #15159
  • [ai] refine AI setting descriptions #15250
  • [ai] refine coder prompt #15358
  • [ai] set correct defaults for max tokens for anthropic models #15198
  • [ai] set z-index of hovers to 1000 #15172
  • [ai] show news section with AI on welcome page #15269
  • [ai] turn automatic inline code completion off by default #15333
  • [ai] use camelCase in React SVG #15367
  • [ai] add shortcut for adding the current file to the AI chat context #15252
  • [ai] add variable completion for {{}} syntax in prompttemplate #15026
  • [console] fix: add missing editor dependency to console #15354
  • [core] do not re-export the configuration folder as env variable #15376
  • [core] fix resolve from root #15331
  • [core] fixed node-abi version to 3.x due to Node.js 22+ requirement in 4.x #15212
  • [core] hide overflow in view container headers #15321 - Contributed on behalf of STMicroelectronics
  • [core] limit the width of tab-bar rows to 100% of parent #15260 - Contributed on behalf of STMicroelectronics
  • [core] made icons right-aligned #15373 - Contributed on behalf of STMicroelectronics
  • [core] relayout dock panel when breadcrumbs become active #15342 - Contributed on behalf of STMicroelectronics
  • [core] set z-index of hovers to 1000 #15172
  • [core] sync theia dark/light theme with electron nativeTheme setting #15037 - Contributed by MVTec Software GmbH
  • [core] use fixed version 1.5.5 of perfect-scrollbar #15279 - Contributed on behalf of STMicroelectronics
  • [debug] expand local variables by default #15017 - Contributed by MVTec Software GmbH
  • [debug] fix: clipping issue in debug hover (#15086) #15154
  • [debug] fix: store original handle of debug adapter config #15149
  • [debug] improve displaying inline frame decorator #15097 - Contributed by MVTec Software GmbH
  • [dev] chore: use shared packages in src-gen #15185 - Contributed on behalf of STMicroelectronics
  • [dev] improve error handling on optional dependencies #14943
  • [filesystem] don't stop watching folder because of dropped events. #15111 - Contributed on behalf of STMicroelectronics
  • [memory-inspector] style: inputselect of memory inspector ui enhanced #15032
  • [monaco] dispose of child instantiation services in MonacoEditor #15246
  • [monaco] ensure valid editor constructed before attempting to use editor services #15238
  • [monaco] ensure word-wrap respected when diff editors side by side #15161
  • [monaco] handle visibility changes for diff editors #15189
  • [monaco] set selection upon editor navigation only after editor is fully visible #15302 - Contributed on behalf of STMicroelectronics
  • [monaco] show context menu for editor minimap #15220
  • [monaco] workspace Symbols: pass multiple classnames as array of strings #15244
  • [notebook] fix: ensure NOTEBOOK_CELL_TYPE context key is set during initialization #15182
  • [playwright] don't open context menu on Playwright explorer selection #15143
  • [playwright] suggestion to fix missing lib folder in playwright package #15122
  • [plugin] improve plugin package localization #15142
  • [plugin] prevent plugin localization errors #15268
  • [plugin] support "Save As" for custom editors #14972
  • [preferences] ensure correct node expansion with short trailing sections #15005
  • [preferences] explicitely set scrolling element to avoid document scroll #15315
  • [preferences] fix issue where minimums of 0 for number preferences are ignored #15230
  • [output] fix: manage channel addition without show usage #15101 - Contributed by STMicroelectronics
  • [search] fix SiW height mismatch #15287
  • [terminal] add commandsToSkipShell preference for plugin support #15099
  • [vscode] bump VS Code API version to 1.98.2 #15341 - Contributed on behalf of STMicroelectronics
  • [vscode] make DiagnosticCollection iterable #15361 - Contributed on behalf of STMicroelectronics
  • [vscode] remove duplicate declaration for DocumentDropEdit #15126 - Contributed on behalf of STMicroelectronics
  • [vscode] rename AuthenticationForceNewSessionOptions #15264 - Contributed on behalf of STMicroelectronics
  • [vscode] selection properties are now readonly #15141 - Contributed on behalf of STMicroelectronics
  • [vscode] support keepWhitespace in SnippetTextEdit and insertSnippet #15176 - Contributed on behalf of STMicroelectronics
  • [vscode] support SourceControlResourceGroup optional contextValue #15219 - Contributed on behalf of STMicroelectronics
  • [vscode] support command workbench.extensions.command.installFromVSIX #15179 - Contributed on behalf of STMicroelectronics

Breaking Changes:

  • [core] fixed version @types/express to ^4.17.21 and @types/express-serve-static-core to 5.0.4. This might be required for adopters as well if they run into typing issues. #15147
  • [core] migration from deprecated phosphorJs to actively maintained fork Lumino #14320 - Contributed on behalf of STMicroelectronics Adopters importing @phosphor packages now need to import from @lumino. CSS selectors refering to .p- classes now need to refer to .lm- classes. There are also minor code adaptations, for example now using iconClass instead of icon in Lumino commands.
  • [core] Refactor menu nodes #14676 - Contributed on behalf of STMicroelectronics

Breaking Changes:

  • [ai-chat] ParsedChatRequest.variables is now ResolvedAIVariable[] instead of a Map<string, AIVariable> #15196
  • [ai-chat] ChatRequestParser.parseChatRequest is now asynchronous and expects an additional ChatContext parameter #15196

1.59.0 - 02/27/2025

  • [ai] added claude sonnet 3.7 to default models #15023
  • [ai] added contextsummary variable to ai system #14971
  • [ai] aligned ai chat toggle keybinding with vs code on macos #14850
  • [ai] allowed multiple replacements in coder function #14934
  • [ai] allowed to close chats again #14992
  • [ai] chore: used fileservice.exist instead of trying to read the file #14849
  • [ai] chore(chat): moved chat window to the right by default #14970
  • [ai] consolidated the variables we provided in the chat #15021
  • [ai] corrected description in workspace agent functions #14898
  • [ai] correctly set the systempromptid in custom agents #14988
  • [ai] feat(ai): enabled context variables for chat requests #14787
  • [ai] fixed autocompletion for functions in chat input #14838
  • [ai] fixed: provided open handler for quick file open #15003
  • [ai] fixed(chat): avoided file suggestions on colons #14965
  • [ai] fixed(chat): improved variable autocompletion #15018
  • [ai] fixed(chat): prevented duplicate context element entries #14979
  • [ai] fixed(chat): prevented focus outline color of ai chat #15020
  • [ai] fixed closing changesets #14994
  • [ai] fixed structured output dispatch and settings #14811
  • [ai] fixed tool call prompt text replacement #14830
  • [ai] fixed tool calling string in messages #14906
  • [ai] fixed: quick input hover initialization #15064
  • [ai] instructed coder to use replace when search and replace failed #15061
  • [ai] implemented asynch iterator for open ai stream #14920
  • [ai] improved integration between variableregistry and ai variableservice #14827
  • [ai] introduced ai-ide package and moved ai configuration view #14948
  • [ai] labeled ai as alpha #14968
  • [ai] localized theia ai strings #14857
  • [ai] made dependency on monaco explicit #14907
  • [ai] made universal default prompt plain #15007
  • [ai] made new code completion prompt default and turned on inline by default #14822
  • [ai] pinned chat agent #14716
  • [ai] refined coder prompt #14887
  • [ai] refined search-replace prompt default of coder and made it default #14870
  • [ai] refined system message settings #14877
  • [ai] refactored chat agents into separate ide package #14852
  • [ai] removed aieditormanager #14912
  • [ai] renamed workspace agent to architect #14963
  • [ai] set o1 to stream by default #14947
  • [ai] streamlined the agent code #14859
  • [ai] supported anyof in function parameters #15012
  • [ai] updated chatmodel naming #14913
  • [ai] updated default openai models #14808
  • [ai] used content from monacoworkspaceservice for ai getfilecontent #14885
  • [application-manager] used default import of fix-path package #14812
  • [ci] fixed next build #14981
  • [console] fixed: console text model used the language id #14854
  • [core] added commands to toggle left and right panel #15041
  • [core] fixed: removed files in editor tab when deleted #14990
  • [core] fixed problems related with menu bar updates on focus change #14959 - Contributed on behalf of STMicroelectronics
  • [core] made context element mandatory when showing a context menu #14982 - Contributed on behalf of STMicroelectronics
  • [core] only sent visibility change notification when the visibility actually changed #15040 - Contributed by STMicroelectronics
  • [core] streamlined logging api #14861
  • [core] supported manual override of text blocks #14712
  • [debug] fixed: handled the breakpoint update event for id:0 #14866
  • [debug] fixed: no watch evaluation if no current stack frame #14874
  • [debug] fixed: warned user before starting the same debug session multiple times #14862
  • [debug] handled the case where the editor model was set to null #15013 - Contributed on behalf of STMicroelectronics
  • [dev-container] devcontainer: added ability to use localenv for containerenv property #14821
  • [dev-container] devcontainer: added simple containerenv contribution #14816
  • [dev-container] fixed recent workspace tracking for devcontainer workspaces #14925
  • [dev-packages] fixed webpack watching #14844
  • [doc] updated build command in publishing.md #14798
  • [doc] updated mcp readme with autostart option #15046
  • [filesystem] deprioritized file resource resolver to avoid resolution delays #14917
  • [monaco] chore: updated vscode-oniguruma+vscode-textmate #14848
  • [monaco] did not create a model reference for inline editors #14942 - Contributed on behalf of STMicroelectronics
  • [monaco] emptied hidden editors #14909 - Contributed on behalf of STMicroelectronics
  • [monaco] fixed: contenthoverwidget respected theia styles #14836
  • [monaco] fixed monaco editor localization #15016
  • [monaco] fixed monaco model reference creation #14957
  • [notebook] added an error for when a notebook editor was opened with a non existing file #14891
  • [notebook] fixed new notebook cell editor outline and width with open right sidebar #14800
  • [notebook] fixed notebook widget disposal #14964
  • [plugin] added missing vs code json schemas #14864
  • [plugin] passed code action provider metadata to editor #14991 - Contributed on behalf of STMicroelectronics
  • [plugin] refreshed root when change notification had no items #14868
  • [plugin] sent plugin logs to the frontend #14908
  • [plugin] supported snippet file edits #15066
  • [scm] used diffeditor diffnavigator to navigate diffs #14889
  • [terminal] fixed: exited shell process on terminal close #14823
  • [vscode] bumped vs code api version #15069 - Contributed on behalf of STMicroelectronics
  • [vscode] introduced the commentingrange type #15015 - Contributed on behalf of STMicroelectronics
  • [vscode] made public the documentpaste proposed api #14953 - Contributed on behalf of STMicroelectronics
  • [vscode] shellexecution updated with undefined command #15047 - Contributed on behalf of STMicroelectronics

Breaking Changes:

  • [ai] refined system message settings #14877
  • [ai-chat] changed chat api by removing chatsetchangedeleteevent, updating changeset interface with added ondidchange event and dispose method (renamed accept to apply and discard to revert), modified changesetelement and changesetimpl accordingly #14910
  • [ai-chat] abstractchatagent updated getsystemmessagedescription to require a context parameter #14930
  • [ai-core] chatmodel interface was updated to include context and promptservice was updated with an optional context argument in getprompt #14930
  • [ai-ide] content-replacer.ts moved from ai-ide/src/browser/ to core/src/common/ #14930
  • [ai-scanoss] scanossdialog constructor accepted an array of results instead of a single result #14930
  • [core] a context html element became mandatory when showing a context menu #14982 - Contributed on behalf of STMicroelectronics
  • [core] adjusted binding of named ilogger injections and instructed removal of duplicate ilogger bindings on ambiguous match errors
  • [core] streamlined logging api #14861
  • [core] made context element mandatory when showing a context menu #14982 - Contributed on behalf of STMicroelectronics
  • [debug] fixed: handled the breakpoint update event for id:0 #14866

1.58.0 - 01/30/2025

  • [ai] added 'required' property to tool call parameters #14673
  • [ai] added change set support in chat input and chat model #14750
  • [ai] added logic to allow passing context to tool calls #14751
  • [ai] added logic to allow to auto-start MCP servers on frontend start-up #14736
  • [ai] added logic to override change elements on additional changes #14792
  • [ai] added Ollama LLM provider tools support #14623
  • [ai] added search and replace function to coder #14774
  • [ai] added support for Azure OpenAI #14722
  • [ai] added support for change sets via tool functions #14715
  • [ai] added tool support for anthropic streaming #14758
  • [ai] changed trigger of inline suggestion keybinding to Ctrl+Alt+Space #14669
  • [ai] improved behavior of AI Changeset diff editor #14786 - Contributed on behalf of STMicroelectronics
  • [ai] improved cancel logic in openAi model #14713
  • [ai] improved cancellation token handling in chat model #14644
  • [ai] improved performance in AI request logging #14769
  • [ai] updated logic to allow filerting backticks in AI code completion #14777
  • [ai] updated logic to consistently handle OpenAI models not supporting system messages instead of using dedicated O1 chat agent #14681
  • [ai] updated logic to manage AI bindings separately per connection #14760
  • [ai] updated logic to not let ai chat submit empty messages #14771
  • [ai] updated logic to register tool functions of mcp servers again after restart of the frontend #14723
  • [ai] updated logic to show diff on click in ChangeSets #14784
  • [application-manager] fixed error caused by bundling scanoss #14650
  • [application-manager] improved bundling for hoisted dependencies #14708
  • [console] fixed console scrolling #14748
  • [core] added support for dragging files in browser #14756
  • [core] fixed dragging file from outside the workspace #14746
  • [core] fixed override of default key bindings #14668
  • [core] fixed workbench.action.files.newUntitledFile command #14754
  • [core] fixed z-index overlay issue in dock panels #14695
  • [core] updated build scripts to use npm instead of yarn to build Theia #14481 - Contributed on behalf of STMicroelectronics
  • [core] updated keytar and drivelist #14306
  • [core] updated logic to prevent tabbing outside of dialog overlay #14647
  • [debug] added jump to cursor option to context menu #14594 - Contributed by MVTec Software GmbH
  • [debug] fixed updating breakpoints when debugging starts #14645 - Contributed by MVTec Software GmbH
  • [dev-container] updated logic to show more dev container info in title bar #14571
  • [electron] bumped fix-path to ^4.0.0 to avoid cross-env <6.0.6 #14781 - Contributed on behalf of STMicroelectronics
  • [filesystem] added support for vscode file system provider scheme #14778
  • [filesystem] fixed error handling in OPFSFileSystemProvider #14790
  • [filesystem] fixed file data streaming for http polling #14659
  • [getting-started] updated labels to mark DevContainers in recent workspaces #14595
  • [git] added deprecation warning to theia/git readme #14646
  • [monaco] updated monaco-editor-core to 1.96.3 #14737 - Contributed on behalf of STMicroelectronics
  • [notebook] fixed execute cell and below for last cell #14795
  • [notebook] fixed issue with deleted cells when talking to output webview #14649
  • [notebook] fixed race condition for outputs #14789
  • [plugin] added support for property Text in DocumentDropOrPasteEditKind #14605 - Contributed on behalf of STMicroelectronics
  • [plugin] stubbed TerminalCompletionProvider proposed API #14719 - Contributed on behalf of STMicroelectronics
  • [plugin] updated code to properly mark chat and language model APIs as stubbed #14734 - Contributed on behalf of STMicroelectronics
  • [plugin] updated code to provide node-pty package for plugins #14720
  • [plugin] updated logic to include ignored files in vscode.workspace.findFiles #14365
  • [plugin] updated logic to only call refresh on given elements given by plugin #14697 - Contributed on behalf of STMicroelectronics
  • [process] updated node-pty to 1.1.0-beta27 #14677 - Contributed on behalf of STMicroelectronics
  • [scanoss] fixed scanoss error on Windows #14653
  • [secondary-window] improved README of secondary window package #14691 - Contributed on behalf of STMicroelectronics
  • [task] added task related context keys #14757
  • [vsx-registry] added logic to load plugin readme from file system #14699