doc/changelogs/CHANGELOG-2019.md
bunyan dependency #6651@theia/bunyan extension #6651noWrapInfo classname in applications with a subset of extensions #6593@types/bunyan dependency #6651Close Editor keybinding #6635Close Window keybinding #6635noopener when opening windows to avoid sharing event loops #6683Close All keychord when running in Electron #6703onStop #6681Open File #6690TaskExecution instantiation #6533TaskIdentifier #6680New File keybinding #6635Open Workspace #6690Breaking changes:
noopener set which ultimately preventing them from accessing window.opener. openNewWindow will no longer return a Window as a result #6683COPY_VARAIBLE_AS_EXPRESSION to COPY_VARIABLE_AS_EXPRESSION #6698COPY_VARAIBLE_VALUE to COPY_VARIABLE_VALUE #6698multiSesssion to multiSession #6698taskDefinitionRegistry and taskSourceResolver to the constructor of TaskRunQuickOpenItem and ConfigureBuildOrTestTaskQuickOpenItem #6718ProvidedTaskConfigurations.tasksMap #6718TerminalCopyOnSelectionHander to TerminalCopyOnSelectionHandler #6692Open Preferences and Save As keybindings with VS Code on Mac OS #6620window.unload to window.beforeunload. #6530LabelProvider and its contributions #6608reconnecting-websocket to latest version #6512New File, Close Editor and Close Window keybindings with VS Code across OSes #6635cpp extension to the theia-cpp-extensions repo #6505setValue call #6555allThreadStop event #6627navigator extension #6648alwaysSignOff #6402dugite-extra dependency #6602find-git-exec dependency #6602textmate-grammars extension #6622CodeActionProviders #6556plugin-metrics extension #6303executeCommand argument passing #6537mini-browser extension #6644onClose event #6595workbench.list.openMode #6481diff-editors with a single-click #6481launch.json automatically #6490group in the task config #6522tasks.json from templates #6391tasks.json #6616Breaking changes:
list.openMode to workbench.list.openMode #6481vscode.previewHTML is removed, see https://code.visualstudio.com/updates/v1_33#_removing-the-vscodepreviewhtml-commandTHEIA_WEBVIEW_EXTERNAL_ENDPOINT env 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.THEIA_WEBVIEW_EXTERNAL_ENDPOINT with {{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.--theia prefix.https scheme. For local testing localhost is 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.TaskSchemaUpdater.update() from asynchronous to synchronous #6483yargs dependency #6443--no-static-compression to theia build or theia watchgetAllLocation for paths without parents #6378clangd #6271preLaunchTask and postDebugTask #6247confirmExit for Electron applications #6285nsfw RENAMED events #6283initializationOptions for the JSON language server #6398undefined 'treeItem.label'OutputChannelRegistry interface and add it into the rpc #6413DebugSession #6382pluginInfo through the output channel append method #6312globalStoragePath Plug-in API #6354vscode.executeDocumentSymbol Plug-in API #6291WorkspaceEdit conversion #6304cancellable option for withProgress notifications #6365$executeCommand which wrapped a Promise in another Promise #6290js, ts and jsx files #5976getDefaultWorkspacePath on the WorkspaceService as the method name was misleading. Use getDefaultWorkspaceUri instead #6432Breaking changes:
ActionProvider related entities with VS Code 6302PluginModel does not have anymore contributes and dependencies to avoid sending unnecessary data
PluginReader.readContribution to load contributesPluginReader.readDependencies to load dependenciesPluginMetadata does not have anymore raw package.json model to avoid sending excessive data to the frontend
theia.Plugin.packageJSON throws an unsupported error for frontend plugins as a consequence. Please convert to a backend plugin if you need access to itPluginManagerExt.$init does not start plugins anymore, but only initialize the manager RPC services to avoid sending excessive initialization data, as all preferences, on each deployment
$start to start pluginsPluginDeployerHandler.getPluginMetadata is replaced with PluginDeployerHandler.getPluginDependencies to access plugin dependenciesHostedPluginServer.getDeployedMetadata is replaced with HostedPluginServer.getDeployedPluginIds and HostedPluginServer.getDeployedPlugins to fetch first only ids of deployed plugins and then deployed metadata for only yet not loaded pluginsHostedPluginDeployerHandler.getDeployedFrontendMetadata and HostedPluginDeployerHandler.getDeployedBackendMetadata are replaced with HostedPluginDeployerHandler.getDeployedFrontendPluginIds, HostedPluginDeployerHandlergetDeployedBackendPluginIds and HostedPluginDeployerHandler.getDeployedPlugin to fetch first only ids and then deployed metadata fro only yet not loaded pluginsPluginHost.init can initialize plugins asynchronous, synchronous initialization is still supportedHostedPluginReader.doGetPluginMetadata is renamed to HostedPluginReader.getPluginMetadataPluginDebugAdapterContribution.languages, PluginDebugAdapterContribution.getSchemaAttributes and PluginDebugAdapterContribution.getConfigurationSnippets are 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 in DebugExtImplwatchedConfigFileUris, watchersMap watcherServer, fileSystem, configFileUris, watchConfigurationFile() and unwatchConfigurationFile() from TaskConfigurations class 6268configurationFileFound from TaskService class. 6268setBreakpoints request #6044onURI as a supported activation event #6044contribute.keybindings to accept objects or arrays #6243vscode.extension.contributes.configuration to be an array #6078rangeOffset was not properly passed #6044Plugin.isActive check #6044registerDeclarationProvider API #6173vscode.env.openExternal API #6044withProgress would not start task immediately #6123scm widget styling #6116search-in-workspace widget styling #6116tasks.fetchTasks() and tasks.executeTask() Plug-in APIs #6058when contexts #6068when clause context #6062Breaking changes:
Disposable for plugin main services to handle reconnection properlyDisposablemonaco.languages.ResourceFileEdit #4723workspace.supportMultiRootWorkspace by default #6089Misc:
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.
SingleTextInputDialog onEnter #5868runIfSingle for QuickPickOptions #6059QuickInput and QuickInputBox APIs #5187@theia/cpp extension to the @theia/textmate-grammars extension #5803problems.decorations.enabled to control the display of problem markers in tree widgets #6021more actions... for the explorer #5953refresh to force a refresh of the explorer #5940OutlineViewTreeModel for the outline view tree widget #5687collapse-all for the outline widget #5687toggle outline view to avoid conflict #5707ignoreFocusOut parameter support for the QuickPick #5900extensionDependencies #5379QuickPick API #5766replace-all functionality to save changes to editors without opening them #5600tasks.json #5777taskDefinitions, problemMatchers, and problemPatterns #5777configure tasks... #5472problemMatcher, into tasks.jsonisVisible and isEnabled handling for Run Selected Text #6018terminal.integrated.scrollback to control the terminal scrollback #5783command variable substitution #5835config variable substitution #5835execPath variable substitution #5835inputs variable substitution for debug #5835selectedText variable substitution #5835when closure for views #5855Breaking changes:
TreeDecoration to WidgetDecoration and 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) #5845Source Control and Explorer are view containers now and previous layout data cannot be loaded for them. Because of it the layout is completely reset.TaskService.getConfiguredTasks() returns Promise<TaskConfiguration[]> instead of TaskConfiguration[] #5777TaskProviderRegistry and TaskResolverRegistry are promisifiedfilterDuplicates() from TaskConfigurations class #5915VariableQuickOpenItemtheia-widget-noInfo css class to be used by widgets when displaying no information messages #5717clang-tidy as a task #5533node.js prerequisites #5643Toggle Minimap command #5633Git and Git History view #5484Reset button directly when attempting to update a command's keybinding #5603Information diagnostic severity #5763converting circular structure to JSON error #5661node.js error handling #5695search.collapseResults preference to the search-in-workspace widget #5686Replace All disabled state #5611lodash.mergewith from 4.6.1 to 4.6.2 #5700taskDefinitions, problemMatchers, and problemPatterns #5024Show All Opened Terminals quick-open menu #5577processId and cwd to return a rejected promise instead of throwing an error #5553Breaking changes:
HostedPluginSupport is refactored to support multiple PluginManagerExt properly"activationEvents": ["*"] entry in the root of the package.json. Otherwise, they won't start at app startup. See #5743 for more details.workspaceContains activation events #5649plugin-dev extension #5608processOptions from AbstractHostedInstanceManager as it is not initialized or used #5608BrowserMenuBarContributionTextareaAutosize for textarea resizingEditorWidgetFactoryShow All Opened Editor command and quick-open menuOpen Keyboard Shortcuts (JSON)DebugAdapterTrackerFactorysetTextDocumentLanguage Plug-in APIcopy and copy message features to the problems-widgetShow Running Tasks... command and quick-open menuTerminate Task... command and quick-open menuBreaking changes:
scheme is mandatory for URI
URI.withoutScheme is removed, in order to get a path use URI.pathSelectionCommandHandler.getMulitSelection() is renamed into SelectionCommandHandler.getMultiSelection()debug.restart renamed to workbench.action.debug.restartplugin-dev extensionFolderPreferenceProvider classcwd, which used to be defined directly under Task, is moved into Task.options objectisMultiRootWorkspaceOpened() is renamed into isMultiRootWorkspaceEnabled()FileDownloadService API to support streaming download of huge files.Clear Console command and toolbar itemClear Command HistoryClose WindowCollapse All toolbar item to the problems-widgetCollapse Folders in ExplorerRemove Folder and Add FolderonDidEndTaskProcess Plug-in APIonDidStartTaskProcess Plug-in APIworkbench.action.reloadWindowcmd + clickWorkspaceCommandContribution to be re-bindable by extensionsBreaking changes:
FileUploadService and refactored FileTreeWidget to use it #5086
FileDownloadCommands.UPLOAD to FileSystemCommands.UPLOADsrc/electron-main folder to src/electron-node in @theia/core. Removed preventStop from the FrontendApplication API. Move the DefaultWindowService class into its own module./files.enableTrash preferenceactionProvidersgoToDefinition failure when in editor preview modeminWidth and minHeightUpload Files... to easily upload files into a workspaceSave As including a save dialog, and new commandGit History widgetDiscard All alignment when the Git widget is too narrowGit History widget alignment and behavior issuesCodeActionKind intersects Plug-in APIthisArg on registerCommandwindow.setStatusBarMessage with VSCodevscode.open command by adding checks on argumentsvscode.diff commandRange objectlineHeight and fontSizeBreaking changes:
[core] added support native keyboard layouts #4724
[dialog] updated validate and accept methods so they are now Promisified #4764
[editor] turned off autoSave by default to align with VSCode #4777
{
"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
scope to task configurations to differentiate 3 things: task type, task source, and where to run tasksToolbarAwareTabBar detachment errorscpp.clangTidyand cpp.clangTidyChecks preferences to lint cpp program when clangd v9+ is usedview, console, and location appearancefiles.associations propertynsfw file-watching dependency from vscode-nsfw to Axosoft/nsfw which fixes memory leaks as well as fixes issues where files are not being properly watched outside the main watched directoryCollapse All toolbar itemworkspace.onDidRenameFile Plug-in APIworkspace.onWillRenameFile Plug-in APIworkspace.registerFileSystemProvider Plug-in APIworkspace.saveAll Plug-in APIworkspace.updateWorkspaceFolders Plug-in APIrunInTerminal requests in sidecar containersonDidChangeActiveTextEditor eventonWillSaveTextDocument eventworkspace.openTextDocument API now respects the contributed FileSystemProviderssettings.jsonsearch.lineNumbers to control whether to show line numbers for search resultsRun Selected Texttasks.jsontypehierarchy to use all levels the language server sends if availablepackage.json properties newFIleName and newFileExtension to specify default file name and extension when creating a new fileBreaking changes:
when contextswhen contextswhen contextsCPP_CLANGD_COMMAND and CPP_CLANGD_ARGS environment variablesCreate New Build ConfigurationReset Build ConfigurationNew Build Configwhen contextsClear Editor History commandwhen contextswhen contextsonCurrentEditorChange event is firedglob file searchesexclude of file searchStash, Apply Stash, Apply Latest Stash, Pop Stash, Pop Latest Stash and Drop StashGit Remote command to obtain complete dataGitView when git repo changesGit Resetdugitewhen contextsopenUrl commandwhen contextswhen contextswhen contextssupportMultiRootWorkspace preference changevscode.diff and open diff editor commandssetContext commandTreeView widget registrationonDidSelectItem behavior for the quick pick widgetOutputChanel.show not displayingonWillSaveTextDocument event handlertasks.onDidEndTask Plug-in APItasks.taskExecutions Plug-in APImenus.commandPalette contribution pointvscode.previewHtml commandCommand interface by splitting into two: CommandDescription and Commandwhen contextsSearch in Workspace widgetwhen contextscommands.getCommandscommands.registerTextEditorCommandworkspace.rootPathDefaultWorkspaceServerwhen contextsOpen With... context menu only when more than one open handler is presentBreaking changes:
1_open and 4_new replaced by navigation group6_workspace renamed to 2_workspace group5_diff renamed to 3_compare group6_find renamed to 4_search group2_clipboard renamed to 5_cutcopypaste group3_move and 7_actions replaced by navigation group2_cut_copy_paste renamed to 9_cutcopypaste groupdebug.breakpoint.toggle renamed to editor.debug.action.toggleBreakpointdebug.start renamed to workbench.action.debug.startdebug.thread.continue renamed to workbench.action.debug.continuedebug.start.noDebug renamed to workbench.action.debug.rundebug.thread.pause renamed to workbench.action.debug.pausedebug.thread.stepin renamed to workbench.action.debug.stepIntodebug.thread.stepout renamed to workbench.action.debug.stepOutdebug.thread.next renamed to workbench.action.debug.stepOverdebug.stop renamed to workbench.action.debug.stopdebug.editor.showHover renamed to editor.debug.action.showDebugHoverPreferenceProvider
fireOnDidPreferencesChanged function is deprecated. emitPreferencesChangedEvent function should be used instead. fireOnDidPreferencesChanged will be removed with the next major release.PreferenceServiceImpl
preferences is deprecated. getPreferences function should be used instead. preferences will be removed with the next major releaseproperties property defined in the PreferenceSchema object is now mandatoryPreferenceProperty is renamed to PreferenceDataPropertyPreferenceSchemaProvider
combinedSchema property is changed from PreferenceSchema to PreferenceDataSchemagetCombinedSchema function is changed from PreferenceSchema to PreferenceDataSchemaaffects function is added to PreferenceChangeEvent and PreferenceChange interfacenavigator.exclude preference is renamed to files.exclude #4274hostname aliaseditor.formatOnSave preference, to format documents on manual savecpp.clangdExecutable and cpp.clangdArgs to customize language server start commanddiscardAll commandstageAll commandunstageAll commandgit pull command, to pull from default configured remotegit push command, to push from default configured remoteJavaContribution.properties and .toml filesMonacoWorkspace.fireWillSave performanceglobalState and workspaceState Plug-in APIregisterColorProvider Plug-in APIregisterRenameProvider Plug-in APItasks.onDidStartTask Plug-in APIwhen expressionswhen expressionssearch-in-workspace when there is a multiple-root workspacesearch-in-workspace treeWorkspaceService.getWorkspaceRootUri()