- [core] Removed
MarkdownRendererclass #10589 - [core]
ContextKeyServiceis now an interface. Extenders should extendContextKeyServiceDummyImpl#10546 - [plugin] Removed deprecated fields
idandlabelfromtheia.Command#10512 - [plugin-ext]
ViewContextKeyService#withmethod removed. UseContextKeyService#withinstead.PluginViewWidgetandPluginTreeWidgetinject theContextKeyServicerather thanViewContextKeyService. #10546 - [navigator] added
Open Containing Foldercommand #10523
- [callhierarchy] added support for the
editorHasCallHierarchyProvidercontext key #10492 - [core]
WindowServiceandElectronMainApplicationupdated to allow for asynchronous pre-exit code inelectron#10379 - [core] added sash option for widget resize #10441
- [core] improved handling of close and reload events #10379
- [core, editor, editor-preview] additional commands added to tabbar context menu for editor widgets #10394
- [debug] added timestamps to dap traces #10484
- [debug] refactored the debug session lifecycle #10333
- [editor] fixed localization formatting for configuring languages #10510
- [electron] added handling to restore last window state if it still exists #10436
- [filesystem] fixed
createFolderemitter for user gestures #10460 - [markers] added support for valid range column for problem matchers #10509
- [messages] fixed implementation for expand and collapse actions in notifications #10471
- [mini-browser] updated
getSourceUrito properly handle previews #10481 - [monaco] fixed localization formatting for configuring spaces versus tabs #10510
- [navigator] added support for symlink decorations #10439
- [ovsx-client] added
isVersionLTEunit tests to cover preview versions #10530 - [plugin] added support for codicon icon references in view containers #10491
- [plugin] added support to set theme attributes in webviews #10493
- [plugin] fixed running plugin hosts on
electronforWindows#10518 - [preferences] updated
AbstractResourcePreferenceProviderto handle multiple preference settings in the same tick and handle open preference files. It will save the file exactly once, and prompt the user if the file is dirty when a programmatic setting is attempted. #7775 - [preferences] added support for non-string enum values in schemas #10511
- [preferences] added support for rendering markdown descriptions #10431
- [scripts] added Electron frontend start-up performance measurement script #10442 - Contributed on behalf of STMicroelectronics
- [task] updated
OsSpecificCommandandShellSpecificOptionsso they are exportable #10547 - [vsx-registry] updated logic to open extensions with a single-click #10498
- [core/shared] removed
vscode-languageserver-types; usevscode-languageserver-protocolinstead #10500 - [core] added
SelectionServiceas a constructor argument ofTabBarRenderer#10394 - [core] removed deprecated
activeChangedsignal emitter in favor ofonDidChangeActiveWidget#10515 - [core] removed deprecated
currentChangedsignal emitter in favor ofonDidChangeCurrentWidget#10515 - [core] updated
WindowServiceinterface considerably #10379- remove
canUnload(): boolean- it's replaced byisSafeToShutDown(): Promise<boolean>to allow asynchronous handling in Electron. - add
isSafeToShutDown()- replacescanUnload(). - add
setSafeToShutDown()- ensures that next close event will not be prevented. - add
reload()- to allow different handling in Electron and browser.
- remove
- [editor] moved the utilities for creating and manipulating dynamic stylesheets from
editor-decoration-style.tstodecoration-style.tsincore. Each namespace now has its independent stylesheet. Only one rule should exist for a given selector in the provided stylesheet. #10441 - [plugin] changed return type of
WebviewThemeDataProvider.getActiveTheme()toThemeinstead ofWebviewThemeType#10493 - [plugin] removed the application prop
resolveSystemPlugins, builtin plugins should now be resolved at build time #10353 - [plugin] renamed
WebviewThemeData.activeThemetoactiveThemeType#10493 - [preferences] removed
PreferenceProvider#pendingChangesfield. It was previously set unreliably and caused race conditions. If aPreferenceProviderneeds a mechanism for deferring the resolution ofPreferenceProvider#setPreference, it should implement its own system. See PR for example implementation inAbstractResourcePreferenceProvider. #7775 - [terminal] removed deprecated
activateTerminalmethod in favor ofopen. #10529 - [webpack] Source maps for the frontend renamed from
webpack://[namespace]/[resource-filename]...towebpack:///[resource-path]?[loaders]whereresource-pathis the path to the file relative to your application package's root #10480
- [application-manager] added a workaround to the upstream
electron-rebuildbug #10429 - [application-manager] remove unnecessary
font-awesome-webpackdependency #10401 - [application-manager] updated
compression-webpack-plugintov9.0.0#10391 - [application-package] fixed
electron.isDevModeAPI on Windows #10359 - [core] added handling to disable http fallback on a successful websocket connection #10395
- [core] added support to remove workspaces from the recently opened workspace list #10378
- [core] fixed
runtime-import-checkerrors #10418 - [core] fixed an issue with window paths #10226
- [core] fixed the
new windowcommand in the browser application #10364 - [core] improved
Deferredtypings #10455 - [core] simplified default vscode localizations #10319
- [core] updated
sinondependency tov12.0.0#10381 - [monaco] fixed visibility of selected items in the peek widget #10307
- [navigator] added support to decorate deleted files in the open editors widget #10361
- [plugin] fixed an issue related to
taskExecutionsnot returning executions properly on startup #10330 - [plugin] fixed an issue when calling
showInputsubsequently due tovalidateInput#10396 - [plugin] fixed issue causing notifications to not appear #10399
- [plugin] fixed typedoc generation for the plugin system #10274
- [plugin] fixed visibility of inline actions when hovering tree-views #10375
- [repo] upgraded repository
yarn.lock#10349 - [search-in-workspace] added functionality to preserve
find in fileshistory #10438 - [search-in-workspace] added support to follow symlinks when searching #10413
- [search-in-workspace] fixed flickering when hovering results #10388
- [search-in-workspace] fixed issue causing the scrollbar to display without results present #10410
- [search-in-workspace] fixed selection of results #10371
- [task] added functionality to substitute variables in
options.envof tasks #10208 - [task] improved extensibility of
ProcessTaskRunner#10392 - [terminal] added support for the
terminal.integrated.confirmOnExitpreference #10374 - [vsx-registry] fixed the selection of extension results #10373
- [core]
Tdefaults tovoidif not specified when defining aDeferred#10455 - [core]
valueis now not optional inDeferred<T>.resolve(value: T)#10455 - [plugin] renamed
HostedPluginClienttoPluginDevClient#10352 - [plugin] renamed
HostedPluginServertoPluginDevServer#10352
- [callhierarchy] updated
callhierarchysupport #10310:prepareCallHierarchytypes brought closer to VSCode / LSP expectations.- optional
datafield added toCallHierarchyItemand related type.
- [cli] added localization extraction to the cli #10247
- [core] added support for
window.titleBarStyle#10044 - [core] added support for richer tooltip overlays #10108
- [core] added support to drag-and-drop individual sections across view containers #9644
- [core] fixed regressions when using
svgicons causing them not to display #10232 - [debug] added support for
debug.confirmOnExit#10270 - [debug] fixed an issue preventing
.theia/launch.jsonfrom being re-created #10222 - [debug] fixed the restoration of the selected configuration across application restarts #10287
- [editor] added
close editorcommand to the file main-menu #10193 - [editor] added additional commands to the
gomain-menu #10299 - [editor] added support for the
workbench.action.files.revertcommand #10294 - [editor] updated editor tooltips to display their full path #10238
- [eslint-plugin] added a new rule to warn against the usage of
srcimports overlib#10234 - [filesystem] added better support when uploading with existing files #10216
- [filesystem] fixed an issue causing the open dialog not to open when a workspace is deleted #10171
- [markers] added better ordering support for markers #9691
- [monaco] added better theming support for label colors in the action bar #10301
- [monaco] added support for monaco editor localizations #10084
- [monaco] fixed styling in the monaco suggestion overlay #10241
- [ovsx-client] fixed a mismatch in the default supported api version #10229
- [plugin-ext] added additional startup logging for plugin starting and application loading #10116 - Contributed on behalf of STMicroelectronics
- [plugin] added
LocationLinkandDeclarationtypings #10139 - [plugin] added localization support for plugins through language packs #10087
- [plugin] added support for
DebugAdapterNamedPipeServerandDebugAdapterInlineImplementation#10163 - [plugin] added support for descriptions in tree-views #10253
- [plugin] aligned the behavior of the command
workbench.action.closeActiveEditorcloser to vscode #10193 - [plugin] fixed a
webviewregression due topostMessage#10336 - [plugin] fixed a potential JSON RPC error in the
quick-openAPI #10230 - [plugin] improved display of modal dialogs #10245
- [plugin] updated api to default to vscode over theia #10199
- [repo] added localization support for the entire framework #10106
- [scripts] added extension impact script #10192 - Contributed on behalf of STMicroelectronics
- [scripts] added startup performance measurement script #9777 - Contributed on behalf of STMicroelectronics
- [search-in-workspace] added support for the
replace in filescommand #10242 - [task] added handling to fill task options explicitly if
problemMatchersis set #10166 - [task] updated duplicated task configurations from
workspaceandfolderscopes #10335
- [callhierarchy][plugin] retyped
callhierarchymethodsgetRootDefinition,$provideRootDefinition,provideRootDefinition, andprepareCallHierarchyto allow a return of an item or an array of items #10310 - [core] moved
DEFAULT_WINDOW_HASHtocommon/window.ts#10291 - [core] moved
NewWindowOptionstocommon/window.ts#10291 - [core] moved
nlslocalization namespace frombrowsertocommon. #10153 - [electron]
ElectronMainMenuFactorynow inherits fromBrowserMainMenuFactoryand its methods have been renamed. #10044- renamed
handleDefaulttohandleElectronDefault - renamed
createContextMenutocreateElectronContextMenu - renamed
createMenuBartocreateElectronMenuBar
- renamed
- [output] moved
output-channelfromcommontobrowser#10154 - [output] moved
output-preferencesfromcommontobrowser#10154 - [ovsx-client] removed
postJsonmethod fromOVSXClient#10325 - [plugin] removed unnecessary function
getCaption#10253 - [view-container] updated the
ViewContainerPartconstructor to take two new parameters:originalContainerIdandoriginalContainerTitle#9644- the existing
viewContainerIdparameter has been renamed tocurrentContainerIdto enable drag & drop views.
- the existing
- [vsx-registry] removed
OVSXAsyncClient#10327 - [vsx-registry] updated
VSXEnvironmentfrom a class to an interface and symbol implemented in bothbrowserandnode#10327
- [callhierarchy] added support for
SymbolTag.Deprecatedstyling when rendering nodes #10114 - [cli] added support for downloading
.theiaplugins #10082 - [core] added support for editor
breadcrumbs#9920- contributions to
breadcrumbscontributions were added fromcore,filesystem,outline-viewandworkspace.
- contributions to
- [core] added support for sub-headings in view-container parts #9909
- [core] added support to hide the statusbar #10092
- [core] fixed font-size for the compact sidebar menu #10180
- [core] updated menu separator styling with vscode #10080
- [debug] added functionality to support
DebugVariablesnavigation #10165 - [debug] added support for dynamic debug configurations API #10134
- [debug] fixed flickering when clicking toolbar items #10062
- [debug] updated
DebugConfigurationManagerto wait for preferences being ready before initializing debug configurations #10167 - [documentation] fixed broken roadmap links in publishing documentation #9984
- [eslint-plugin] added new
runtime-import-checkrule to error when importing from folders meant for incompatible runtimes [#10124] - [filesystem] fixed
canReadimplementation which caused false positives #10131 - [filesystem] updated file dialog to properly apply the default filter #10133
- [mini-browser] fixed issues when attempting open source or preview of resources #10047
- [monaco] updated focused
quick-inputstyling #10074 - [monaco] updated the
QuickInputServiceto properly passoptionswhen callinginput#10096 - [outline-view] fixed minor documentation typo #10071
- [plugin] added
DebugConsoleModeenum #10113 - [plugin] added deprecated
LanguageConfigurationfields (__characterPairSupportand__electricCharacterSupport) #10050 - [plugin] added functionality to allow downloads from webviews #10064
- [plugin] added handling to avoid infinite redirect loop for webviews #10064
- [plugin] added handling to check message source frame in webviews #10202
- [plugin] added missing
CompletionItemKindconstants #10123 - [plugin] added stub for
ExtensionModeto not fail plugin activation #10205 - [plugin] added stub for
setKeysForSyncto not fail plugin activation #10205 - [plugin] added support for
CancellationError#10035 - [plugin] added support for callhierarchy
tags#10114 - [plugin] added support for the
vscode.openWithcommand #9881 - [plugin] added support for the
workbench.action.openWorkspaceConfigFilecommand #10039 - [plugin] fixed an issue where items in the
quick-pickmenu were not properly updated #10065 - [plugin] fixed bug which prevented tree-searching in tree-views #10097
- [plugin] fixed issue where
panellocation was not respected #10162 - [plugin] update
instanceof ThemeIcontoismethod #10012 - [plugin] updated
DocumentSelectorto correctly use aReadonlyArrayinstead ofArray#10070 - [plugin] updated custom-editor opener to support
optionpriority #10158 - [plugin] updated the default vscode API from
1.50.0to1.53.2#9959 - [preview] fixed opening of markdown sources to align with vscode behavior #10047
- [repo] added
dash-licensesCI workflow to verify dependencies for 3PP FOSS license compatibility #9953 - [repo] fixed
attach to electron frontenddebug launch configuration #10101 - [repo] reworked and simplified build system for Theia development #9710
- [repo] updated existing icons to
codicons#9864 - [scripts] added
ts-cleanscript to help when performing major refactorings #10156 - [task] updated
provideTasksimplementation similarly to vscode #10061 - [task] updated
requiredfield to be optional inTaskDefinitionfor compatibility #10015 - [terminal] added mouse support for GUI terminal applications (ex: vim) #9805
- [application-manager] break
rebuildAPI: second argument is now an optional object instead of an optional array #9710 - [core]
setTopPanelVisibilyrenamed tosetTopPanelVisibility#10020 - [core] added
BreadcrumbsRendererFactoryto constructor arguments ofDockPanelRendererandToolbarAwareTabBar#9920 - [core] added
PreferenceServiceto constructor arguments ofStatusBarImpl#10092 - [git] removed exports from namespace
defaultGutterStyles,maxWidth,continuationStyle, andhighlightStyle#9999 - [task]
TaskDefinition.properties.requiredis now optional to align with the specification #10015
- [core] fixed an issue which caused the top-level menu to fail to display on startup #10034
- [core] upgraded
inversifytov5.1.1#9979 - [electron] fixed the restoration (position and size) of windows on restart #9995
- [electron] fixed the restoration of previous workspaces on restart #9995
- [plugin] fixed
ThemeIconrendering in tree-views #10012
- [api-tests] added additional file-search tests #9674
- [application-manager] updated
css-loaderdependency #9819 - [application-manager] updated
webpackversion range #9831 - [application-package] added support for
yarn aliases#9880 - [application-package] updated
deepmergedependency to4.2.2#9405 - [cli] added the ability to declare excluded plugin ids when downloading plugins #9956
- [cli] fixed help, argument and error handling #9842
- [console] fixed the
selectedSessionnot being properly set when first starting a debug session #9963 - [core] added
@vscode/codiconsdependency #9828 - [core] added functionality to disable spellcheck for input and textarea fields #9907
- [core] added handling to prevent subsequent electron windows from overlapping #9560
- [core] added http fallback when websockets are unavailable #9731
- [core] added internationalization support #9538
- [core] added support for
window.menuBarVisibility#9830 - [core] added support for composite tree decorations to reflect decorations from multiple providers #9473
- [core] fixed
handleExpansionToggleDblClickEventbinding #9877 - [core] fixed the display of recently used items in the
quick-commandsmenu #9921 - [core] implemented
fuzzysearching and highlighting for the quick-input #9928 - [core] modified handling of toolbar items for
ViewContainers to handleonDidChangecorrectly. #9798 - [core] updated menus to not break the layout if a referenced command is missing #9886
- [debug] updated
DebugRequestTypesto reflectDAPchanges #9833 - [documentation] added
SECURITY.mddocumentation #9804 - [documentation] introduced
migrationdocument to help adopters during release migrations #9817 - [documentation] updated prerequisite documentation for
keytar#9807 - [dynamic-require] introduced the
dynamic-requiredev package to reduce dynamic requires for bundling #9660 - [editor] added missing descriptions to monaco editor preferences #9852
- [electron] added support for the
new windowcommand #9519 - [file-search] fixed the display of resource paths in the
quick-file-openmenu #9952 - [filesystem] added ability to open read-only files in electron #9950
- [filesystem] improved
MAX_FILE_SIZE_MBdefinition #9972 - [filesystem] updated the uploading of files to use http over websockets #9820
- [keymaps] fixed broken 'supported keys' link in readme #9929
- [monaco] adjusted the
find-widgetfont-family #9937 - [monaco] refactored monaco interfaces behind core services #9727
- [monaco] restored the
drop-shadowstyling for the quick-input #9938 - [navigator] added support for opening external files by drag and dropping into the main panel #9543
- [plugin-dev] fixed the starting of hosted plugins #9874
- [plugin-ext] added missing
CompletionItemKindenum values #9908 - [plugin-ext] fixed the
selectedRepositorynot being properly set in a multi-root #9954 - [plugin-ext] improved extensibility of
PluginViewRegistry#9847 - [plugin-ext] updated to use correct host id for frontend hosted plugins #9902
- [preferences] added support for
jsoncommands to opensettings.jsonat different preference scopes #9832 - [preferences] fixed the opening of the preferences-view #9932
- [preferences] improved the extensibility of rebinding schemas #9883
- [scm] added
onDidChangeCommitTemplateevent support #9792 - [scm] fixed incorrect tree state when using the
vscode-builtin-gitplugin #9915 - [task] introduced lock to prevent parallel task executions #9858
- [workspace] added ability to case-sensitively rename files and folders on Windows #9709
- [workspace] added support for url encoding #9850
- [core]
ViewContainerPartmethods and properties related to hiding and showing toolbar removed:toHideToolbar,hideToolbar,showToolbar,toolbarHidden.ViewContainerParttoolbars are now hidden or shown using CSS properties #9935 - [core]
handleExpansionToggleDblClickEventinTreeWidgetcan no longer be overridden. Instead,doHandleExpansionToggleDblClickEventcan be overridden #9877 - [core] moved from ES5 to ES2017 #9436 - Contributed on behalf of STMicroelectronics
- [core] registering toolbar items for commands that explicitly target a
ViewContainerrather than a child widget may not behave as expected. Such registrations should be made in theViewContainerby overriding theupdateToolbarItemsmethod and using theregisterToolbarItemutility. See the modifications to thescmandvsx-registrypackages in the PR for examples #9798VSXExtensionsContributionno longer implementsTabBarToolbarContributionand is not bound as such. Extensions of the class that expect such behavior should reimplement it with caution. See caveats in PR.
- [core]
SidePanelHandler.addMenuandSidePanelHandler.removeMenuno longer exists, instead addedaddBottomMenuandaddTopMenufor adding menu,removeTopMenuandremoveBottomMenufor removing menu #9830SidebarBottomMenuinterface is renamedSidebarMenuand handles not only bottom menu's.- Changed style class name from
theia-sidebar-bottom-menutotheia-sidebar-menu TheiaDockPanelconstructor takes a new parameterpreferences
- [bulk-edit] fixed incorrect border styling property #9100
- [callhierarchy] added additional call-hierarchy support #9681
- [core] downgraded
keytardependency to7.2.0for broader operating system compatibility #9694 - [core] fixed
difflabels #9786 - [core] fixed file-tree scroll bug #9713
- [core] updated
:focusstyling to remove!importantrule for extensibility #9700 - [core] updated
workbench.editor.closeOnFileDeletedefault tofalse#9720 - [core] updated expansion-toggle icon styling when selected #9770
- [core] updated selected tree node styling #9742
- [core] updated view-container to preserve the collapsed state of a tree-view when reloading the application #9636
- [debug] added support for managing debug sessions for extensions from the debug panel (previously only possible using
Hosted Plugincommands) #8706 - [debug] added support for the
debugIcon.startForegroundcolor #9759 - [debug] fixed behavior which incorrectly modifies the
settings.jsonwhen adding debug configurations #9719 - [debug | plugin] added
DebugSessionOptionsvscode API #9613 - [documentation] updated
yarnprerequisites #9726 - [editor] added support for the
workbench.action.revertAndCloseActiveEditorcommand #9728 - [monaco] fixed quick-command separator when no recently used commands are present #9783
- [monaco] support
inoperator forwhenclauses #9492 - [monaco] updated styling in the peek-widget #9725
- [monaco] upgraded
monacodependency to0.23.0#9154 - [navigator] added support for
open editors#9284 - [plugin] added support
deprecateddiagnostic-tags #9721 - [plugin] added support for searching in
tree-viewparts #9703 - [plugin] added support for the
workbench.files.action.refreshFilesExplorercommand #9738 - [plugin] aligned collapsible item behavior with vscode #9696
- [plugin] fixed
TaskDtoconversion #9740 - [plugin] fixed
is_electronTypeError #9730 - [plugin] fixed
stopandrestartfor hosted-plugins #9780 - [plugin] fixed custom-editor activation #9671
- [plugin] fixed hosted-plugin dialog for the electron target #9764
- [plugin] fixed incorrect
tree-viewitem ordering #9775 - [plugin] fixed webworker creating for frontend plugins #9715
- [preferences] added additional open preferences commands #9785
- [quality] fixed incorrect
src/import statements #9753 - [quality] fixed miscellaneous typos #9753
- [repo] upgraded
yarn.lock#9683 - [scm] added tooltip support for resources #9745
- [search-in-workspace] added history support in input fields #9524
- [search-in-workspace] added support for the
expand-alltoolbar item #9749 - [search-in-workspace] improved the search result message under different conditions #9429
- [task] added support for deep task comparison #9647
- [task] fixed fallback to
lastCwdwhengetCwdURIfails #9695 - [vsx-registry] fixed search input behavior #9772
- [workspace] added support for multiple selections in
add folder to workspacedialog #9684
- [application-manager] defines a new range for
webpack(^5.36.2 <5.47.0).webpack@5.47.0depends onwebpack-sources@^3.0.1but this new version produces bogus bundles in Theia applications. The fix works by constraining thewebpackversion range to not pull newer versions for Theia v1.16.0 meaning clients creating Theia applications will not be affected by the bundling failures caused by the new dependency. The bogus library will most likely be fixed before next release (v1.17.0) so we'll need to update thewebpackrange back to pull newer versions again (bug/performance/security updates).
- [callhierarchy]
CurrentEditorAccessis deprecated. Use the version implemented in theeditorpackage instead. The services incall-hierarchythat previously used the localCurrentEditorAccessno longer do #9681 - [debug]
DebugSessionandPluginDebugSessionconstructors accept aparentSessionof typeDebugSession | undefinedas their 3rd parameter, offsetting every subsequent parameter by one #9613 - [monaco] upgraded to monaco 0.23.0 including replacement of
quickOpenAPI (0.20.x) withquickInputAPI (0.23.x) #9154 - [workspace]
WorkspaceCommandContribution.addFolderToWorkspaceno longer acceptsundefined.WorkspaceService.addRootnow accepts aURIor aURI[]#9684
- [application-package] refined the configuration typings allowing for partial
ApplicationConfigupdates #9568 - [core] added API to filter contributions at runtime #9317 - Contributed on behalf of STMicroelectronics
- [core] added
BackendApplicationServerwhich controls how to serve frontend files #9461 - [core] added
dompurifyas a shared dependency #9571 - [core] added handling to gracefully kill process trees on exit #8947
- [core] added handling to make IPC debug tracing configurable #9602
- [core] added handling to normalize environment variables before merging #9631
- [core] added support for
expandOnlyOnExpansionToggleClickinTreeProps#9583 - [core] added support for
resourceDirNameandresourcePathcontext keys #9499 - [core] added support for a unique id for non-command toolbar items #9586
- [core] fixed incorrectly wrapped disposable #9376
- [debug] fixed handling when
supportSetVariableis disabled #9616 - [editor-preview] refactored
editor-previewresolving outstanding bugs #9518- rewrote
editor-preview-package classes as extensions ofeditor-package classes
- rewrote
- [editor] updated logic to open last seen editor and not last created #9542
- [file-search] added handling to preserve editor state when re-opening a closed editor #9557
- [file-search] fixed issue with potential infinite recursion #9635
- [file-search] updated default goto line and column
rangetoundefined#9529 - [filesystem] added logic to use a supplied filter by default #9659
- [mini-browser] added handling to warn if deployed in an insecure context #9563
- [monaco] fixed resizing of editor inputs #9527
- [monaco] updated fetching of
onigasm wasmto usefetchinstead of oldAJAX#9620 - [outline] aligned expansion behavior of the
outline-viewwith vscode #9583 - [plugin] added
toJSONimplementation forRangeandPosition#9652 - [plugin] added support for
secretsplugin API #9463 - [plugin] added support for prefix arguments when executing
workbench.action.quickOpen#9566 - [plugin] fixed
ELECTRON_RUN_AS_NODEenvironment variable #9283 - [plugin] fixed issue where tree-views would re-open after reload despite being explicitly closed #9539
- [plugin] fixed tree-view selection #9673
- [plugin] updated logic to transform
iconPathtourl#9608 - [preferences] added handling to ensure that
WorkspacePreferenceProviderwaits for theWorkspaceServiceto be ready #9531 - [preferences] fixed tab tracking when scrolling the preferences tree #9549
- [preferences] refactored the
preferences-viewwith major improvements to useability and performance #9439 - [property-view] added unit-tests #9630
- [repo] fixed
compile-referencesscript error message #9667 - [repo] upgraded repository
yarn.lock#9536 - [search-in-workspace] fixed search debounce issue #9579
- [vsx-registry] added support for
@builtinand@installedsearch queries #9572 - [vsx-registry] added support for
extensionPackhandling at buildtime #9425 - [vsx-registry] added support for
extensions.jsonfunctionality #9043 - [vsx-registry] upgraded
sanitize-htmldependency #9525 - [workspace] improved extensibility of
workspace-serviceprivate members and methods #9597
- [core] added
keytar(a native node dependency) which may requirelibsecretto be installed #9463- Please see prerequisites for additional information.
- [core]
outline-view-tree.tshas been renamed tooutline-view-tree-model.tsto match class name. #9583 - [editor-preview]
EditorPreviewWidgetnow extendsEditorWidgetandEditorPreviewManagerextends and overridesEditorManager.instanceofchecks can no longer distinguish between preview and non-preview editors; use.isPreviewfield instead. #9518 - [process]
@theia/process/lib/node/shell-processno longer exportsmergeProcessEnvas a raw function. Use@theia/core/lib/node/environment-utilsand the injectableEnvironmentUtilsclass instead. - [process]
ShellProcessconstructor takes a newenvironmentUtilsparameter to handle environment operations. - [vsx-registry] removed support for
VSXApiVersionProvider#9425
- [api-samples] fixed dynamic label example #9517
- [application-manager] upgraded to
webpack v5#9451 - [core] added events to notify about websocket upgrades #9459
- [core] added support for language-specific preferences in the frontend configuration object #9358
- [debug] fixed
Add Configurationscommand behavior when an emptylaunch.jsonpresent #9467 - [debug] fixed issue when setting non-code breakpoints #9479
- [file-search] added support for
goto line and columnin the file search #9478 - [filesystem] added ability to perform a
~substitution in the browser file dialog #9416 - [messages] added explicit handling to sanitize notification messages before rendering #9520
- [monaco] improved styling of the
renameinput #9419 - [output] fixed styling issue where
errorsandwarningswere not colored #9496 - [plugin] added support for
extensionsUri#9428 - [plugin] added support for
vscode.URIAPIs #9422 - [plugin] added support for the
hosted-plugin.launchOutFilespreference #9176 - [plugin] aligned
FileDecorationAPI with the latest version #8911 - [plugin] improved extensibility of
replacerandreviver#9422 - [plugin] improved support for additional submenu contributions #9371
- [preferences] updated initial reading of preference files to before the
readypromise resolves #9362 - [process][terminal] fixed issue where the output of short-lived tasks are not displayed #9409
- [quality] removed duplicate implementations of
InMemoryTextResource#9504 - [search-in-workspace] added ability to perform searches outside workspace by specifying
includepath #9307 - [search-in-workspace] added support for the
search.smartCasepreference to control searching behavior #9408 - [search-in-workspace] fixed issue when revealing a result #9504
- [search-in-workspace] improved search behavior for additional
include/excludepatterns #9307 - [search-in-workspace] updated
search and replaceto only display diff if a replace term is present #9516 - [terminal] fixed merging of environment variables #9437
- [terminal] removed incorrect
process.envfrom the browser environment #9452 - [vsx-registry] added handling to sanitize readme before rendering #9424
- [vsx-registry] updated compatibility check for vscode builtins to verify compatible version rather than engine #9486
- [debug]
DebugConfigurationManagerno longer@injects()theFileServiceand now usesMonacoTextModelServiceinstead. #9467 - [filesystem]
ReactRenderer,LocationListRenderer, andFileDialogTreeFiltersRendererhave been made injectable/factoritized #9416FileDialogand its children have been updated to use property injection where appropriate and initialization inside constructor has been moved topostConstruct
- [vsx-registry]
VSXRegistryAPI.getLatestCompatibleVersionnow acceptsVSXSearchEntryas a parameter #9486
- [console] sanitized HTML content the
ansi-console#9339 - [core] added
isEqualmethod forURI#8925 - [core] added handling to automatically reconnect websocket on offline event #9299
- [core] added missing
useCaptureargument toremoveEventListener#9273 - [core] added re-export of common packages strategy #9124
- [core] improved handling of
saveAllby checking if a widget is dirty before saving #9393 - [core] updated
nsfwdependency to^2.1.2#9267 - [debug] fixed hover issues for the
currentFrameeditor #9256 - [debug] improved error messages #9386
- [documentation] added roadmap information to the readme #9308
- [documentation] updated pre-publishing steps #9257
- [editor-preview] updated logic to activate editor-preview editors only if already active #9346
- [editor] added support for
reopen closed editor#8925 - [editor] added support to open multiple editors for the same file #9369
- added
split editorcommand. - added
split editor upcommand. - added
split editor downcommand. - added
split editor rightcommand. - added
split editor leftcommand. - added
split editor orthogonalcommand.
- added
- [electron] added command and keybinding for
toggle full screen#9399 - [getting-started] fixed the opening of external links in
electron#9390 - [getting-started] updated links to be keyboard operable #9318
- [getting-started] updated links to not modify the URL hash #9318
- [git] added handling to group context-menu by category #9324
- [monaco] fixed regression which did not respect
setContext#9343 - [monaco] improved handling of themes on startup by using
indexedDBif available #9303 - [plugin] added
CodeActionTriggerKindenum #9368 - [plugin] added handling for empty command
idwith available arguments #9223 - [plugin] added support for the
CustomExecutionAPI #9189 - [plugin] added support for the
PluginContextAPI #9276 - [plugin] added support to read
argsfromkeybindings#9372 - [plugin] fixed dialog
canSelectManyimplementation #9278 - [plugin] fixed handling for
.focusview commands #9364 - [plugin] refactored the
RPCProtocolfor quality #8972 - [plugin] removed unnecessary coupling to
editor-preview#9302 - [plugin] updated
safeStringifyoutput error #9223 - [preferences] added handling to properly re-render view when extensions which provide preferences are uninstalled #9313
- [preferences] fixed
preference-array.cssstyling due to typos #9270 - [preferences] fixed regression for the preferences-view without plugin support #9403
- [preferences] updated handling to activate the preferences-view when opened through the
OPEN_PREFERENCEScommand #9355 - [preferences] updated the formatting of preferences #9381
- [task] added handling to update workspace model on workspace location change #9331
- [task] added support for task presentation options #9248
- added support for
presentationOptions.clear. - added support for
presentationOptions.echo. - added support for
presentationOptions.focus. - added support for
presentationOptions.panel. - added support for
presentationOptions.reveal. - added support for
presentationOptions.showReuseMessage.
- added support for
- [timeline] addef missing
@theia/navigatordependency #9267 - [vsx-registry] added
copy extension idandcopycommands to the extension context-menu #9292 - [vsx-registry] added handling to preserve recently uninstalled extensions from the extensions-view until reload #9236
- [vsx-registry] updated api compatibility handling to improve performance, and check for compatibility when installing builtins from the extensions-view #9280
- [workspace] improved
save as...command behavior #9022
- [workspace]
WorkspaceCommands.SAVE_AScommand no longer accepts anURIargument. It now uses the currently selected editor to determine the file to be saved #9022
- [core][filesystem] Use
nsfw@^2.1.2to fix an issue on Windows where file watching did not work at all.
- [core] added API to remove toolbar items #9044
- [core] added
onDidChangeActiveEmitterwhen a quick-pick is accepted #9175 - [core] added support for creating lazy preference proxies #9169
- [core] fixed
whenclause for commands registered to the command-palette #9188 - [core] updated connection status service to prevent false positive alerts about offline mode #9068
- [editor] fixed issue with revealing selection when opening editors #9004
- [electron] added
folderdialog fallback when settingcanSelectFilesandcanSelectFoldersdialog props simultaneously on non-OSX machines #9179 - [electron] added support for the
window.zoomLevelpreference #9121 - [external-terminal] added new extension to spawn external terminals in electron applications #9186
- [filesystem] added file dialog enhancements including text input and a navigate up icon #8748
- [filesystem] added ability for downstream applications to control file-watching #9163
- [filesystem] fixed
electrondialogs to set the properdefaultPath(cwd) #9135 - [filesystem] fixed logic when performing copy and paste in a duplicate file/folder #9037
- [markers] added fallback
ownersort when sorting markers for an individual resource #9211 - [markers] fixed the marker
copycommand to correctly set theowner#9160 - [mini-browser] fixed host pattern logic for
HOST_PATTERN_ENV#9201 - [mini-browser] fixed virtual host env logic #9209
- [mini-browser] removed dead/unused electron-specific code for quality #9209
- [monaco] exposed
_previeweditor from the references widget #9245 - [monaco] fixed editor gutter size by updating
lineNumberMinChars#9168 - [monaco] update fallback
font-familyfor the editor #9147 - [output] fixed
registerToolbarItemsto allow async registration #9044 - [plugin] added support for
CustomEditorAPIs #8910 - [plugin] added support for
TaskScope.Workspace#9032 - [plugin] added support for
onStartupFinishedactivation event #9212 - [plugin] added support for
workbench.files.openFileFoldercommand #9213 - [plugin] added support for the
workspace.workspaceFileAPI #9132 - [plugin] fixed
whenclause for views #9156 - [plugin] fixed custom debug request handling to pass the
bodyinstead ofresponseobject #9131 - [plugin] fixed dialog implementation to open appropriate dialogs on browser or electron #9179
- [plugin] fixed issue where
onDidExpandViewEmitterwas not properly fired #9229 - [plugin] update error handling when setting storage without a workspace #9137
- [plugin] updated
SCMAPI to latest version #9045 - [plugin] updated
vscode.window.createTerminalto accept URI current working directories #9140 - [preferences] added
updateValueAPI for thePreferenceService#9178 - [preferences] added functionality to restore the preference state including search term, preference scope, and editor location #9166
- [property-view] added initial version of a selection-based property-view #8655
- A default implementation is available for file selections (via file navigator and default editors).
- [repo] enabled eslint checks for
theia.d.ts#9200 - [repo] updated readme 'new issue' link to point to issue templates #9180
- [search-in-workspace] added ability to perform search when glob fields (include and exclude) are updated #9183
- [search-in-workspace] added logic to remove search results for deleted files #9218
- [search-in-workspace] fixed the comparison of editors when working with dirty files #9192
- [search-in-workspace] removed usage of the deprecated
keyCodeAPI #9183 - [tasks] added support for workspace-scoped task configurations. #8917
- [terminal] fixed
xtermaddon versions which broke searching #9167 - [variable-resolver] added support for
pathSeparatorvariable substitution #9054 - [vsx-registry] added
Install from VSIX...command to install a local extension #9184 - [vsx-registry] added toolbar menu support for the extensions-view #9184
- [workspace] add support for configurations outside the
settingsobject and addWorkspaceSchemaUpdaterto allow configurations sections to be contributed by extensions #8917
- [core]
PreferenceServiceandPreferenceProvidergetConfigUriandgetContainingConfigUrimethods acceptsectionNameargument to retrieve URI's for non-settings configurations #8917 - [filesystem]
FileDialogandLocationListRenderernow requireFileServiceto be passed into constructor for text-based file dialog navigation in browser #8748 - [mini-browser] Removed
@theia/mini-browser/lib/electron-main/and its bindings in theelectron-maincontext #9209 - [tasks]
TaskConfigurationModel.scopefield now protected.TaskConfigurationManagersetup changed to accommodate workspace-scoped tasks #8917 - [workspace]
WorkspaceDatainterface modified and workspace file schema updated to allow fortasksoutside ofsettingsobject.WorkspaceData.buildWorkspaceDatasettingsargument now accepts an object with any of the keys of the workspace schema #8917
- [api-samples] added example to echo the currently supported vscode API version #8191
- [bulk-edit] added support for previewing refactorings #8589
- [core] fixed context-menu position when the electron application is scaled (zoom in/zoom out) #9082
- [core] fixed keyboard shortcuts when working with devTools in the electron application #8943
- [core] fixed tabbar-toolbar mouse event handler #9125
- [core] fixed theming issue for secondary buttons when using light themes #9008
- [core] updated
ProgressMessageOptions.cancelabledocumentation to reflect updated default #9033 - [core] updated the tree search-box to align with vscode #9005
- [core] updated tree-view parts header styling #9128
- [documentation] added documentation on how to debug plugin sources in 'developing.md' #9018
- [documentation] fixed typo in 'developing.md' #9092
- [editor] added
onFocusChangedevent in order to update the active editor when switching editors #9013 - [file-search] added support for performing file searches with whitespaces #8989
- [git] added handling to remove extraneous entries in the
scmfor nested git repositories #7629 - [keymaps] fixed keybinding disablement and remapping #9088
- [keymaps] fixed serialization for the
keymaps.jsonfile #9088 - [markers] fixed issue when enabling/disabling problem marker tabbar decorations #9059
- [monaco] fixed theming issue when using third-party themes #8964
- [monaco] fixed theming issues when registering themes with null or undefined properties #9097
- [navigator] fixed issue when dragging-and-dropping files into the main area #8927
- [navigator] fixed issue when performing a drag-and-drop without the proper selection #9093
- [output] generalized the
outputAPIs for extensibility #9060 - [plugin] added API stub for terminal links #9048
- [plugin] added missing
groupproperty to theTaskDTOinterface #8971 - [plugin] added support for submenu contributions #8996
- [plugin] extracted plugin URI generation into an injectable class #9027
- [plugin] fixed issue where
problemMatcherswere not properly set when configuring tasks #8971 - [plugin] fixed welcome-view empty condition #9047
- [preferences] added a
clear-allbutton in the preferences-view input for clearing search results #9113 - [preferences] added a result count badge in the preferences-view input when performing a search #9113
- [preferences] fixed issue when attempting to validate numeric values from the preferences-view #9089
- [preferences] fixed the
PreferenceChangeEvent<T>typing #9057 - [preferences] improved overall performance of the preferences-view, including filtering and switching scopes #8263
- [repo] updated list of builtin extensions when using the example applications #9017
- [repo] uplifted CI/CD to use Python3 exclusively #9085
- [search-in-workspace] fixed styling of the replace item border #9090
- [task] updated logic to activate corresponding terminal when using the
show running tasksaction #9016 - [vsx-registry] added API compatibility handling when installing extensions through the 'extensions-view' #8191
- [core] updated
SearchBox.inputfield type fromHTMLInputElementtoHTMLSpanElement#9005
- [user-storage]
UserStorageUrischeme was changed from 'user_storage' to 'user-storage' as '_' is not a valid char in scheme (according to RFC 3986) #9049
- [api-samples] added example on how to contribute toggleable toolbar items #8968
- [api-tests] fixed the
Saveable#closeOnFileDeleteintegration test #8942 - [core] added support for vscode settings schemas #8761
- [core] added unit tests for
uri.isEqualOrParent#8876 - [core] fixed display issue with horizontal scrollbars in tab areas #8898
- [core] fixed error message when a command fails to execute #8978
- [core] fixed issue to allow late client registration #8586
- [core] fixed issue with
TreeWidget#applyFontStyles#8937 - [core] fixed minor typo
mounpointtomountpoint#8928 - [core] removed the
save without formattingmenu entry underfile#8877 - [core] updated rendering of toggleable toolbar items to highlight them when toggled #8968
- [dependencies] updated to use fixed versions when publishing,
"x.y.z"instead of"^x.y.z"in dependencies #8880 - [documentation] updated
NOTICE.md#8957 - [filesystem] added support for the
files.trimTrailingWhitespacepreference #8742 - [filesystem] fixed the type guard for
FileStat.is#8986 - [navigator] update the navigator widget factory for extensibility #8962
- [navigator] updated the menu order for
select for compareandcompare with selected#8926 - [plugin] added
createDeployQuickOpenItemmethod to createDeployQuickOpenItemin order to make extension deploy command extensible #8919 - [plugin] added support for
viewsWelcomeinTreeViews#8678 - [plugin] added support for the
CommentThreadPlugin API #8870 - [plugin] added support for the
workbench.action.navigateBackcommand #8958 - [plugin] added support for the
workbench.action.navigateForwardcommand #8958 - [plugin] added support for the
workbench.action.navigateToLastEditLocationcommand #8958 - [plugin] fixed tree-view reveal to not invalidate item command #8922
- [plugin] updated the logging of embedded languages #8938
- [preview] upgraded
highlight.jsfrom^9.12.2to10.4.1to resolve security vulnerability #8881 - [scm] updated code required to highlight nodes on search in the
ScmTreeWidget#8929 - [task] fixed issue where tasks were not successfully executed without
cwdexplicitly set #8949 - [terminal] reduced the severity of certain terminal logs #8908
- [scm] added the
captionfield to theScmTreeWidget.Propsinterface. RemovednamefromScmResourceComponent.Props,groupLabelfromScmResourceGroupComponent.Props, andpathfromScmResourceFolderElement.Propsinterfaces. #8929
- [cli] updated error reporting for the
download-pluginsscript #8798 - [cli] updated the
download-pluginsscript to report errors in case of unsupported file types #8797 - [core] added support for the
workbench.editor.closeOnFileDeletepreference #8731 - [core] fixed issue when attempting to kill the electron backend #8809
- [core] updated tree expansion busy indicators #8582
- [filesystem] fixed issue with pasting files/folders with the same name #8778
- [filesystem] updated
uploadto returnFileUploadResult#8766 - [mini-browser] fixed issue when serving
{{hostname}}as a pattern forTHEIA_MINI_BROWSER_HOST_PATTERN#8865 - [mini-browser] fixed missing resource response #8866
- [plugin] added support for the command
workbench.extensions.installExtension#8745 - [plugin] corrected identification of uri schemes according to
rfc3986#8832 - [plugin] fixed the
reveal()method for tree-views #8783 - [plugin] removed unnecessary
plugin-extdependencies #8831 - [plugin] updated
set htmlto pass the object field instead of method argument #8833 - [siw] added support for the
search.searchOnEditorModificationpreference #8765 - [siw] added support for the
search.searchOnTypepreference #8773
- [core]
FrontendApplicationContribution.onWillStopis now called for every contribution and will not bail early #8863- It will also be called when
application.confirmExitis set tonever.
- It will also be called when
- [
download:plugins] errors when downloading plugins now result in build failures, unless the--ignore-errorsflag is passed #8788 - [plugin]
LocalDirectoryPluginDeployerResolverhas moved frompackages/plugin-ext/src/main/node/resolvers/plugin-local-dir-resolver.tstopackages/plugin-ext/src/main/node/resolvers/local-file-plugin-deployer-resolver.tsand now derives fromLocalPluginDeployerResolver#8745 - [plugin] updated the
TreeViewsMain.$revealsecond parameter from string element id to string array element parent chain #8783 - [plugin] removed the unused
/plugin/:path(*)endpoint #8831 - [task] remove bash login shell when run from task to align with vscode #8834
- [core] added
THEIA_HOSTSenvironment variable (browser applications only) #8759- Used to filter incoming WebSocket connections: if
Originheader does not match the list of hosts it will be refused. - Value is a comma-separated list of domain names including the port if not
80nor443. - Example:
app.some.domain.com,app.other.domain:12345.
- Used to filter incoming WebSocket connections: if
- [core] deprecated
ElectronMessagingContribution, token validation is now done inElectronTokenValidatoras aWsRequestValidatorContribution#8759 - [mini-browser] added new unique endpoint #8759
{{uuid}}.mini-browser.{{hostname}}by default.- Can be configured via
THEIA_MINI_BROWSER_HOST_PATTERNenvironment variable. - Clients must setup this new hostname in their DNS resolvers.
- [api-tests] fixed issue with
saveabletest suite #8736 - [application-manager] enabled
monaco-editor.*sourcemaps when debugging #8744 - [console] updated the
anserimport workaround #8741 - [core] added ability to filter tree nodes #8540
- [debug] fixed issue where the debug-view is not properly updated when hidden #8645
- [documentation] improved documentation for
@theia/clielectron configurations #8699 - [documentation] improved documentation for
BackendApplicationContribution#8686 - [documentation] improved documentation for
MenuContribution#8715 - [documentation] improved documentation for
MessageService#8688 - [documentation] improved documentation for
PreferenceContribution#8677 - [documentation] improved documentation for
TaskAPI #8695 - [documentation] improved documentation for
TreeDecoratorandTreeDecoratorService#8698 - [documentation] updated publishing documentation for the repository #8719
- [editor] enabled
editor.semanticHighlighting.enabledby default #8593 - [electron] fixed issue with
application.confirmExitpreventing the app from closing #8732 - [file-search] fixed issue where file-search did not properly ignore the
.gitfolder #8721 - [monaco] added ability to compare quick-open entries #8185
- [output] improved extensibility of output channel commands #8733
- [plugin] added ability to use
viewIdas a progress location #8700 - [plugin] added logic to only store webviews when they have a corresponding serializer #8680
- [plugin] added support for
activeColorThemeandonDidChangeActiveColorThemeAPI #8710 - [plugin] added support for semantic highlighting #8593
- [plugin] fixed issue where problem matchers specified by task providers are not respected #8756
- [plugin] fixed issues with the
AuthenticationAPI #8725 - [plugin] fixed terminating hosted instance issue #8674
- [preview] fixed issue where empty document content was not properly rendered #8729
- [repo] updated
eslintand peer-dependencies to latest versions #8770 - [search-in-workspace] added ability to perform searches in dirty editors #8579
- [search-in-workspace] added ability to search opened editors outside the workspace #8646
- [security] updated
yargsdependency #8711 - [workspace] fixed missing binding of
WorkspaceFrontendContribution#8734
- [electron] removed
attachWillPreventUnloadmethod from the Electron main application. TheconfirmExitlogic is handled on the frontend #8732 - [file-search] deprecated dependency on
@theia/processand replaced its usage by node'schild_processAPI #8721
- [core] added
Save without Formattingcommand #8543 - [core] added ability to customize
CommandQuickOpenItem#8648 - [core] added support for
isWebcontext when clause #8530 - [core] added support for the
keyboard.dispatchpreference #8609 - [core] fixed the
UriAwareCommandHandlerpreventing the duplication of passed arguments #8592 - [core] fixed transparent widget backgrounds breaking branding #8448
- [core] improved extensibility of view containers for downstream extenders #8619
- [core] updated
Save Allto only format dirty editors #8554 - [debug] improved extensibility of debug event handlers #8616
- [debug] renamed the
Debugmain menu item toRun#8653 - [documentation] improved documentation for
FileServiceandFileSystemProvider#8596 - [documentation] improved documentation for
KeybindingandKeybindingContribution#8637 - [documentation] improved documentation for
LabelProviderandLabelProviderContribution#8569 - [documentation] improved documentation for
PreferenceService#8612 - [documentation] improved documentation for
WidgetManagerandWidgetOpenHandler#8644 - [documentation] improved documentation for the
@theia/previewextension #8625 - [editor] fixed inconsistent
showTextDocumentbehavior #8588 - [electron] added handling for
SIGPIPEerrors #8661 - [filesystem] refactored file watchers: #8546
- Added
FileSystemWatcherServicecomponent that should be a singleton centralizing watch requests for all clients. - Added
FileSystemWatcherServiceDispatcherto register yourself and listen to file change events.
- Added
- [git] updated
commit detailsanddiff viewrendering to respectlistandtreemodes [#8084] (https://github.com/eclipse-theia/theia/pull/8084) - [markers] updated and enhanced the 'problem-manager' tests #8604
- [mini-browser] updated deprecated
scrElementusage totarget#8663 - [monaco] fixed race condition on monaco editor initialization #8563
- [monaco] updated
Save Allcommand to format all open editors #8551 - [navigator] added additional handling for empty multi-root workspaces #8608
- [navigator] fixed the
doOpenNodeimplementation for hidden nodes #8659 - [plugin] added
environmentVariableCollectiontoPluginContext#8523 - [plugin] added
onStartupFinishedplugin activation event #8525 - [plugin] added logic to load plugin manifests on activation #8485
- [plugin] added support for
deprecatedstrikethrough for completion items #8553 - [plugin] bumped the default supported VS Code version to
1.50.0#8617 - [plugin] fixed XSS sink by sanitizing dialog
innerHTML#8388 - [plugin] fixed constrain types of providers #8617
- [plugin] fixed issue related to calling the activation of an extension through another extension #8542
- [plugin] fixed prototype pollution vulnerability #8675
- [plugin] fixed the dismissal of menus when clicking within webviews #8633
- [plugin] improved extensibility of
CodeEditorWidget#8672 - [plugin] updated
CommentsAPI to align with VS Code #8539 - [plugin] updated
workspaceFoldersAPI to returnundefinedwhen no folders are opened #8641 - [repo] added
no-tabsrule #8630 - [repo] reduced verbosity during build #8642
- [repo] reduced verbosity when building individual extensions #8642
- [repo] updated use of deprecated APIs in unit tests #8642
- [repo] upgraded to
@types/node@12typings #8556 - [scm] fixed 'circular structure to JSON' error for the accept input command #8606
- [scm] updated the commit textarea placeholder to include the current branch name #6156
- [vsx-registry] added support for the search parameter
includeAllVersions#8607 - [vsx-registry] added support for the search parameter
sortBy#8607 - [vsx-registry] added support for the search parameter
sortOrder#8607 - [vsx-registry] fixed the
searchquery when multiple search parameters are used #8607 - [vsx-registry] updated the
queryAPI endpoint #8570
- [core] change progress notification cancelable property default from
truetofalse#8479 - [filesystem]
NsfwFileSystemWatcherServeris deprecated and no longer used #8546 - [messages] updated handling of empty notifications and progress notifications so they will not be shown #8479
- [plugin-metrics] renamed
AnalyticsFromRequests.succesfulResponsestoAnalyticsFromRequests.successfulResponses#8560 - [plugin]
CodeEditorWidgetUti.getResourceUriis no longer exportable #8672
- [core] added ability to un-register keybindings for a given command #8269
- [core] added handling to only execute command via keybinding if it has an active handler #8420
- [core] updated the triggering of
tab-barcontext-menus to open without the need to be activated beforehand #6965 - [editor] added ability to set the default formatter #8446
- [electron] fixed the
rebuild:electroncommand for thedrivelistnative module #8454 - [filesystem] added handling to warn Linux users when they have exhausted
Inotifyhandles, along with instructions on how to fix it #8458 - [filesystem] fixed the deprecated
FileSystembinding to return an instantiated instance rather than the class #8507 - [keymaps] added handling to prevent URL hash changes when editing keybindings #8502
- [lint] added XSS sink detection eslint rules #8481
- [output] renamed
output-widget.tsxtooutput-widget.ts#8499 - [output] updated logic to allow clients to customize channel creation #8476
- [plugin] added
CompletionItemTagenum #8517 - [plugin] added
DebugConsoleModeenum #8513 - [plugin] added
authenticationplugin API #8402 - [plugin] added
revealInExplorercommand #8496 - [plugin] fixed issue related to getting the default value from
globalState/workspaceState#8424 - [plugin] removed superfluous channel caching for extensions #8476
- [plugin] updated
vscode.findFilesAPI to handle ignored files #8452 - [plugin] updated plugin storage path to be FIPS-compliant #8379
- [plugin] updated task ID generation logic #8379
- [preferences] updated the rendering of preference category headers and leaves #8512
- [scm] fixed activation request of the scm-widget #8508
- [search-in-workspace] added handling to respect the
files.excludepreference when searching #8433 - [timeline] added the
@theia/timelineextension #7997
- [core] context-menus for
tab-barsnow require anEventto be passed to execute commands without activating the shelltab-bar#6965- Removed logic from
TabBarRenderer.handleContextMenuEvent()to support triggering context-menus without the need to activate the widget. - When registering a command,
Eventshould be passed, else commands will not work correctly as they do no longer rely on the activation oftab-bars.
- Removed logic from
- [core] refactored
findTitle()andfindTabBar()moving them fromcommon-frontend-contribution.tstoapplication-shell.ts#6965
- [application-manager] fixed issue regarding reloading electron windows #8345
- [application-package] fixed incorrect app config defaults #8355
- [cli] updated
download:pluginsscript to usedecompress#8315 - [core] added
badgecount for theproblems-view#8156 - [core] added setting menu items to the sidebar bottom menus #8372
- [core] added support for
badgecount tab decorations #8156 - [core] added support for registering custom menu nodes #8404
- [core] added support for sidebar bottom menus #8372
- [core] added support for tree indent guidelines #8298
- [core] fixed submenu ordering #8377
- [core] fixed the menu widget layout #8419
- [core] updated extensibility of
DefaultUriLabelProviderContribution#8281 - [debug] added
badgecount for active debug sessions #8342 - [debug] fixed debug exception height computation #8382
- [dependencies] updated
node-gypto7.0.0#8216 - [documentation] updated extension documentation #8279
- [filesystem] added handling to prevent opening files which are too large #8152
- [filesystem] added handling to prompt end-users before opening binary files #8152
- [keymaps] updated keymaps to use monaco models #8313
- [monaco] added handling to prevent opening dirty editors if
autoSaveis enabled #8329 - [monaco] updated grammar collision logging #8418
- [monaco] upgraded to monaco
0.20.0#8010 - [navigator] added
badgecount for dirty editors in theexplorer#8316 - [navigator] updated
opencommand to only be enabled for files #8228 - [navigator] updated duplicate keybinding for opening the preferences widget #8256
- [output] exposed
preserveFocustoOutputChannel#showto reveal but not activate the widget #8243 - [output] fixed editor resizing issue #8362
- [plugin] added handling to prevent activating plugins eagerly on unsupported events #8396
- [plugin] added support for
ResourceLabelFormatterAPI #8187 - [plugin] added support for
vscode.workspace.fsAPI #7908 - [plugin] fixed
local-dirpath resolution #8385 - [plugin] marked
onFileSystemevent as supported #8320 - [preferences] added input field validation for numbers #8264
- [preferences] removed hardcoded constants #8313
- [scm] added
collapse-allcommand and toolbar item #8247 - [scm] added
badgecount for thescm-view#8156 - [security] fixed usage of
stylesheet.innerHTML#8397 - [security] updated version range of
decompressto fix the known security vulnerability #8924- Note: the updated dependency may have a performance impact on the deployment of plugins.
- [task] removed superfluous notifications when tasks are started / ended #8331
- [tests] added api integration tests for
scm#8231 - [electron] Electron applications can now be configured/extended through
inversify. Added newelectronMainextension points to provide inversify container modules. #8076
-
[core] removed
KeybindingRegistry#getScopedKeybindingsForCommand#8283 -
[application-package] removed
isOutdatedfromExtensionPackage#8295 -
[application-package] removed
getLatestVersionfromExtensionPackage#8295 -
[application-package] removed
getVersionRangefromExtensionPackage#8295 -
[application-package] removed
resolveVersionRangefromExtensionPackage#8295 -
[output]
OutputWidget#setInputhas been removed. The Output view automatically shows the channel when callingOutputChannel#show. Moved theOutputCommandsnamespace from theoutput-contributionto its dedicatedoutput-commandsmodule to overcome a DI cycle. #8243 -
[example-app] updated
yarn.lockso that the latest version ofvscode-ripgrepis used (v1.8.0). This way we can benefit from the recently added support for it using proxy settings when fetching the platform-specificripgrepexecutable, after npm package install. This should make it a lot easier to build our example application in corporate settings, behind a firewall. #8280 -
[filesystem]
FileSystemandFileSystemWatcherservices are deprecated #7908- On the backend there is no more
FileSystemimplementation. One has to use Node.js APIs instead. - On the frontend, the
FileServiceshould be used instead. It was ported from VS Code for compatibility with VS Code extensions. - On the frontend, the
EnvVariableServershould be used instead to access the current user home and available drives.
- On the backend there is no more
-
[userstorage]
UserStorageServicewas replaced by the user data fs provider #7908 -
[webview] webview resources are streamed instead of loading one by one the entire content and blocking the web socket #8359
-
[user-storage] settings URI must start with
/userroot to satisfy expectations ofFileService#8313 -
[electron] Removed the
set-window-optionsandget-persisted-window-options-additionsElectron IPC handlers from the Electron Main process. -
[monaco]
MonacoWorkspace.applyBulkEditdoes not open any editors anymore to avoid blocking #8329 -
[theming] Default color and icon themes should be declared in the application
package.json. #8381"theia": { "frontend": { "config": { "defaultTheme": "light", "defaultIconTheme": "vs-seti" } } },
-
[repo] support for
Node 10is dropped. #8290- From now on, Node.js
12.xis required when building.
The recommended minimum version is aligned withelectron(Node.js12.14.1).
- From now on, Node.js
- [core] added support for Node.js
12.x#7968- From now on, you can use Node.js
12.xto build Theia from sources. The recommended minimum version is aligned withelectron(Node.js12.14.1). - Support for Node.js
10.xwill be dropped in one of the forthcoming releases.
- From now on, you can use Node.js
- [core] fixed handling of environment variables on Windows #7973
- [core] fixed issue when selecting a tree node after performing a manual scroll #8154
- [debug] added a
select and rundebug statusbar item #8134 - [debug] added handling to perform
savewhen starting a debug session #8115 - [debug] addressed an issue not awaiting the result of the debug handler #8117
- [editor] added handling to perform a
save allwhen turningauto-saveon #8163 - [editor] improved extensibility of menu and keybinding contributions #8188
- [git] fixed the opening of deleted files #8107
- [markers] added
problems.autoRevealpreference to control sync between editors and the problem-view #8172 - [monaco] improved extensibility of menu and keybinding contributions #8188
- [monaco] normalized base pattern path to support different operating systems #8268
- [monaco] removed unused dependencies #8109
- [navigator] added
copy relative pathto the explorer context-menu and command palette #8092 - [output] added
copy allcontext-menu item for the output-view #8057 - [plugin] added command
copyRelativeFilePath#8092 - [plugin] added support for
resolveDebugConfigurationWithSubstitutedVariablesAPI #8253 - [plugin] added support for
vscode.workspace.findTextInFilesAPI #7868 - [plugin] added support for theme icons #8267
- [plugin] fixed focused handling of webviews when dismissing the quick-open widget #8137
- [plugin] fixed the display of file-icons with a dot in the name #7680
- [plugin] fixed the modal dialog max size and text-wrapping #8080
- [plugin] improved handling of the plugin host activation exceptions #8103
- [plugin] removed unnecessary slash at the end of the
pluginPath#8045 - [plugin] updated logic to allow
Commandtype in statusbar items #8253 - [plugin] updated logic to allow
vsixwithout publishers to be loaded #8196 - [repo] removed unused resolution for
vscode-json-languageserver#8132 - [search-in-workspace] improved search behavior to only trigger search on input change or ENTER #8229
- [task] fixed an issue where
onDidEndTaskProcesswas not fired for plugins when task ended #8141 - [task] introduced a token to scope contributed tasks #7996
- [terminal] fixed xterm issue causing an extraneous 'cursor-like' overlay element #8204
- [test] improved api-tests by increasing timeout so plugin views can be properly prepared #8151
- [test] updated api-tests to use tmp directory for user data #8151
- [vsx-registry] fixed the
licenseUrllink for builtin and installed extensions #8095 - [vsx-registry] improved styling of the detailed extension view #8086
- [workspace] improved extensibility of menu and keybinding contributions #8188
- [core] fixed typo (
matchKeybidingtomatchKeybinding) inKeybindingRegistry#8193 - [preferences] removed unused variable
PreferencesWidget.COMMAND_LABEL#8249 - [preferences] renamed file
preference-contribution.tstopreferences-contribution.ts#8237 - [terminal] fixed typo (
rezizetoresize) inTerminalWidget#8193 - [json] replaced
@theia/jsonTheia extension withvscode.json-language-featuresVS Code extension #8112- You can register JSON validations at application startup by implementing
JsonSchemaContributionTheia contribution point. - Alternatively you can provide JSON validations using VS Code contributes.jsonValidation contribution point.
- You can register JSON validations at application startup by implementing
- [user-storage] settings URI must be an absolute to satisfy expectations of
vscode.json-language-features#8112 - [languages]
@theia/languagesextension is deprecated, use VS Code extensions to provide language smartness: https://code.visualstudio.com/api/language-extensions/language-server-extension-guide #8112
- [cli] updated the download script to warn about mandatory
theiaPluginsfield #8058 - [core] added
copy pathcommand #7934 - [core] added missing
vscode-languageserver-protocoldependency #8036 - [core] adds support for ordering submenus #7963
- [core] implemented a context-menu for
inputandtextAreafields #7943 - [core] improved sub-classing of
messaging#8008 - [core] updated
reactandreact-domto v16.8 #7883 - [debug] added support for inline variable values #7921
- [editor] updated the default tokenization length #8027
- [filesystem] exposed
nsfwto downstreamNsfwFilesystemWatcher#7465 - [filesystem] fixed file filter issue in the
FileDialog#8073 - [filesystem] improved
isInSyncmethod #8044 - [filesystem] updated minimatch when ignoring to include folders starting with a dot #8074
- [markers] added the
clear-allcommand for the problems-view #8002 - [monaco] added support for
vscode-builtin-css-language-features#7972 - [monaco] added support for
vscode-builtin-html-language-features#7972 - [monaco] exposed
toOpenModelmethod #8024 - [output] added scroll-lock to the output view #7570
- [output] added support for special output URI characters #8046
- [plugin] added command
copyFilePath#7934 - [plugin] added support for
env.uiKindAPI #8038 - [plugin] added support for
workbench.view.explorercommand #7965 - [plugin] added support for the
Task2class #8000 - [plugin] added the registration of view-containers in the
open viewmenu #8034 - [plugin] fixed handling to not fail if a command returns a non-serializable result or error #7957
- [plugin] implemented the pseudo terminal plugin API #7925
- [plugin] improved activation of views to ensure they are ready before activated #7957
- [preferences] fixed modified scope label for updated preferences #8025
- [preferences] improved the statefulness of the preferences when switching scopes #7936
- [preview] added sanitization of the markdown text for security purposes #7971
- [scm] added multi-select support for the 'source control manager' view #7900
- [scm] fixed the
scmtree to sort results correctly #8048 - [search-in-workspace] fixed incorrect or duplicate search results #7990
- [task] added
detailproperty to the task configuration schema #8000 - [task] added support to update user-level tasks #7928
- [task] fixed error due to incorrect
RevealKindandPanelKindenums #7982 - [task] included global tasks in the 'configure tasks' menu #7929
- [vsx-registry] adjusted the width of the search input #7984
- [vsx-registry] included 'extensions-view' in the default layout #7944
- [workspace] added logic preventing arbitrary files from being opened as a workspace #7922
Breaking Changes:
- [task] Widened the scope of some methods in TaskManager and TaskConfigurations from string to TaskConfigurationScope. This is only breaking for extenders, not callers. #7928
- [shell] updated
ApplicationShell.TrackableWidgetProvider.getTrackableWidgetsto be synchronous in order to register child widgets in the same tick #7957- use
ApplicationShell.TrackableWidgetProvider.onDidChangeTrackableWidgetsif child widgets are added asynchronously
- use
- [application-manager] added ability for clients to add
windowOptionsusing an IPC-Event #7803 - [application-package] added ability for clients to change the default
windowOptions#7803 - [cli] improved the handling of the
download:pluginsscript #7747 - [cli] support proxy settings in the
download:pluginsscript #7747 - [cli] updated the
download:pluginsscript to display errors at the end of the script #7881 - [core] added handling of nested default values in preference proxies #6921
- [core] added handling to properly cleanup
toDisposeOnActiveChanged#7894 - [core] added handling to respect the keybinding scope and registration order during evaluation #7839
- [core] added support for
next/previoustab group commands #7707 - [core] added support for
next/previoustab in group commands #7707 - [core] fixed collapsed state when restoring view-container parts #7893
- [dependency] fixed issue with
momentjsdependency #7727 - [dependency] upgraded
decompressto4.2.0#7715 - [dependency] upgraded
uuidto8.0.0#7749 - [dependency] upgraded to TypeScript
3.9.2#7807 - [editor-preview] improved the editor-preview height #6921
- [editor] improved focus handling of editors to default to the last visible editor #7707
- [electron] fixed rendering of the electron context-menu #7735
- [electron] fixed resolution of hostname placeholder #7823
- [electron] fixed the rendering of webviews on electron #7847
- [electron] improved rendering of electron context-menus to hide disabled menu items #7869
- [electron] removed global shortcuts if the electron window is not focused #7817
- [file-search] improved the handling of the quick-file open #7846
- [filesystem] fixed issue where file-icons were not properly aligned when the file name is truncated #7730
- [getting-started] updated the documentation urls #7855
- [git] added handling to set upstream remote branch when pushing #7866
- [git] fixed issue causing no repositories to be found #7870
- [monaco] added handling of internal open calls with the
OpenerService#6921 - [monaco] added handling to only focus the editor if it is revealed #7903
- [monaco] fixed issue to detect languages on mime association changes #7805
- [monaco] fixed the border color for the find widget #7835
- [navigator] added handling to select newly created files/folders in the explorer #7762
- [output] improved the output-view display #7827
- [plugin] added handling of quick pick/input cancellations #6921
- [plugin] added support for
CompletionItem.rangeshape #7820 - [plugin] added support for
explorer.newFoldercommand #7843 - [plugin] added support for
workbench.action.revertAndCloseActiveEditorAPI #7702 - [plugin] added support for the
vscode.workspace.fsAPIs for registered filesystem providers only (not yet real file system) #7824 - [plugin] added support for the
workbench.action.openRecentcommand #7812 - [plugin] added support for the
workspaceAPIonDidCreateFiles#7718 - [plugin] added support for the
workspaceAPIonDidDeleteFiles#7718 - [plugin] added support for the
workspaceAPIonDidRenameFiles#7718 - [plugin] added support for the
workspaceAPIonWillCreateFiles#7718 - [plugin] added support for the
workspaceAPIonWillDeleteFiles#7718 - [plugin] added support for the
workspaceAPIonWillRenameFiles#7718 - [plugin] added support for the command
terminal.kill#7906 - [plugin] added support for the command
terminalSendSequence#7906 - [plugin] added support for when-closures for the quick-view palette #6921
- [plugin] fixed
registerCommandAPI incompatibilities #7296 - [plugin] fixed issue where contributed views had blank square icons on reload #7756
- [plugin] fixed leaking filesystem resource #6921
- [plugin] fixed potential activation deadlock #6921
- [plugin] fixed synching of visible and active editors #6921
- [plugin] fixed the computing of external icon urls #6921
- [plugin] fixed the tree-view reveal #6921
- [plugin] fixed the update of quick-pick items #6921
- [plugin] updated handling of plugin folder paths #7799
- [plugin] updated handling to not require non-existing plugin main #7852
- [preferences] improved the
preferenceswidget user-interface #7105 - [scm] added
scm.defaultViewModepreference to control the display of thescmwidget #7717 - [scm] added handling to refresh widget on activation #7880
- [scm] added support for displaying the
scmview as a tree #7505 - [scm] fixed missing commit and amend functionality when opening a new workspace #7769
- [scm] fixed restoring last commit message #7818
- [task] added support for user-level task configurations #7620
- [task] fixed task execution on macOS with
zsh#7889 - [task] improved order of task configurations #7696
- [task] updated the when-closure when executing
Run Last Task#7890 - [terminal] added handling to detach the
TerminalSearchWidgetbefore disposing theTerminalWidget#7882 - [workspace] added the
workspaceStatewhen-closure context #7846
Breaking changes:
- [application-package] moved
disallowReloadKeybindingunder theelectronsubsection #7803 - [core]
KeybindingRegistryregisters a new keybinding with a higher priority than previously in the same scope #7839 - [scm] added support for
tree view modein thescmview #7505- classes that currently extend
ScmWidgetwill likely require changes.
- classes that currently extend
- [task] removed
taskIdfromTaskTerminalWidgetOpenerOptions#7765
- [application-manager] added meta tag to enable fullscreen on iOS devices #7663
- [application-package] added warning if an unknown target is provided #7578
- [application-package] updated default application name from 'Theia' to 'Eclipse Theia' #7656
- [cli] improved the
download:pluginsscript including performance and error handling #7677 - [cli] updated the
download:pluginsscript to include colors for better visibility #7648 - [core] added functionality to prevent pasting into the active editor when closing a tab with a middle mouse click #7565
- [core] added support to allow providing a custom node for ReactWidget #7422
- [core] aligned max listeners check with VS Code expectations #7508
- [core] fixed 'recently used commands' to be only added when triggered by the quick-command palette #7552
- [core] fixed 'recently used commands': #7562
- added sorting of commands based on their human-readable label
- fixed issue where recently used commands where not correctly separated by a border and groupName
- [core] fixed issue where menu args where unnecessarily wrapped into another array #7622
- [core] fixed leaking
DisposableCollection.onDisposeevent #7508 - [core] fixed release of leaking editor from quick-open and goto references #7508
- [core] improved display for the 'Remove Folder from Workspace` dialog #7449
- [core] upgraded
nsfwto 1.2.9 #7535 - [core] upgraded
vscode-urito version ^2.1.1 #7506 - [core] upgraded to LSP 6.0.0 #7149
- [documentation] updated developing documentation for Windows #7640
- [editor] updated binding of
EditorCommandContributionandEditorMenuContribution#7569 - [electron] added functionality to fork the backend unless
--no-clusterflag is specified #7386 - [electron] added functionality to pass arguments to the backend process #7386
- [electron] fixed setting
process.versions.electronfor sub-processes #7386 - [git] disabled the 'Git Initialize Repository' action when no workspace is opened #7492
- [git] updated
successExitCodesandexpectedErrorsto arrays to fix serialization #7627 - [keymaps] updated the keybindings-widget sorting, and added category as part of the label if applicable #7532
- [monaco] added handling to respect
editor.maxTokenizationLineLengthpreference #7618 - [monaco] fixed incorrect
isChordcall #7468 - [monaco] reworked Monaco commands to align with VS Code #7539
- [monaco] upgraded
onigasmto version ^2.2.0 fixing syntax-highlighting #7610 - [monaco] upgraded to Monaco version 0.19.3 #7149
- [outline-view] fixed keybinding collision between toggling the outline-view and performing 'format document' on Linux #7694
- [output] added
Select Allin the output-view #7523 - [output] added optional argument
severitytoOutputChannel.appendLinemethod for coloring #7549 - [plugin-ext] fixed custom icon themes and icons for Electron #7583
- [plugin] added ability to override built-in commands #7592
- [plugin] added additional
vscode.execute...commands #7563 - [plugin] added functionality preventing F1 and ctrlcmd+p hotkeys in a webview iframe #7496
- [plugin] added functionality which makes
env.appNamereuse the value ofapplicationName(as defined in thepackage.json) #7642 - [plugin] added sorting of plugin in the plugins-view #7601
- [plugin] added support for
SelectionRangeandSelectionRangeProviderVS Code API #7534 - [plugin] aligned message-service behavior with VS Code #7500
- [plugin] fixed error handling when selecting an invalid node for hosted-plugins #7636
- [plugin] fixed incompatibility issues with
SaveFileDialog#7461 - [plugin] fixed late textmate-grammar activation #7544
- [plugin] fixed overriding of built-in Monaco commands #7539
- [plugin] fixed parsing of DAP messages to match VS Code API #7517
- [plugin] removed filtering of duplicate tasks #7676
- [plugin] removed registration of commands provided by Monaco #7592
- [plugin] removed unused injections of
ResourceProvider#7595 - [plugin] updated the VS Code API version to 1.44.0 #7564
- [preferences] added functionality which defers change events in the same tick #7676
- [scm] fixed
overviewRulerandminimaptheming for SCM decorations #7330 - [task] added functionality which saves the scope as part of the
TaskService.lastTask#7553 - [task] added functionality which sets focus to the terminal that the attached task is running from #7452
- [task] added support for
presentation.clearin the task configuration schema #7454 - [task] added support for
presentation.echoin the task configuration schema #7503 - [task] added support for
presentation.panelin the task configuration schema #7260 - [task] added support for
presentation.showReuseMessagein the task configuration schema #7454 - [task] added support for modifying existing problem matchers #7455
- [task] added support for user-defined labels for detected tasks #7574
- [task] fixed
presentation.revealandpresentation.focusfor detected tasks #7548 - [task] fixed issue to only allow running selected texts in a user terminal #7453
- [terminal] added new terminal preferences #7660
terminal.integrated.shell.linuxterminal.integrated.shell.osxterminal.integrated.shell.windowsterminal.integrated.shellArgs.linuxterminal.integrated.shellArgs.osxterminal.integrated.shellArgs.windows
- [test] added API tests for the TypeScript language #7265
- [test] fixed API tests on Windows #7655
- [vsx-registry] fixed minor font-family inconsistency with the download count #7380
- [vsx-registry] fixed rendering of rating and downloads if they have no value #7380
- [vsx-registry] updated styling of extension information #7439
- [workspace] added normalization of workspace root paths #7598
- [workspace] fixed incorrect statusbar color when in a multi-root workspace without any root folders #7688
Breaking changes:
- [core]
CommandRegistry.registerHandlerregisters a new handler with a higher priority than previously #7539 - [plugin] deprecated is now
PluginModel.packagePathandPluginModel.packageUrishould be used instead #7583 - [plugin] removed
configStorageargument fromPluginManager.registerPlugin#7265- use
PluginManager.configStorageproperty instead. #7265
- use
- [process]
TerminalProcessdoesn't handle shell quoting, the shell process arguments must be prepared from the caller #6836- Removed all methods related to shell escaping inside this class. You should use functions located in
@theia/process/lib/common/shell-quoting.tsin order to process arguments for shells.
- Removed all methods related to shell escaping inside this class. You should use functions located in
- [process/terminal] moved shell escaping utilities into
@theia/process/lib/common/shell-quotingand@theia/process/lib/common/shell-command-builderfor creating shell inputs #6836
- [core] added functionality to ensure that nodes are refreshed properly on tree expansion #7400
- [core] added loading state for trees #7249
- [core] added the ability to customize the layout of view-containers #6655
- [core] added the ability to customize the stored state of view-containers #6655
- [core] fixed keybindings for special numpad keys in editors #7329
- [core] fixed missing progress events #7314
- [core] updated 'close' commands to respect
widget.closableproperty #7278 - [core] updated
inputValidationtheming #7351 - [core] updated command execution to always use
CommandService.execute#7326 - [debug] added functionality to lazily update of stack frames of all threads in all-stop mode #7281
- [documentation] updated prerequisites to include
build-essential#7256 - [documentation] updated the readme of individual extensions to include additional information, and links to generated API docs #7254
- [electron] updated token check to use
timingSafeEqual#7308 - [file-search] updated
ripgrepto search files in hidden folders #7333 - [git] fixed duplicate entries for 'Git History' on merge operations #7188
- [markers] added foreground coloring of nodes in the
explorerto reflect problem markers #6863 - [markers] added sorting of diagnostic markers for a given resource #7313
- [markers] updated format of diagnostic markers in the
problems-view#7344 - [messages] updated to disallow arbitrary HTML in message content #7289
- [mini-browser] updated
MiniBrowserEndpoint.defaultHandler()response for non mime-db files #7356 - [navigator] added busy progress for the explorer #7249
- [plugin] added
workbench.action.addRootFoldercommand #7350 - [plugin] added
workbench.action.openSettingscommand #7320 - [plugin] added frontend APIs to listen when plugins are initially loaded #6655
- [plugin] added functionality to ensure that node-based debug adapters spawn the same node version as the framework #7294
- [plugin] added support for User-defined plugins #6655
- [plugin] added support for killing sub-threads run by shell scripts #7391
- [plugin] added support for loading plugins from symbolic links #7242
- [plugin] exposed frontend API to access loaded plugins metadata #6655
- [plugin] fixed 'find all references' for the typescript built-in plugin #7055
- [plugin] fixed
storagePathto returnundefinedwhen necessary #7394 - [plugin] fixed leaking plugins (codelens) #7238
- [preferences] added a new preference to silence notifications #7195
- [scm] fixed focus border for commit message textarea #7340
- [terminal] added new
terminal.integrated.cursorBlinkingpreference #7284 - [terminal] added new
terminal.integrated.cursorStylepreference #7284 - [terminal] added new
terminal.integrated.cursorWidthpreference #7284 - [terminal] added new
terminal.integrated.drawBoldTextInBrightColorspreference #7284 - [terminal] added new
terminal.integrated.fastScrollSensitivitypreference #7284 - [terminal] fixed
home,page-up,page-downshortcuts #7305 - [terminal] fixed color theming #7325
- [terminal] upgraded
xtermdependency #7121 - [vsx-registry] added a new
vsx-registryextension to manage plugins #6655 - [workspace] fixed issue where
NEW_FILEandNEW_FOLDERcould not be triggered under certain conditions #7302
Breaking changes:
- [debug] renamed
debuggingStaturBartodebuggingStatusBar#7409 - [plugin] renamed
CancelationTokenImpltoCancellationTokenImpl#7409 - [plugin] renamed
VIEW_ITEM_INLINE_MNUEtoVIEW_ITEM_INLINE_MENU#7409 - [scm | git] moved the
GitHistoryWidget(History View), andGitNavigableListWidgetto a new packaged namedscm-extra#6381- Renamed
GitHistoryWidgettoScmHistoryWidget - CSS classes have been also been moved, and renamed accordingly
- Renamed
- [task] removed
TaskAttachQuickOpenItem#7392 - [task] removed
TaskService.taskProviderRegistry#7418 - [task] renamed
TaskRestartRunningQuickOpenItemtoRunningTaskQuickOpenItem#7392 - [terminal] renamed
handleWroleWordOptionClickedtohandleWholeWordOptionClicked#7409 - [workspace] renamed
toDiposeOnUpdateCurrentWidgettotoDisposeOnUpdateCurrentWidget#7409
- [cli] added an additional flag to the
download:pluginsscript #7123p=true: plugins should be preserved as they are (compressed).p=false(default): plugins should be uncompressed.
- [cli] added API to create integration test pages #7029
- [core] added a new React-based dialog type
ReactDialog#6855 - [core] added ability to make the application data folder configurable #7214
- [core] added additional commands to close main area widgets #7101
- [core] added handling to dismiss any active menu when the quick palette is opened #7136
- [core] added handling to ensure that disabled keybindings do not shadow enabled ones #7022
- [core] added support for icons in a submenu #7091
- [core] fixed 'out of sync' error #7139
- [core] fixed import in
lsp-types.ts#7075 - [core] fixed set selection on right-click #7147
- [core] fixed the
TOGGLE_MAXIMIZEDcommand #7012 - [core] fixed the search-box for trees #7089
- [core] fixed tree highlighting foreground color #7025
- [core] updated
RecursivePartialto allow arrays #7201 - [core] updated the
AboutDialogto include theapplicationName#7135 - [core] updated the
DialogPropsto include: #7080maxWidth: control the maximum width allowed for a dialog.wordWrap: control the word wrapping behavior for content in the dialog.
- [core] updated the
THEIA_ENV_REGEXP_EXCLUSION#7085 - [debug] added ability to lazily update frames of all threads in all-stop mode #6869
- [debug] fixed issue where breakpoints were incorrectly rendered on column 1 #7211
- [documentation] updated code of conduct #7161
- [editor] updated the log level for the
NavigationLocationService#7042 - [electron] added default properties for
OpenDialog#7208 - [electron] added handling so only the
BrowserWindowcan access backend HTTP services #7205 - [electron] updated stat check handling for the save dialog #7197
- [filesystem] updated the handling of deletions triggered by a user #7139
- [git] added additional handling when a user attempts to amend without a previous commit #7033
- [keymaps] updated the keyboard shortcuts widget font-size #7060
- [markers] improved marker node descriptions #7209
- [markers] updated marker tooltips to display full path to resource #7207
- [mini-browser] added additional
HtmlHandlersupport #6969 - [monaco] added handling to activate a grammar only for languages with a registered grammar #7110
- [monaco] added support for array snippet prefixes #7177
- [monaco] close an active menubar dropdown when the quick palette is launched #7136
- [monaco] implemented support for multiple workspace folders in
MonacoWorkspace#7182 - [plugin] added ability to customize the plugin host process #7181
- [plugin] added functionality to expose the metadata scanner to the API #7134
- [plugin] added functionality to show progress on plugin activation #7017
- [plugin] added handling to activate a language based on created mode #7110
- [plugin] added handling to gracefully terminate plugin host processes without an rpc connection #7192
- [plugin] added handling to prevent error on disabled performance API #7175
- [plugin] fixed
window.showTextDocumentto allow opening resources withuntitledschema #6803 - [plugin] implemented
readFilefor workspace filesystem #6980 - [plugin] implemented
writeFilefor workspace filesystem #6980 - [preferences] added functionality to use text models to update content #7110
- [preferences] fixed display of file icons #7011
- [preview] added ability to render
.markdownfiles #7234 - [repo] added two new npm scripts: #7096
test:references: fails if typescript references are out of sync.prepare:references: updates typescript references, if required.
- [repo] the
preparescript now updates typescript references. - [repo] updated the
preparescript so it now updates typescript references #7096 - [scm] fixed alignment of file icons #7041
- [scm] fixed incorrect icon colors on hover #7044
- [terminal] added a search widget to terminals #5471
- [core] from now on, downstream projects can refine where the configuration files (such as
settings.json,keymaps.json,recentworkspace.json, etc.) will be stored by Theia. #4488
The default location remains the same:~/.theia, however it can be customized by overriding the#getConfigDirUrimethod of theEnvVariablesServerAPI. The easiest way is to subclass theEnvVariablesServerImpland rebind it in your backend module:// your-env-variables-server.ts: import { injectable } from 'inversify'; import { EnvVariablesServerImpl } from '@theia/core/lib/node/env-variables'; @injectable() export class YourEnvVariableServer extends EnvVariablesServerImpl { async getConfigDirUri(): Promise<string> { return 'file:///path/to/your/desired/config/dir'; } } // your-backend-application-module.ts: import { ContainerModule } from 'inversify'; import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; import { YourEnvVariableServer } from './your-env-variables-server'; export default new ContainerModule((bind, unbind, isBound, rebind) => { rebind(EnvVariablesServer).to(YourEnvVariableServer).inSingletonScope(); });
Breaking changes:
- [core] fixed typo (highligh -> highlight) in caption highlight fragment #7050
- [terminal] added new abstract methods to the TerminalWidget[#7179]:
scrollLineUp,scrollLineDown,scrollToTop,scrollPageUp,scrollPageDown - The release includes the removal of language-specific Theia extensions and other Theia extensions that are or can be replaced by equivalent VS Code extensions.
- Migration steps are available at the following wiki page
Consuming Builtin and External VS Code Extensions. - [debug-nodejs] removed the
@theia/debug-nodejsextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- [editorconfig] removed the
@theia/editorconfigextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- [java] removed the
@theia/javaextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- Please view the
theia-appstheia-java image for an example application which has been updated to use VS Code extensions instead of@theia/java.
- [java-debug] removed the
@theia/java-debugextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- Please view the
theia-appstheia-java image for an example application which has been updated to use VS Code extensions instead of@theia/java-debug.
- [merge-conflicts] removed the
@theia/merge-conflictsextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- [python] removed the
@theia/pythonextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- Please view the
theia-appstheia-python image for an example application which has been updated to use VS Code extensions instead of@theia/python.
- [textmate-grammars] removed the
@theia/textmate-grammarsextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- [tslint] removed the
@theia/tslintextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- [typescript] removed the
@theia/typescriptextension #6933- The extension will no longer be maintained by the project and remains in the Git history for anyone who would like to reference it or maintain it.
- Please view the
theia-appstheia-typescript image for an example application which has been updated to use VS Code extensions instead of@theia/typescript.
- Migration steps are available at the following wiki page
- [application-manager] added config to disable reloading windows #6981
- [application-manager] added meta viewport tag #6967
- [application-manager] fixed the circular dependency exclude path on Windows #6893
- [console] fixed the debug console user input alignment #6958
- [core] fixed XSS vulnerability in the browser sidebar #6988
- [core] fixed issue to close the websocket channel when a language server connection is closed #6854
- [core] fixed issue to exclude numpad keys from the keyboard mapping #6881
- [core] improved formatting of performance values in the logs #6858
- [core] updated handling of
ApplicationShell.getAreaForfor tabbars #6994 - [core] updated keybinding check in case full and partial bindings are registered #6934
- [core] updated logic to collapse panels on toggle view #6963
- [debug] added exception breakpoints support #5774
- [debug] added function breakpoints support #5774
- [debug] added inline breakpoints support #5774
- [debug] added watch expression support #5774
- [debug] fixed styling issues with the debug hover #6887
- [documentation] updated developing documentation for Windows #6893
- [editor] added
toggle minimapcommand and menu item #6843 - [editor] added
toggle render whitespacecommand and menu item #6843 - [editor] added
toggle word wrapcommand and menu item #6843 - [editor] added missing statusbar tooltip for
go to line#6770 - [editor] added missing statusbar tooltip for
select encoding#6770 - [editor] added missing statusbar tooltip for
select end of line sequence#6770 - [editor] added missing statusbar tooltip for
select indentation#6770 - [editor] added missing statusbar tooltip for
select language mode#6770 - [editor] updated the
go to linestatusbar item to trigger thego to linecommand directly #6770 - [file-search] improved the results obtained when performing a file search #6642
- [filesystem] fixed icon and file name alignment #6973
- [filesystem] improved the 'file has changed' dialog #6873
- [git] updated the
git checkoutstatusbar tooltip similarly to VS Code #6779 - [git] updated the version of
find-git-repositories#6850 - [keybindings] fixed an issue allowing users to change default keybindings #6880
- [keymaps] fixed column spacing for the keybindings-widget #6989
- [markers] added statusbar tooltip displaying the number of current problem markers by severity #6771
- [merge-conflicts] fixed the typo present in the
merge-conflictscommand category #6790 - [monaco] added normalization of textmate colors #6966
- [monaco] fixed issue with the quick-pick when there are no items #6870
- [monaco] fixed missing
awaiton workspace edits file creation #6851 - [monaco] fixed the
inspect developer tokencommand #6966 - [navigator] fixed race condition on contribution initialization #6817
- [plugin] added ability to handle
vscode.openFoldercommand #6928 - [plugin] added parallel resolution of plugin entries #6972
- [plugin] added the automatic removal of old session logs #6956
- By default only the last 10 (configurable using
--plugin-max-session-logs-folders=N) session folders are retained.
- By default only the last 10 (configurable using
- [plugin] fixed
workbench.action.closeActiveEditorcommand #6978 - [plugin] fixed header container alignment in the plugins-view #6983
- [plugin] fixed implementation of
showTextDocumentAPI #6824 - [plugin] fixed issue where tree-views were not properly displayed #6939
- [plugin] fixed issue with
DocumentsMainImpl.toEditorOpenerOptions#6824 - [plugin] fixed self-hosting on Windows #6316
- [preferences] fixed an indentation issue when using the preferences tree widget to add new preferences #6736
- [scripts] added the ability to perform parallel lerna execution on Windows #6893
- [search-in-workspace] improved the overall search performance #6789
- [task] added
processIdandterminalIdto theTaskExitedEvent#6825 - [task] added a new command to
restart running task#6811 - [task] added support for
presentation.revealandpresentation.focus#6814 - [task] updated private accessibility of
restartTaskso it can be called by others #6811 - [task] updated private accessibility of
terminateTaskso it can be called by others #6811 - [terminal] added handling to always open terminal links on touchevents (e.g. when tapping a link on iPad) #6875
- [terminal] fixed an issue regarding the
onDidChangeCurrentTerminalevent #6799 - [terminal] fixed an issue which prevents re-using integrated terminals which have child processes spawned #6769
- [terminal] improved the display of
new terminalin a multi-root workspace #6876 - [testing] added
API Integrationtesting framework #6852 - [workspace] fixed XSS vulnerability in the
new filedialog #6977
Breaking changes:
- [application-manager] updated
ApplicationPackageManager.start*to return an instance of a server child process instead of promise #6852. - [callhierarchy] updated CallHierarchyService to align with VS Code API #6924:
- Use LanguageSelector instead of language id.
- Use position instead of range for lookup of root symbol.
- Changed data structures to be like VS Code API.
- [cli] renamed generated webpack config to
gen-webpack.config.js#6852.webpack.config.jsis generated only once. It can be edited by users to customize bundling, but should be based ongen-webpack.config.jsto pick any changes in the generated config. If it does not have a reference togen-webpack.config.jsthen it will be regenerated. - [core] removed
virtual-renderer.react-renderershould be used instead #6885 - [core] removed
virtual-widget.react-widgetshould be used instead #6885 - [core] renamed method
registerComositionEventListeners()toregisterCompositionEventListeners()#6961 - [debug] removed
@theia/jsondependency. Applications should explicitly depend on@theia/jsoninstead #6647 - [plugin] renamed
gererateTimeFolderNametogenerateTimeFolderName#6956 - [preferences] removed
@theia/jsondependency. Applications should explicitly depend on@theia/jsoninstead #6647 - [task] renamed method
getStrigifiedTaskSchema()has been renamed togetStringifiedTaskSchema()#6780 - [task] renamed method
reorgnizeTasks()has been renamed toreorganizeTasks()#6780 - Support VS Code icon and color theming. #6475
- Theming: Before
input,textarea,selectandbuttonelements were styled in an ad-hoc manner, i.e. some were styled globally for a tag, other per a component and third with a dedicated css class name. Now Theia does not style these elements by default, but an extension developer should decide. Theia comes though with predefined css class names:theia-input,theia-selectandtheia-buttonto style input/textarea, select and button elements correspondingly. Existing components were refactored to use them. - Theming: Theia css colors are replaced with VS Code colors.
- One can reference VS Code color in css by prefixing them with
--theiaand replacing all dots with dashes. For examplewidget.shadowcolor can be referenced in css withvar(--theia-widget-shadow). - One can resolve a current color value programmatically with
ColorRegistry.getCurrentColor. - One can load a new color theme:
-
in the frontend module to enable it on startup
MonacoThemingService.register({ id: 'myDarkTheme', label: 'My Dark Theme', uiTheme: 'vs-dark', json: require('./relative/path/to/my_theme.json'), includes: { './included_theme.json': require('./relative/path/to/included_theme.json') } });
-
later from a file:
@inject(MonacoThemingService) protected readonly monacoThemeService: MonacoThemingService; this.monacoThemeService.register({ id: 'myDarkTheme', label: 'My Dark Theme', uiTheme: 'vs-dark', uri: 'file:///absolute/path/to/my_theme.json' });
-
or install from a VS Code extension.
-
- One should not introduce css color variables anymore or hardcode colors in css.
- One can contribute new colors by implementing
ColorContributioncontribution point and callingColorRegistry.register. It's important that new colors are derived from existing VS Code colors if one plans to allow installation of VS Code extension contributing color themes. Otherwise, there is no guarantee that new colors don't look alien for a random VS Code color theme. One can derive from an existing color, just by plainly referencing it, e.g.dark: 'widget.shadow', or applying transformations, e.g.dark: Color.lighten('widget.shadow', 0.4). - One can though specify values, without deriving from VS Code colors, for new colors in their own theme. See for example, how Light (Theia) theme overrides colors for the activity bar.
- One can reference VS Code color in css by prefixing them with
- Labeling:
LabelProvider.getIconshould be sync and fast to avoid blocking rendering and icon caching. One has to pass more specific elements to get a more specific icon. For example, one cannot answer precisely from a URI whether a folder or a file icon should be used. If a client wants to get a proper result then it should passFileStatfor example or provide ownLabelProviderContributionwhich derivesFileStatfrom a custom data structure and then callsLabelProvider.getIconagain. - Labeling:
LabelProviderContributionmethods can returnundefinedmeaning that the next contribution should be tried. - Tree:
TreeNode.name,TreeNode.descriptionandTreeNode.iconare deprecated and will be removed later. One has to provideLabelProviderContributionimplementation for a custom tree node structure. Before these attributes have to be computed for all nodes and stored as a part of the layout. From now on they will be computed only on demand for visible nodes. It decreases requirements to the local storage and allows to invalidate node appearance by simply re-rendering a tree.
- Theming: Before
- Updated
example-browserandexample-electronapplications to remove extensions which are instead contributed by VS Code builtin extensions #6883- Extensions removed from the example applications are deprecated and will be removed in the future. If adopters/extenders would like to continue using the deprecated extensions, they must be self-maintained and can be accessed through the repository's Git history.
- In order to fetch plugins remotely, the
@theia/cliscriptdownload:pluginscan be used:- In your
package.jsonyou can define:theiaPluginDir: to specify the folder in which to download plugins, in respect to yourpackage.jsontheiaPlugins: to specify the list of plugins in the form of"id": "url"
- In your
- [application-manager] removed unnecessary
bunyandependency #6651 - [bunyan] removed
@theia/bunyanextension #6651 - [core] added handling preventing scrolling when closing dialogs #6674
- [core] fixed
noWrapInfoclassname in applications with a subset of extensions #6593 - [core] fixed infinite recursion when the tree root is refreshed #6679
- [core] fixed the dispatching of keybindings when editing composition texts #6673
- [core] removed unnecessary
@types/bunyandependency #6651 - [core] updated
Close Editorkeybinding #6635 - [core] updated
Close Windowkeybinding #6635 - [core] updated
noopenerwhen opening windows to avoid sharing event loops #6683 - [core] updated handling of parting keybindings based on current context #6752
- [core] updated the
Close Allkeychord when running in Electron #6703 - [electron] added support to explicitly close the socket when calling
onStop#6681 - [electron] updated menu to explicitly use application name #6726
- [filesystem] fixed external URIs of map editor icons #6664
- [languages] updated keybinding for
Open File#6690 - [messages] added tooltip to notifications statusbar item #6766
- [messages] fixed timeout issue for notifications without actions #6708
- [navigator] fixed eagerly load of model root before the workspace service is ready #6679
- [plugin] added implementation to get the default shell for hosted plugins #6657
- [plugin] added miscellaneous updates to support VS Code emacs extension #6625
- [plugin] added miscellaneous updates to support VS Code vim extension #6687
- [plugin] added support for allow-forms #6695
- [plugin] added support to install VS Code extension packs #6682
- [plugin] fixed
TaskExecutioninstantiation #6533 - [task] added prompt asking users to terminate or restart active tasks #6668
- [task] added support for
TaskIdentifier#6680 - [task] added support for background tasks #6680
- [task] added support for compound tasks #6680
- [task] added support for tasks of detected tasks which have the same label, and different scopes in a multi-root workspace #6718
- [task] fixed bug where custom tasks schemas were not properly updated #6643
- [task] fixed circular dependencies #6756
- [terminal] added mapping of localhost links to proper external links #6663
- [workspace] updated
New Filekeybinding #6635 - [workspace] updated keybinding for
Open Workspace#6690
Breaking changes:
- [core] updated browser windows spawned through the opener-service to have
noopenerset which ultimately preventing them from accessingwindow.opener.openNewWindowwill no longer return a Window as a result #6683 - [debug] renamed command
COPY_VARAIBLE_AS_EXPRESSIONtoCOPY_VARIABLE_AS_EXPRESSION#6698 - [debug] renamed command
COPY_VARAIBLE_VALUEtoCOPY_VARIABLE_VALUE#6698 - [debug] renamed getter method
multiSesssiontomultiSession#6698 - [task] added
taskDefinitionRegistryandtaskSourceResolverto the constructor ofTaskRunQuickOpenItemandConfigureBuildOrTestTaskQuickOpenItem#6718 - [task] changed the data structure of
ProvidedTaskConfigurations.tasksMap#6718 - [terminal] renamed
TerminalCopyOnSelectionHandertoTerminalCopyOnSelectionHandler#6692
- [console] added filtering support based on severity #6486
- [core] added functionality so that label providers can now notify that element labels and icons may have changed and should be refreshed #5884
- [core] added functionality to expose all handlers for a given command #6599
- [core] aligned
Open PreferencesandSave Askeybindings with VS Code on Mac OS #6620 - [core] fixed the display of toolbar item icons #6514
- [core] switched the frontend application's shutdown hook from
window.unloadtowindow.beforeunload. #6530 - [core] updated dependency injection cycle between
LabelProviderand its contributions #6608 - [core] updated handling when access is denied to the clipboard #6516
- [core] updated scrolling of widgets when re-setting their focus #6621
- [core] upgraded
reconnecting-websocketto latest version #6512 - [core] aligned
New File,Close EditorandClose Windowkeybindings with VS Code across OSes #6635 - [cpp] moved the
cppextension to thetheia-cpp-extensionsrepo #6505 - [debug] added ability to re-use the terminal based on label and caption #6619
- [debug] added reloading of child variable nodes on
setValuecall #6555 - [debug] fixed breakpoint context menu behavior #6480
- [debug] generalized the
allThreadStopevent #6627 - [dockerfile] removed example dockerfile #6586
- [documentation] updated 'outline-view' extension documentation #6454
- [documentation] updated package name for libX11 for Red Hat based OS #6632
- [editor-preview] removed unnecessary dependency to the
navigatorextension #6648 - [editorconfig] updated trim whitespace to be respected during manual saving #6417
- [electron] updated error logging of the rebuild #6538
- [git] added support for
alwaysSignOff#6402 - [git] updated
dugite-extradependency #6602 - [git] updated
find-git-execdependency #6602 - [json] moved JSON grammar to the
textmate-grammarsextension #6622 - [keymaps] removed the display of internal commands from the widget #6594
- [monaco] added mappings from VS Code commands to internal commands #5590
- [monaco] fixed incorrect command palette cursor position #6435
- [monaco] fixed registration of
CodeActionProviders#6556 - [plugin-metrics] introduced the
plugin-metricsextension #6303 - [plugin] added ability to use upload services #6554
- [plugin] added functionality to restart hosted instance if restart is called before start #6521
- [plugin] fixed
executeCommandargument passing #6537 - [plugin] fixed bad type conversion with code actions #6559
- [plugin] removed unnecessary dependency to the
mini-browserextension #6644 - [plugin]added ability to configure borders in the quick pick items list #6487
- [preferences] added better handling for schema changed events #6510
- [process] added handling for
onCloseevent #6595 - [process] updated process spawning to use defaults #6561
- [scm] added handling when opening diff-editors to respect preference
workbench.list.openMode#6481 - [scm] added support to open
diff-editorswith a single-click #6481 - [search-in-workspace] updated decorations when clearing search #6511
- [search-in-workspace] updated resizing of results #6576
- [task] added ability to add task sub-schemas #6566
- [task] added ability to create
launch.jsonautomatically #6490 - [task] added handling for invalid task configurations #6515
- [task] added prompt to users to configure tasks #6539
- [task] added support for
groupin the task config #6522 - [task] added support for creating
tasks.jsonfrom templates #6391 - [task] added support for multiple user-defined problem matchers in the
tasks.json#6616 - [task] added support for task types in the tasks schema #6483
- [task] updated task schemas for extensions and plugins #6492
- [terminal] added implementation to copy text on selection #6536
- [terminal] added support for integrated terminals #6508
- [workspace] added path when creating a new file #6545
- [workspace] added path when creating a new folder #6545
Breaking changes:
- [core] renamed preference
list.openModetoworkbench.list.openMode#6481 - [monaco] removed monaco prefix from commands #5590
- [plugin] re-implemented webviews to align with VS Code browser implementation #6465
- Security:
vscode.previewHTMLis removed, see https://code.visualstudio.com/updates/v1_33#_removing-the-vscodepreviewhtml-command - Security: Before all webviews were deployed on the same origin
allowing them to break out and manipulate shared data as cookies, local storage or even start service workers
for the main window as well as for each other. Now each webview will be deployed on own origin by default.
- Webview origin pattern can be configured with
THEIA_WEBVIEW_EXTERNAL_ENDPOINTenv variable. The default value is{{uuid}}.webview.{{hostname}}. Here{{uuid}}and{{hostname}}are placeholders which get replaced at runtime with proper webview uuid and hostname correspondingly. - To switch to un-secure mode as before configure
THEIA_WEBVIEW_EXTERNAL_ENDPOINTwith{{hostname}}as a value. You can also drop{{uuid}}.prefix, in this case, webviews still will be able to access each other but not the main window.
- Webview origin pattern can be configured with
- Remote: Local URIs are resolved by default to the host serving Theia. If you want to resolve to another host or change how remote URIs are constructed then implement ExternalUriService.resolve in a frontend module.
- Content loading: Webview HTTP endpoint is removed. Content loaded via WebviewResourceLoader JSON-RPC service with properly preserved resource URIs. Content is only loaded if it's allowed by WebviewOptions.localResourceRoots, otherwise, the service won't be called. If you want to customize content loading then implement WebviewResourceLoaderImpl in a backend module.
- Theming: Theia styles are not applied to webviews anymore
instead VS Code way of styling should be used.
VS Code color variables also available with
--theiaprefix. - Testing: Webview can work only in secure context because they rely on service workers to load local content and redirect local to remote requests.
Most browsers define a page as served from secure context if its url has
httpsscheme. For local testinglocalhostis treated as a secure context as well. Unfortunately, it does not work nicely in FireFox, since it does not treat subdomains of localhost as secure as well, compare to Chrome. If you want to test with FireFox you can configure it as described here.
- Security:
- [task] updated
TaskSchemaUpdater.update()from asynchronous to synchronous #6483
- [cli] added explicit
yargsdependency #6443 - [cli] enabled static compression of build artifacts #6266
- to disable pass
--no-static-compressiontotheia buildortheia watch
- to disable pass
- [core] fixed handling of URI#
getAllLocationfor paths without parents #6378 - [core] fixed issue allowing valid properties to be registered despite schemas containing issues #6341
- [core] updated quick-open menus to not perform validation when first opened #6281
- [cpp] fixed task labels #6419
- [cpp] fixed the execution of tasks #6419
- [cpp] improved the installation documentation for
clangd#6271 - [cpp] updated overall documentation of the C/C++ extension #6364
- [debug] added support for
preLaunchTaskandpostDebugTask#6247 - [electron] added option to only allow single instances of an Electron application #6280
- [electron] fixed
confirmExitfor Electron applications #6285 - [electron] fixed lossy storage in Electron #6313
- [electron] upgraded Electron to version 4 #6307
- [filesystem] fixed error handling of
nsfwRENAMED events #6283 - [git] added support for amending initial commits #5451
- [git] improved git watchers to ensure they do not leak #6352
- [json] provided empty
initializationOptionsfor the JSON language server #6398 - [keymaps] updated overall documentation of the keymaps extension #6369
- [messages] added logic hiding the notification center when the last notification is removed #6356
- [messages] aligned default message with VS Code #6345
- [mini-browser] updated mini-browser to open without URL encoding #6388
- [monaco] fixed command execution for inline editors #6328
- [monaco] fixed incorrect preference initialization #6450
- [monaco] rebinded keybinding for 'Go to Definition' #6411
- [plugin] improved tree views: #6342
- added logic to not execute commands on selection change
- added better handling of
undefined'treeItem.label' - added better styling support for item actions
- added better support for descriptions
- fixed styling issues
- [plugin-ext] added
OutputChannelRegistryinterface and add it into the rpc #6413 - [plugin-ext] added configuration attribute to
DebugSession#6382 - [plugin-ext] added logic to pass
pluginInfothrough the output channel append method #6312 - [plugin-ext] added support for
globalStoragePathPlug-in API #6354 - [plugin-ext] added support for
vscode.executeDocumentSymbolPlug-in API #6291 - [plugin-ext] added the ability to use HTTP resources for tab title icons #6270
- [plugin-ext] added the disposal of webviews by handle and not widget ID #6326
- [plugin-ext] fixed
WorkspaceEditconversion #6304 - [plugin-ext] fixed
cancellableoption forwithProgressnotifications #6365 - [plugin-ext] fixed broken 'html base href' logic in webviews #6279
- [plugin-ext] fixed incorrect type conversion for language server types #6351
- [plugin-ext] fixed issue where document listening started before all clients were ready #6321
- [plugin-ext] improved error message when a plugin node crashes #6293
- [plugin-ext] improved plugins crash error to be dependent on error type #6335
- [plugin-ext] initialized extension storage proxy earlier avoiding sending events to the plugin manager before it is ready #6323
- [plugin] fixed unnecessary return type of the
$executeCommandwhich wrapped a Promise in another Promise #6290 - [preferences] updated preferences widget so it can be rebinded #6397
- [preview] fixed the resolution of relative links in markdowns #6403
- [scm] fixed default selected SCM nodes #6426
- [task] added content assist for input variables in tasks #6334
- [task] added registered problem matchers to the tasks schema #6422
- [task] added support for input variables in tasks #6331
- [task] added the ability to access task configurations as preferences #6268
- [terminal] added preference to control default rendering option for terminals #6471
- [terminal] fixed the hover tooltip to always be displayed above the canvas #6318
- [textmate-grammars] added better language support for
js,tsandjsxfiles #5976 - [workspace] deprecated
getDefaultWorkspacePathon theWorkspaceServiceas the method name was misleading. UsegetDefaultWorkspaceUriinstead #6432
Breaking changes:
- [core | monaco | task] aligned
ActionProviderrelated entities with VS Code 6302 - [plugin] added handling to not block web socket with many plugins 6252
PluginModeldoes not have anymorecontributesanddependenciesto avoid sending unnecessary data- use
PluginReader.readContributionto load contributes - use
PluginReader.readDependenciesto load dependencies
- use
PluginMetadatadoes not have anymore raw package.json model to avoid sending excessive data to the frontendtheia.Plugin.packageJSONthrows an unsupported error for frontend plugins as a consequence. Please convert to a backend plugin if you need access to it
PluginManagerExt.$initdoes not start plugins anymore, but only initialize the manager RPC services to avoid sending excessive initialization data, as all preferences, on each deployment- please call
$startto start plugins
- please call
PluginDeployerHandler.getPluginMetadatais replaced withPluginDeployerHandler.getPluginDependenciesto access plugin dependenciesHostedPluginServer.getDeployedMetadatais replaced withHostedPluginServer.getDeployedPluginIdsandHostedPluginServer.getDeployedPluginsto fetch first only ids of deployed plugins and then deployed metadata for only yet not loaded pluginsHostedPluginDeployerHandler.getDeployedFrontendMetadataandHostedPluginDeployerHandler.getDeployedBackendMetadataare replaced withHostedPluginDeployerHandler.getDeployedFrontendPluginIds,HostedPluginDeployerHandlergetDeployedBackendPluginIdsandHostedPluginDeployerHandler.getDeployedPluginto fetch first only ids and then deployed metadata fro only yet not loaded pluginsPluginHost.initcan initialize plugins asynchronous, synchronous initialization is still supportedHostedPluginReader.doGetPluginMetadatais renamed toHostedPluginReader.getPluginMetadataPluginDebugAdapterContribution.languages,PluginDebugAdapterContribution.getSchemaAttributesandPluginDebugAdapterContribution.getConfigurationSnippetsare removed to prevent sending the contributions second time to the frontend. Debug contributions are loaded statically from the deployed plugin metadata instead. The same for corresponding methods inDebugExtImpl
- [task] removed
watchedConfigFileUris,watchersMapwatcherServer,fileSystem,configFileUris,watchConfigurationFile()andunwatchConfigurationFile()fromTaskConfigurationsclass 6268 - [task] removed
configurationFileFoundfromTaskServiceclass. 6268
- [core] added ENTER event handler to the open button in explorer #6158
- [core] added firing of JSON schema changed events if an underlying in-memory resource is changed #6035
- [core] added clipboard plugin API #5994
- [core] added command and toolbar item to disable auto sync #5986
- [core] added handling to only update the menu if the frontend is ready #5140
- [core] added handling to reject invalid preference schemas #6110
- [core] added schema check to statically typed APIs #6090
- [core] added the passing of the current widget to react tabbar toolbar items #6220
- [core] added visual feedback to clicked toolbar items #6099
- [core] extracted the top-panel removal into it's own method for extensibility #6261
- [core] fixed the command palette filter to accept leading whitespaces #6225
- [core] fixed webview theme styles #6155
- [core] improved application initialization performance #6172
- [core] improved warning message for 'potential memory leak' #6173
- [core] optimized tabbar decorations rendering #6044
- [core] added handling to prevent the default browser drag-and-drop behavior when dragging a file from the filesystem into the application #6188
- [core] updated inversify to 5.0.1 #6184
- [core] updated the alignment of tabbar icons for consistency #6199
- [core] updated the display of menus to better represent the availability of menu items #6199
- [core] updated the main area to have a default background #6196
- [core] upgraded LSP version to 5.3.0 #5901
- [cpp] added handling to force language client contribution restart on reconnect #6205
- [debug] added electron backend and composite electron launch configurations #6226
- [debug] ignored additional breakpoints returned by
setBreakpointsrequest #6044 - [docs] updated documentation on how to profile #6087
- [docs] updated documentation to include new debug launch configurations #6241
- [docs] updated documentations on how to debug the plugin host #6081
- [getting-started] added ability to tab links in the getting-started widget #6162
- [git] added better handling for attempting to perform a sign-off without the proper git config settings #6222
- [git] fixed a bug which prevented creating branches #6071
- [git] fixed issue to only show the list of amended commits for the correct parent #6242
- [git] updated the git diff list to use perfect scrollbar #6085
- [languages] added handling to avoid activation on startup if there is no other activation events #6164
- [languages] added registration of language features even if a language is not registered #6145
- [markers] fixed false positive tabbar decorations #6132
- [markers] optimized problem status rendering #6044
- [monaco] added registration of Monaco keybindings in reverse order #6170
- [monaco] updated semantic highlighting styles and tokenization #5941
- [monaco] upgrade Monaco version to 0.17.0 #5901
- [plugin-dev] fixed restart instance on debug restarts #6131
- [plugin-ext] added
onURIas a supported activation event #6044 - [plugin-ext] added ability to set active editor on startup #6152
- [plugin-ext] added better mapping of dependencies to VSCode built-ins #6207
- [plugin-ext] added handling to wait for a workspace to be ready before computing the storage paths for plugins #6248
- [plugin-ext] added plugin ID to register commands #6214
- [plugin-ext] added support for
contribute.keybindingsto accept objects or arrays #6243 - [plugin-ext] added support for
vscode.extension.contributes.configurationto be an array #6078 - [plugin-ext] ensured that command arguments are safely passed via jsonrpc #6044
- [plugin-ext] extracted method in PluginReader to handle missing plugin resources #6126
- [plugin-ext] fixed SCM statusbar commands #6236
- [plugin-ext] fixed issue where document change
rangeOffsetwas not properly passed #6044 - [plugin-ext] fixed the disposal of deploy listeners on close #6127
- [plugin-ext] implemented SCM repository selected event #6150
- [plugin-ext] implemented
Plugin.isActivecheck #6044 - [plugin-ext] implemented
registerDeclarationProviderAPI #6173 - [plugin-ext] implemented
vscode.env.openExternalAPI #6044 - [plugin-ext] implemented selection and visible tree view APIs #6044
- [plugin-ext] refactored languagesMain and outputChannelRegistry to use dependency injection #6148
- [plugin-ext] updated hidden view containers to remain hidden on startup #6141
- [plugin-ext] updated plugin host to not crash on activation errors #6097
- [plugin-ext] updated plugin unzipping logs to be less verbose #6149
- [plugin] fixed issue where
withProgresswould not start task immediately #6123 - [preferences] added handling to prevent closing preference editors with the middle mouse click #6198
- [preferences] fixed issue where workspace configurations contributed by VSCode extensions did not take effect #6090
- [scm] removed hover background on scm inline action buttons #6094
- [scm] updated
scmwidget styling #6116 - [search-in-workspace] improved the display of the search-in-workspace widget #6199
- [search-in-workspace] updated
search-in-workspacewidget styling #6116 - [task] added
tasks.fetchTasks()andtasks.executeTask()Plug-in APIs #6058 - [task] added ability to prompt user to choose parser to parse task output #5877
- [textmate] updated handling to not warn if the same grammar is registered multiple times #6125
- [vscode] added parsing view contribution
whencontexts #6068 - [vscode] added support for active/focus view or panel
whenclause context #6062 - [vscode] updated default vscode API version to 1.38.0 #6112
Breaking changes:
- [core][monaco][plugin] added handling to reload plugins on reconnection #6159
- Extenders should implement
Disposablefor plugin main services to handle reconnection properly - Many APIs are refactored to return
Disposable
- Extenders should implement
- [core][plugin] added support for alternative commands in context menus #6069
- [monaco] added support for
monaco.languages.ResourceFileEdit#4723 - [workspace] enable the preference
workspace.supportMultiRootWorkspaceby default #6089
Misc:
This repo was moved to the eclipse-theia organization. Though GitHub automatically redirects from the old repo to the new one, we'll use the new one from now on in this file.
- [core] added ability to execute tasks via keybindings #5913
- [core] added better handling for the
SingleTextInputDialogonEnter#5868 - [core] added handling for command handler errors #5894
- [core] added propagation of phosphor events to view container widgets #5817
- [core] added support for HTML titles for widgets in the sidebar #5948
- [core] added support for path normalization #5918
- [core] added the optional flag
runIfSingleforQuickPickOptions#6059 - [core] fixed issue where the last visible view container was not preserved #5817
- [core] fixed menu bar color #6014
- [core] improved
QuickInputandQuickInputBoxAPIs #5187 - [core] supported diagnostic marker in the tab bar #5845
- [cpp] added support for multiple root cpp build configurations #4603
- [cpp] enabled better semantic highlighting support #5850
- [cpp] moved cpp grammars from the
@theia/cppextension to the@theia/textmate-grammarsextension #5803 - [debug] added progress indicator for the debug widget #6009
- [debug] ensured that terminate flags are properly restarted #5954
- [debug] fixed issue where the debug icons remain opaque after a debug session has terminated #5933
- [debug] removed superfluous scrollbars #5879
- [editor] added support for tab details to disambiguate identical tabs #5775
- [editor] added support to re-open files with different encodings #5371
- [editor] added support to set default file encoding #5371
- [editor] updated editor tabbar captions for better multi-root support #5924
- [file-search] improved Windows support #6029
- [git] added progress indicators for scm/git operations #5830
- [git] added support to initialize a workspace as a git repository #6008
- [git] fixed the git-diff widget header details alignment #5998
- [git] updated ls-files so it works with Git >= 2.16 #5851
- [keymaps] fixed clumsy auto-suggestion dropdown #5990
- [markers] added problem markers to editor tabs #5845
- [markers] added the preference
problems.decorations.enabledto control the display of problem markers in tree widgets #6021 - [messages] reworked messages and added a notification center #5830
- [mini-browser] added support for editor/title context menus for webviews #6030
- [monaco] aligned snippet completion logic with VSCode #5931
- [navigator] added support for multi-file copy #5864
- [navigator] added the toolbar item
more actions...for the explorer #5953 - [navigator] added the toolbar item
refreshto force a refresh of the explorer #5940 - [outline] added
OutlineViewTreeModelfor the outline view tree widget #5687 - [outline] added the toolbar item
collapse-allfor the outline widget #5687 - [outline] updated the keybinding for
toggle outline viewto avoid conflict #5707 - [plugin-ext] added
ignoreFocusOutparameter support for theQuickPick#5900 - [plugin-ext] added automatic downloading of
extensionDependencies#5379 - [plugin-ext] added support for theming webview content #5981
- [plugin-ext] fixed leaking java debug process #5281
- [plugin-ext] fixed plugin-ext file path error #5929
- [plugin] added additional support for
QuickPickAPI #5766 - [plugin] added better error handling for plugins that cannot find files #6002
- [plugin] added cache for command arguments to safely pass them over JSON-RPC #5961
- [plugin] added view containers support #5665
- [search-in-workspace] added display of leading and trailing whitespaces in the search-in-workspace results #5989
- [search-in-workspace] added progress indicator for search-in-workspace #5980
- [search-in-workspace] fixed clumsy auto-suggestion dropdown #5990
- [search-in-workspace] fixed the alignment in the search-in-workspace result note #5802
- [search-in-workspace] modified
replace-allfunctionality to save changes to editors without opening them #5600 - [task] added display of process tasks in the terminal #5895
- [task] added multi-root support to "configure task" and customizing tasks in
tasks.json#5777 - [task] added support for VSCode task contribution points:
taskDefinitions,problemMatchers, andproblemPatterns#5777 - [task] added the display of configured tasks when executing
configure tasks...#5472 - [task] allowed users to override any task properties other than the ones used in the task definition #5777
- [task] changed the way that "configure task" copies the entire task config, to only writing properties that define the detected task plus #5777
problemMatcher, intotasks.json - [task] displayed the customized tasks as "configured tasks" in the task quick open #5777
- [task] fixed the problem where a detected task can be customized more than once #5777
- [task] notified clients of TaskDefinitionRegistry on change #5915
- [task] updated
isVisibleandisEnabledhandling forRun Selected Text#6018 - [task] added support for removing all data from tasks.json #6033
- [task] updated compare task to use task definitions #5975
- [terminal] added a preference
terminal.integrated.scrollbackto control the terminal scrollback #5783 - [vscode] added support for
commandvariable substitution #5835 - [vscode] added support for
configvariable substitution #5835 - [vscode] added support for
execPathvariable substitution #5835 - [vscode] added support for
inputsvariable substitution for debug #5835 - [vscode] added support for
selectedTextvariable substitution #5835 - [vscode] added support for
whenclosure for views #5855 - [vscode] added support for environment variable substitution #5811
- [vscode] added support for workspace scoped variable substitution #5835
- [vscode] fixed resolution of environment variables #5835
Breaking changes:
- [core] refactored
TreeDecorationtoWidgetDecorationand moved it to shell, since it is a generic decoration that can be used by different types of widgets (currently by tree nodes and tabs) #5845 - [plugin]refactored files from 'plugin-ext/src/api' moved to 'plugin-ext/src/common', renamed 'model.ts' to 'plugin-api-rpc-model.ts', 'plugin-api.ts' to 'plugin-api-rpc.ts'
- [shell][plugin] integrated view containers and views #5665
Source ControlandExplorerare view containers now and previous layout data cannot be loaded for them. Because of it the layout is completely reset.
- [task]
TaskService.getConfiguredTasks()returnsPromise<TaskConfiguration[]>instead ofTaskConfiguration[]#5777 - [task] ensured that plugin tasks are registered before accessing them 5869
TaskProviderRegistryandTaskResolverRegistryare promisified
- [task] removed
filterDuplicates()fromTaskConfigurationsclass #5915 - [vscode] completed support of variable substitution #5835
- inline
VariableQuickOpenItem
- inline
- [core] added
theia-widget-noInfocss class to be used by widgets when displaying no information messages #5717 - [core] added additional options to the tree search input #5566
- [core] added fix to prevent the IDE from scrolling along with the text on mobile (e.g. on iPad) #5742
- [core] added view container layout changes #5536
- [core] fixed the alignment of the expansion icon #5677
- [core] fixed the toolbar item comparator #5624
- [core] updated quick-open UI #5733
- [cpp] added the ability to run
clang-tidyas a task #5533 - [debug] fixed behavior of creating launch configurations always under the '.theia' folder #5678
- [debug] updated to ensure that node-based debug adapters spawn the same node executable as Theia #5508
- [doc] updated
node.jsprerequisites #5643 - [editor] added
Toggle Minimapcommand #5633 - [filesystem] disposed the clipboard copy listener #5709
- [filesystem] fixed file dialog opening folder #4868
- [filesystem] fixed scaling issues of save and file dialogs in small viewports #5688
- [filesystem] improved the download of large files #5466
- [git] improved the support for empty Git repositories in the
GitandGit Historyview #5484 - [keymaps] added the
Resetbutton directly when attempting to update a command's keybinding #5603 - [keymaps] aligned the keybindings widget with VSCode #5545
- [markers] added support for
Informationdiagnostic severity #5763 - [markers] enabled single-click and keyboard arrow selection to navigate problem markers #5646
- [messages] fixed the button positioning when displaying messages with a multiple lines of text #5657
- [monaco] added re-detect languages on new grammar #5754
- [monaco] fixed textmate highlighting when changing themes #5728
- [monaco] fixed the alignment of the file icon in the quick-open menus #5725
- [plugin-dev] added the path in the PluginFolder notification #5731
- [plugin-dev] fixed the run/debug flow on Windows #5608
- [plugin-ext] fixed the display of webview icons in the sidepanel #5723
- [plugin-ext] fixed workspace name getter when no folders are opened #5588
- [plugin] added support of debug activation events #5645
- [plugin] fixed
converting circular structure to JSONerror #5661 - [plugin] fixed auto detection of new languages #5753
- [plugin] fixed plugin loading to better support modules that have immutable exports #5520
- [plugin] improved
node.jserror handling #5695 - [scm] fixed the alignment of the status item #5729
- [search-in-workspace] added 'title' to search result nodes #5628
- [search-in-workspace] added the
search.collapseResultspreference to the search-in-workspace widget #5686 - [search-in-workspace] fixed issue which displayed 'No results found' while a user types their search #5701
- [search-in-workspace] improved the ordering of the search results #5669
- [search-in-workspace] updated the
Replace Alldisabled state #5611 - [security] updated the version of
lodash.mergewithfrom 4.6.1 to 4.6.2 #5700 - [task] added support for Linux and OSX specific command properties #5579
- [task] added support for VSCode task contribution points:
taskDefinitions,problemMatchers, andproblemPatterns#5024 - [task] disposed task listeners and emitters when necessary #5024
- [terminal] implemented
Show All Opened Terminalsquick-open menu #5577 - [terminal] updated
processIdandcwdto return a rejected promise instead of throwing an error #5553 - [vscode] added unzipping of node_modules for built-in extensions #5756
- [workspace] added handling to not re-open a workspace that is currently opened #5632
- [workspace] fixed path variables on Windows #5741
Breaking changes:
- [plugin] activate dependencies before activating a plugin #5661
- [plugin] added basic support of activation events #5622
HostedPluginSupportis refactored to support multiplePluginManagerExtproperly- Theia plugins should declare the
"activationEvents": ["*"]entry in the root of thepackage.json. Otherwise, they won't start at app startup. See #5743 for more details.
- [plugin] added support of
workspaceContainsactivation events #5649 - [plugin] fixed typo in 'HostedInstanceState' enum from RUNNNING to RUNNING in
plugin-devextension #5608 - [plugin] removed member
processOptionsfromAbstractHostedInstanceManageras it is not initialized or used #5608
- [core] added bépo keyboard layout
- [core] added sorting to the extension names in the about dialog
- [core] added sorting to the prefixed quick-open commands
- [core] added support for octicon icons in the statusbar
- [core] allowed passing of command args to context menus
- [core] added the ability to rebind the
BrowserMenuBarContribution - [core] fixed issue with webview resizing
- [core] fixed label encoding for diff uris
- [cored] added
TextareaAutosizefor textarea resizing - [debug] added throttling to the debug console output
- [debug] fixed breakpoint resizing error in the debug-widget
- [editor] added the ability to rebind the
EditorWidgetFactory - [editor] implemented
Show All Opened Editorcommand and quick-open menu - [editor] removed the 'dirty' state of an editor if changes are reverted
- [electron] fixed issue when exiting Electron based applications
- [electron] improved startup performance
- [filesystem] improved animation when dragging and dropping multiple files
- [keymaps] added a toolbar item to open the keymaps.json
- [keymaps] added command to
Open Keyboard Shortcuts (JSON) - [keymaps] added toolbar item to clear keybindings-widget search
- [keymaps] enhanced the keybindings-widget search to support different key orders
- [keymaps] fixed the display of key chords in the keybindings-widget
- [keymaps] updated the UI of the keybindings-widget when resizing
- [monaco] fixed overflow with editor hints
- [navigator] added VSCode-like compare for files
- [navigator] added ability to select for compare
- [plugin] added VSCode API to register
DebugAdapterTrackerFactory - [plugin] added
setTextDocumentLanguagePlug-in API - [preview] added scrolling synchronization between editor and preview
- [preview] fixed issue where preview images were broken
- [problems] added
copyandcopy messagefeatures to the problems-widget - [problems] fixed the problem-widget markers from wrapping when resizing
- [task] added the ability to add comments in tasks.json
- [task] added the display of the source folder name for detected tasks in the quick-open
- [task] added the task label in the terminal title when executing tasks
- [task] implemented
Show Running Tasks...command and quick-open menu - [terminal] implemented
Terminate Task...command and quick-open menu
Breaking changes:
- [core]
schemeis mandatory for URIURI.withoutSchemeis removed, in order to get a path useURI.path
- [core]
SelectionCommandHandler.getMulitSelection()is renamed intoSelectionCommandHandler.getMultiSelection() - [debug] align commands with VS Code #5102
debug.restartrenamed toworkbench.action.debug.restart
- [plugin] 'Hosted mode' extracted in
plugin-devextension - [preferences] removed constructor from the
FolderPreferenceProviderclass - [preferences] renamed overridenPreferenceName to overriddenPreferenceName
- [task]
cwd, which used to be defined directly underTask, is moved intoTask.optionsobject - [workspace]
isMultiRootWorkspaceOpened()is renamed intoisMultiRootWorkspaceEnabled() - [filesystem] Changed
FileDownloadServiceAPI to support streaming download of huge files.
- [console] added
Clear Consolecommand and toolbar item - [console] fixed issue where the debug console auto-scrolls when is it located at the bottom
- [core] added command to manually choose a keyboard layout
- [core] added functionality for the toolbar to respond to mouse events
- [core] added launch preferences support
- [core] added preference to control the number of recently used items to display
- [core] added support for recently used commands
- [core] added support for several international keyboard layouts
- [core] added the command
Clear Command History - [core] fixed issue allowing the load of Theia in an iframe over a protected connection
- [core] implemented auto-detection of keyboard layout based on pressed keys
- [core] updated monaco configurations on default preference changes
- [cpp] added support for OpenCL file types
- [debug] added support for debug configuration prefixed quick-open menu
- [electron] added the command
Close Window - [file-upload] fixed reporting uploaded URIs
- [filesystem] added support for multiple files drag and drop
- [java] added new preference to add command line arguments when starting language server
- [markers] added
Collapse Alltoolbar item to the problems-widget - [mini-browser] fixed issue where the mini-browser resizes unnecessarily
- [monaco] removed overriding dark-plus theming
- [navigator] added the command
Collapse Folders in Explorer - [navigator] fixed the commands
Remove FolderandAdd Folder - [outline] added informative tooltips to outline view items
- [plugin-ext] added
onDidEndTaskProcessPlug-in API - [plugin-ext] added
onDidStartTaskProcessPlug-in API - [plugin-ext] added ability to match browser displayed nodes with the plugin created node
- [plugin-ext] added additional command to install VSCode extensions
- [plugin-ext] added support for inline actions
- [plugin-ext] aligned views with Theia styles
- [plugin-ext] fixed he loading of icons
- [plugin-ext] fixed issue of overriding preferences
- [plugin-ext] fixed issue to support single source deployment state
- [plugin-ext] fixed issue where the hosted plugin instance did not properly stop
- [plugin-ext] fixed plugin folder path in Windows
- [plugin-ext] fixed the rendering of png icons
- [plugin-ext] implemented command
workbench.action.reloadWindow - [plugin] added file management vscode commands
- [plugin] fixed plugin export
- [preferences] added additional information to the preference tooltips
- [process] added link matcher for local files
- [process] normalized task types and processes
- [tabbar] fixed widget leaking via phosphor VDOM
- [terminal] added ability to activate links with
cmd + click - [terminal] added support for basic link matching
- [terminal] fixed random 1px white border in Firefox
- [typescript] fixed broken code actions
- [workspace] allowed
WorkspaceCommandContributionto be re-bindable by extensions - [xterm] upgraded xterm to fix terminal dragging between areas
Breaking changes:
- [filesystem] extracted
FileUploadServiceand refactoredFileTreeWidgetto use it #5086- moved
FileDownloadCommands.UPLOADtoFileSystemCommands.UPLOAD
- moved
- [git] bind Git UI to SCM
- [output] moved the channel selection and clear icons to the toolbar.
- The CLEAR_BUTTON and OVERLAY constants are no longer available. Furthermore OutputChannelManager API has changed.
- [preferences] refactored to integrate launch configurations as preferences
- [scm] added Source Control Model
- [core] renamed the
src/electron-mainfolder tosrc/electron-nodein@theia/core. RemovedpreventStopfrom theFrontendApplicationAPI. Move theDefaultWindowServiceclass into its own module.
- Allowed the creation of sub-files and/or sub-folders if name has
/ - [core] added
files.enableTrashpreference - [core] added support for custom React toolbar widgets
- [core] added support for tail decorators
- [core] aligned the statusbar styles with VSCode
- [core] updated the prefix quick-open service to support
actionProviders - [cpp] added support for block comment auto-closing pairs
- [editor-preview] fixed error at application startup if no preview editors are opened
- [editor-preview] fixed the
goToDefinitionfailure when in editor preview mode - [electron] added the ability to run plugins by binding the components on the backend
- [electron] added the configure Plug-ins option to the start script
- [electron] updated Electron to include a
minWidthandminHeight - [electron] upgraded version of Electron used to version 3
- [filesystem] added the menu item
Upload Files...to easily upload files into a workspace - [filesystem] implemented
Save Asincluding a save dialog, and new command - [filesystem] updated the handling when attempting to perform copying when the source and target are the same
- [git] added ability to toggle
Git Historywidget - [git] fixed
Discard Allalignment when theGitwidget is too narrow - [git] fixed
Git Historywidget alignment and behavior issues - [git] updated the ahead/behind icons on the statusbar
- [keyboard] aligned the file and event naming conventions
- [languages] updated error type for backwards compatibility
- [plugin-ext] fixed the Plug-in path selection dialog for the hosted instance
- [plugin] added
CodeActionKindintersectsPlug-in API - [plugin] added necessary Webview Plug-in APIs
- [plugin] added propagation of
thisArgonregisterCommand - [plugin] added support for Gulp, Jake, Grunt Plug-in extensions
- [plugin] added support for extensions without activation functions
- [plugin] added the ability to choose through the CLI which VSCode API version to use
- [plugin] aligned
window.setStatusBarMessagewith VSCode - [plugin] fixed
vscode.opencommand by adding checks on arguments - [plugin] fixed implementation of
vscode.diffcommand - [plugin] fixed issue where webviews were not focused or revealed properly
- [plugin] fixed memory leak on Plug-ins reload
- [plugin] fixed serialization of
Rangeobject - [plugin] fixed the registration of text decoration keys
- [plugin] updated Plug-in language services to hook in monaco cancellation tokens
- [preferences] added ability to override default application preference values
- [search-in-workspace] added the ability to pass the currently selected editor text when searching
- [security] fixed XSS vulnerability
- [task] added command to clear task history
- [task] added support to configure tasks
- [task] added the ability to configure tasks
- [task] added the ability to display recently used tasks
- [task] updated the tasks quick-open menu including alignment, category labels and borders
- [terminal] updated terminal preference's minimum value for
lineHeightandfontSize - [textmate-grammars] added php grammar
- [textmate-grammars] added rust grammar
- [textmate-grammars] fixed incorrect jsx scope
- [tree] added support for icons in node tail decorators
- [workspace] allowed the creation of files and folders using recursive paths
- [workspace] fixed incorrect file-icon when displaying recent workspaces
Breaking changes:
- [core] added support native keyboard layouts #4724
- [dialog] updated
validateandacceptmethods so they are now Promisified #4764 - [editor] turned off autoSave by default to align with VSCode #4777
- default settings can be overridden in application package.json:
{ "private": true, "name": "myapp", "theia": { "frontend": { "config": { "preferences": { "editor.autoSave": "on" } } } } } - [electron] removed cluster mode and startup timeout setting
- [electron] updated Electron to make runtime dependencies optional #4873
- [extension-manager] deprecated #4876
- [node] moved to using Node.js version 10, dropping support for Node.js version 8
- Added
scopeto task configurations to differentiate 3 things: task type, task source, and where to run tasks - [core] added implementation for toolbar support for sidepanels and changed sidepanel tabs
- [core] added new keybinding alt+shift+w to close all main area tabs
- [core] added the ability to make sidebar widgets closable
- [core] fixed
ToolbarAwareTabBardetachment errors - [core] fixed broken wheel listener
- [core] improved scrollbar styling
- [core] updated tabbar toolbar to use VSCode icons
- [core] updated the UI with numerous improvements including sidepanel icons, better alignment, tabbar and menu size
- [cpp] added new
cpp.clangTidyandcpp.clangTidyCheckspreferences to lint cpp program when clangd v9+ is used - [cpp] fixed properly restarting clangd language server when changing cpp build configurations
- [debug] added new debug preferences to control
view,console, andlocationappearance - [editorconfig] added support to apply properties to monaco editor when opening/switching editors
- [file-search] improved ordering and consistency of file search results
- [filesystem] added
files.associationsproperty - [filesystem] improved the performance when deleting large directories
- [filesystem] upgraded
nsfwfile-watching dependency fromvscode-nsfwtoAxosoft/nsfwwhich fixes memory leaks as well as fixes issues where files are not being properly watched outside the main watched directory - [git] fixed issue where Theia did not refresh the git view after deleting the only repository
- [git] improved the git diff navigation header to be static
- [java] improved handling of incomplete classpath commands
- [keybindings] improved the keybindings widget search and table header to be static
- [mini-browser] improved error handling of iframe errors
- [navigator] added
Collapse Alltoolbar item - [navigator] updated the navigator to handle multi-root workspaces better
- [plugin-ext] added
workspace.onDidRenameFilePlug-in API - [plugin-ext] added
workspace.onWillRenameFilePlug-in API - [plugin-ext] added
workspace.registerFileSystemProviderPlug-in API - [plugin-ext] added
workspace.saveAllPlug-in API - [plugin-ext] added
workspace.updateWorkspaceFoldersPlug-in API - [plugin-ext] added ability to proceed
runInTerminalrequests in sidecar containers - [plugin-ext] added the ability to get selection context after executing a command
- [plugin-ext] fixed VSCode Plug-in API incompatibilities for the
onDidChangeActiveTextEditorevent - [plugin-ext] fixed firing the
onWillSaveTextDocumentevent - [plugin-ext] fixed issue of re-deploying already initialized plugins
- [plugin]
workspace.openTextDocumentAPI now respects the contributedFileSystemProviders - [plugin] added support for multiple windows per backend
- [plugin] fixed progress creation
- [plugin] improved the view container to use the native toolbar
- [preferences] fixed content assist when editing
settings.json - [preferences] fixed parsing of settings from workspace files
- [preferences] improved overriding of default configurations
- [preview] fixed issue when opening images
- [search-in-workspace] added a new preference
search.lineNumbersto control whether to show line numbers for search results - [task] added ability to
Run Selected Text - [task] added new command to re-run the last task
- [task] added schema support for
tasks.json - [typehierarchy] added the new type hierarchy extension
- [typehierarchy] improved
typehierarchyto use all levels the language server sends if available - [workspace] added new
package.jsonpropertiesnewFIleNameandnewFileExtensionto specify default file name and extension when creating a new file - [workspace] improved performance of the file rename action for large directories
Breaking changes:
- [editor] computation of resource context keys moved to core #4531
- [plugin] support multiple windows per a backend #4509
- Some plugin bindings are scoped per a connection now. Clients, who contribute/rebind these bindings, will need to scope them per a connection as well.
- [quick-open] disable separate fuzzy matching by default #4549
- [shell] support toolbars in side bars #4600
- In side bars a widget title is rendered as an icon.
- [application-manager] added support for pre-load HTML templates
- [console] added support for console
whencontexts - [core] added support for os
whencontexts - [core] added support for shell
whencontexts - [core] added support for vscode closure contexts
- [core] fixed bad vertical resizing behavior
- [core] improved scrollbar visibility for the command palette
- [core] improved tab-bar display (display 'X' (close) on dirty editors when hovering over dirty icon)
- [core] improved tab-bar display (display 'X' (close) only when current editor is active, or has hover)
- [cpp] fixed
CPP_CLANGD_COMMANDandCPP_CLANGD_ARGSenvironment variables - [cpp] fixed the update of the active build config statusbar when preferences are updated
- [cpp] implemented the command
Create New Build Configuration - [cpp] implemented the command
Reset Build Configuration - [cpp] removed duplicate json config entry generated by the command
New Build Config - [debug] added support for debug mode
whencontexts - [editor] added
Clear Editor Historycommand - [editor] added support for editor
whencontexts - [editor] added support for resource
whencontexts - [editor] registered editor to navigation location stack when
onCurrentEditorChangeevent is fired - [electron] improved opening markdown links by opening them in the OS' default browser
- [electron] stored the last state of window geometry
- [file-search] added separator between recently opened items, and file results when executing the quick file open
- [file-search] added support for ignored globs and limit in file search
- [file-search] improved quick open file sort order
- [file-search] removed git diff editors from displaying the quick file open
- [file-search] added support for
globfile searches - [file-search][plugin-ext] updated
excludeof file search - [git] added the following git commands:
Stash,Apply Stash,Apply Latest Stash,Pop Stash,Pop Latest StashandDrop Stash - [git] enhanced
Git Remotecommand to obtain complete data - [git] fixed refreshing the
GitViewwhen git repo changes - [git] fixed the command
Git Reset - [git] removed bundled git from
dugite - [languages] fixed clash in language server session ids
- [messages] added support for notification
whencontexts - [mini-browser] added ability to pass argument for
openUrlcommand - [monaco] added support for quick open
whencontexts - [monaco] added support for snipped mode
whencontexts - [navigator] added support for explorer
whencontexts - [navigator] fixed updating the navigator context menu on
supportMultiRootWorkspacepreference change - [plugin-ext-vscode] added ability to handle
vscode.diffand open diff editor commands - [plugin-ext-vscode] added vscode
setContextcommand - [plugin-ext-vscode] fixed local resource loading in webviews
- [plugin-ext] fixed
TreeViewwidget registration - [plugin-ext] fixed
onDidSelectItembehavior for the quick pick widget - [plugin-ext] fixed command conversions for code lens
- [plugin-ext] fixed issue of
OutputChanel.shownot displaying - [plugin-ext] fixed miscellaneous issues in golang plugin
- [plugin-ext] implemented
onWillSaveTextDocumentevent handler - [plugin-ext][markers] added support to use problem manager to handle plugin markers
- [plugin] added
tasks.onDidEndTaskPlug-in API - [plugin] added
tasks.taskExecutionsPlug-in API - [plugin] added ability to display webview panel in 'left', 'right' and 'bottom' area
- [plugin] added support for
menus.commandPalettecontribution point - [plugin] added support for
vscode.previewHtmlcommand - [plugin] added support for read-only configuration index access
- [plugin] fixed issue of ensuring statusbar entry uniqueness
- [plugin] implemented inspect configuration command
- [plugin] refactored the
Commandinterface by splitting into two:CommandDescriptionandCommand - [plugin][debug] added ability to connect to a remote debug server
- [preferences] added support for language specific preferences
- [preferences] aligned preference default values by type with vscode
- [search-in-workspace] added support for search
whencontexts - [search-in-workspace] fixed keybinding for
Search in Workspacewidget - [terminal] added support for font preferences
- [terminal] added support for terminal
whencontexts - [vscode] added support for OS specific keybindings
- [vscode] implemented
commands.getCommands - [vscode] implemented
commands.registerTextEditorCommand - [vscode] implemented
workspace.rootPath - [workspace] added support for easier overriding of the
DefaultWorkspaceServer - [workspace] added support for workspace
whencontexts - [workspace] fixed displaying the
Open With...context menu only when more than one open handler is present - [mini-browser] improved handling of iframe errors and time-outs
Breaking changes:
- menus aligned with built-in VS Code menus #4173
- navigator context menu group changes:
1_openand4_newreplaced bynavigationgroup6_workspacerenamed to2_workspacegroup5_diffrenamed to3_comparegroup6_findrenamed to4_searchgroup2_clipboardrenamed to5_cutcopypastegroup3_moveand7_actionsreplaced bynavigationgroup
- editor context menu group changes:
2_cut_copy_pasterenamed to9_cutcopypastegroup
- navigator context menu group changes:
- [debug] align commands with VS Code #4204
debug.breakpoint.togglerenamed toeditor.debug.action.toggleBreakpointdebug.startrenamed toworkbench.action.debug.startdebug.thread.continuerenamed toworkbench.action.debug.continuedebug.start.noDebugrenamed toworkbench.action.debug.rundebug.thread.pauserenamed toworkbench.action.debug.pausedebug.thread.stepinrenamed toworkbench.action.debug.stepIntodebug.thread.stepoutrenamed toworkbench.action.debug.stepOutdebug.thread.nextrenamed toworkbench.action.debug.stepOverdebug.stoprenamed toworkbench.action.debug.stopdebug.editor.showHoverrenamed toeditor.debug.action.showDebugHover
- multi-root workspace support for preferences #3247
PreferenceProvider- is changed from a regular class to an abstract class
- the
fireOnDidPreferencesChangedfunction is deprecated.emitPreferencesChangedEventfunction should be used instead.fireOnDidPreferencesChangedwill be removed with the next major release.
PreferenceServiceImplpreferencesis deprecated.getPreferencesfunction should be used instead.preferenceswill be removed with the next major release
- having
propertiesproperty defined in thePreferenceSchemaobject is now mandatory PreferencePropertyis renamed toPreferenceDataPropertyPreferenceSchemaProvider- the type of
combinedSchemaproperty is changed fromPreferenceSchematoPreferenceDataSchema - the return type of
getCombinedSchemafunction is changed fromPreferenceSchematoPreferenceDataSchema
- the type of
affectsfunction is added toPreferenceChangeEventandPreferenceChangeinterface
navigator.excludepreference is renamed tofiles.exclude#4274
- [core] added
hostnamealias - [core] added new
editor.formatOnSavepreference, to format documents on manual save - [core] added support for setting end of line character
- [cpp] added new
cpp.clangdExecutableandcpp.clangdArgsto customize language server start command - [debug] added node debugger as a Plug-in
- [debug] added support for source breakpoints
- [git] added
discardAllcommand - [git] added
stageAllcommand - [git] added
unstageAllcommand - [git] added new
git pullcommand, to pull from default configured remote - [git] added new
git pushcommand, to push from default configured remote - [git] added the ability to refresh git repositories when a change is detected within a workspace
- [java] allow the ability to rebind
JavaContribution - [languages] enabled INI syntax highlighting for
.propertiesand.tomlfiles - [monaco] fixed cross editor navigation
- [monaco] fixed document-saving that took too long
- [monaco] improved
MonacoWorkspace.fireWillSaveperformance - [plugin] added
globalStateandworkspaceStatePlug-in API - [plugin] added
registerColorProviderPlug-in API - [plugin] added
registerRenameProviderPlug-in API - [plugin] added
tasks.onDidStartTaskPlug-in API - [plugin] added basic support of snippets
- [plugin] added common service to handle
whenexpressions - [plugin] added debug Plug-in API
- [plugin] added support for terminal APIs on window
- [plugin] added the ability to debug VS Code extensions
- [plugin] added the ability to get operating system connected to Plug-in
- [plugin] added the ability to provide a way to initialize workspace folders when Theia is started
- [plugin] added the ability to set the visibility of menu items through
whenexpressions - [plugin] added workspace symbols Plug-in API
- [plugin] fixed spreading of command arguments
- [preferences] added the ability to update settings schema resource on schema changes
- [search-in-workspace] fixed issue regarding child root in
search-in-workspacewhen there is a multiple-root workspace - [search-in-workspace] removed duplicates from
search-in-workspacetree - [security] updated xterm.js to 3.9.2
- [task] added support to run tasks from multiple-roots
- [task] fixed cwd path
- [workspace] added multiple-root support for
WorkspaceService.getWorkspaceRootUri()
- [core] added a preference to define how to handle application exit
- [core] added a way to prevent application exit from extensions
- [core] added functionality to prevent application exit if some editors are dirty
- [core] allowed the ability to scope bindings per connection
- [core] fixed
@theia/core/lib/node/debug#DEBUG_MODEflag to correctly detect when the runtime is inspected/debugged - [cpp] fixed clangd being prematurely started when a build config is active
- [electron] implemented HTTP-based authentication for Git
- [electron] updated Electron to
^2.0.14 - [electron] updated Git for Electron to fall back to embedded Git if no Git is found on the
PATH - [file-search] added ability to search files from multiple-root workspaces
- [file-search] improved handling when attempting to open non-existent files from the
quick-open-file - [filesystem] added the ability to convert URIs to platform specific paths
- [git] updated Git view to display short hash when on detached state
- [java-debug] added major enhancements to
java-debug - [keybinding] normalized key sequences to US layout
- [languages] added a preference for every language contribution to be able to trace the communication client <-> server
- [languages] allowed the ability to provide Language Server start options
- [languages] fixed leaking language clients
- [languages][java] reuse
jdt.lsworkspace - [monaco] fixed keybindings on OSX
- [plug-in] added Plug-in API for language server contributions
- [plug-in] added
storagePathPlug-in API - [plug-in] added
tasks.registerTaskProviderPlug-in API - [plug-in] added
window.withProgressPlug-in API - [plug-in] added ability to register keybindings from a Plug-in's
package.json - [plug-in] added open link command
- [plug-in] added support for context menus in contributed views
- [plug-in] implemented API to get workspace folder by a given file URI
- [plug-in][languages] added ability to register a document highlight provider
- [search-in-workspace] added ability to perform 'Find in Folder...' with multiple folders simultaneously
- [search-in-workspace] added match and file count to search-in-workspace
- [search-in-workspace] added support for multiple-root workspaces
- [search-in-workspace] fixed path issues by instead using URIs
- [terminal] added ability to choose terminal root location when a workspace contains multiple roots
- [workspace] fixed long label computations for multiple-root workspaces
- [xterm] updated Xterm to
3.9.1
- Added better widget error handling for different use cases (ex: no workspace present, no repository present, ...)
- Addressed multiple backend memory leaks
- Prefixed quick-open commands for easier categorization and searching
- Refactored
Taskmenu items into the newTerminalmenu - [core] added
theia.applicationNameto applicationpackage.jsonand improved window title - [core] added graceful handling of init and re-connection errors
- [core] added the keybinding
ctrl+alt+aandctrl+alt+dto switch tabs left/right - [core] added the menu item
Find Command...to easily trigger quick-open commands - [core] added toolbar support for tab-bars
- [core] updated the status-bar display when offline
- [cpp] updated the keybinding for
Switch Header/SourcefromOption+otoOption+Command+owhen on macOS - [debug] added the ability to fork a debug adapter
- [debug] added the ability to trace the debug adapter communication
- [debug] implemented major frontend and backend debug improvements
- [electron] miscellaneous stability and usability improvements on Electron
- [getting-started] added
Getting Started Widget- used to view common commands, recent workspaces, and helpful links - [lsp] added new symbol types and increased existing workspace symbol resilience
- [lsp] registered 'Restart' commands for each language server started for miscellaneous purposes
- [markers] added the context menu item
Collapse Allfor problem markers - [mini-browser] miscellaneous mini-browser improvements
- [plug-in] added Plug-in API to communicate between Theia and plugins
- [plug-in] added
languages.registerCodeLensProviderPlug-in API - [plug-in] added
languages.registerDocumentSymbolProviderPlug-in API - [plug-in] added
window.showTextDocumentPlug-in API - [plug-in] added ability to provide custom namespaces for the Plug-in API
- [plug-in] registered a type definition provider
- [plug-in] added
tasks.registerTaskProviderPlug-in API - [preview-editor] added the ability to open editors in preview mode
- [process] added the ability to create new node processes through forking
- [search-in-workspace] prompted users when performing
Replace All...to limit accidental triggering - [search-in-workspace] fixed issue when selecting a file, the command
Find in Folder...searches from the node's closest parent - [terminal] added the menu item and command
Split Terminal - [workspace] added the ability to open multiple files simultaneously from the file navigator
- [workspace] added the context menu item
Collapse Allfor the file navigator - [workspace] included workspace path as part of the URL fragment
- Reverted [cpp] Add debugging for C/C++ programs. This feature will come back in its own cpp-specific repo
- [callhierarchy][typescript] adapt to hierarchical document symbols
- [core] added methods to un-register menus, commands and keybindings
- [debug] decoupled debug model from UI + clean up
- [markers] added ability to remove markers
- [output] added a button to clear output view
- [plug-in] Terminal.sendText API adds a new line to the text being sent to the terminal if
addNewLineparameter wasn't specified - [plug-in] added
DocumentLinkProviderPlug-in API - [terminal] added 'open in terminal' to navigator
- [windows] implemented drives selector for the file dialog
- [cpp] added debugging for C/C++ programs
- [debug] added debug toolbar
- [debug] resolved variables in configurations
- [debug] updated debug session views to act like panels
- [keymaps] added new
View Keybindings Widget- used to view search and edit keybindings - [languages] added TCL grammar file
- [plug-in] added
menuscontribution point - [workspace] added multi-root workspace support with vscode compatibility
- Re-implemented additional widgets using React
- Re-implemented miscellaneous components using React
- [cpp] added a status bar button to select an active cpp build configuration
- [cpp] implemented watch changes to compile_commands.json
- [git/blame] added support for convert to toggle command
- [markers] fixed #2315: fine grain marker tree computation
- [markers] improved performance by no longer storing markers in browser local storage by default
- [terminal] updated to xterm.js 3.5.0
- [textmate] added C/C++, Java, Python, CSS, html, less, markdown, shell, xml, yaml
- [tree] improved performance by not rendering collapsed nodes
- [ts] added support for one ls for all JavaScript related languages
- [workspace] added support for recently opened workspaces history
- New Plugin system !
- See design and documentation for more details.
- Introducing Task API.
- Note, the format of tasks.json has been changed. For details, see the Task extension's README.md.
- Added an UI when developing plugins
- Migrated widgets to
react - Theia alerts you when the opening of a new tab is denied by the browser
- [core] added quick option to toggle the autosave feature
- [filesystem] added
File Downloadfeature - [git]
git commitnow alerts the user if no files are staged - [git] fixed
gitunstaging feature - [languages] added textmate syntax coloring support (works on
.tsfiles for now until more grammars are registered) - [search-in-workspace] added new command
Search In Folder... - [search-in-workspace] added the missing
Searchmenu item - [workspace] fixed issue to prevent workspace root from being be deleted
.mdfiles that are edited indiffmode now correctly open with the editorHTMLfiles now open in the editor by default
- Added search and replace widget
- Added the ability to delete files on OSX with cmd+backspace
- Added the ability to set more finely grained logger levels
- Fixed several memory leaks.
- [editor] changed the font in the editor
- [editor] fixed the capital
Rkey (shift + r) not working in the editor - [file-search] added support for search in hidden files
- [git] added
git syncandgit publishactions - [navigator] added the ability to toggle hidden files in the navigator
jdt.lsdownload on postinstall