同步操作将从 Gitee 极速下载/theia 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Breaking changes:
download:plugins
script including performance and error handling #7677
download:plugins
script to include colors for better visibility #7648
DisposableCollection.onDispose
event #7508
nsfw
to 1.2.9 #7535
vscode-uri
to version ^2.1.1 #7506
EditorCommandContribution
and EditorMenuContribution
#7569
--no-cluster
flag is specified #7386
process.versions.electron
for sub-processes #7386
successExitCodes
and expectedErrors
to arrays to fix serialization #7627
editor.maxTokenizationLineLength
preference #7618
isChord
call #7468
onigasm
to version ^2.2.0 fixing syntax-highlighting #7610
Select All
in the output-view #7523
severity
to OutputChannel.appendLine
method for coloring #7549
vscode.execute...
commands #7563
env.appName
reuse the value of applicationName
(as defined in the package.json
) #7642
SelectionRange
and SelectionRangeProvider
VS Code API #7534
SaveFileDialog
#7461
ResourceProvider
#7595
overviewRuler
and minimap
theming for SCM decorations #7330
TaskService.lastTask
#7553
presentation.clear
in the task configuration schema #7454
presentation.echo
in the task configuration schema #7503
presentation.panel
in the task configuration schema #7260
presentation.showReuseMessage
in the task configuration schema #7454
presentation.reveal
and presentation.focus
for detected tasks #7548
terminal.integrated.shell.linux
terminal.integrated.shell.osx
terminal.integrated.shell.windows
terminal.integrated.shellArgs.linux
terminal.integrated.shellArgs.osx
terminal.integrated.shellArgs.windows
Breaking changes:
CommandRegistry.registerHandler
registers a new handler with a higher priority than previously #7539
PluginModel.packagePath
and PluginModel.packageUri
should be used instead #7583
configStorage
argument from PluginManager.registerPlugin
#7265
PluginManager.configStorage
property instead. #7265
TerminalProcess
doesn't handle shell quoting, the shell process arguments must be prepared from the caller #6836
@theia/process/lib/common/shell-quoting.ts
in order to process arguments for shells.@theia/process/lib/common/shell-quoting
and @theia/process/lib/common/shell-command-builder
for creating shell inputs #6836
widget.closable
property #7278
inputValidation
theming #7351
CommandService.execute
#7326
build-essential
#7256
timingSafeEqual
#7308
ripgrep
to search files in hidden folders #7333
explorer
to reflect problem markers #6863
problems-view
#7344
MiniBrowserEndpoint.defaultHandler()
response for non mime-db files #7356
workbench.action.addRootFolder
command #7350
workbench.action.openSettings
command #7320
storagePath
to return undefined
when necessary #7394
terminal.integrated.cursorBlinking
preference #7284
terminal.integrated.cursorStyle
preference #7284
terminal.integrated.cursorWidth
preference #7284
terminal.integrated.drawBoldTextInBrightColors
preference #7284
terminal.integrated.fastScrollSensitivity
preference #7284
home
, page-up
, page-down
shortcuts #7305
xterm
dependency #7121
vsx-registry
extension to manage plugins #6655
NEW_FILE
and NEW_FOLDER
could not be triggered under certain conditions #7302
Breaking changes:
debuggingStaturBar
to debuggingStatusBar
#7409
CancelationTokenImpl
to CancellationTokenImpl
#7409
VIEW_ITEM_INLINE_MNUE
to VIEW_ITEM_INLINE_MENU
#7409
GitHistoryWidget
(History View), and GitNavigableListWidget
to a new packaged named scm-extra
#6381
GitHistoryWidget
to ScmHistoryWidget
TaskAttachQuickOpenItem
#7392
TaskService.taskProviderRegistry
#7418
TaskRestartRunningQuickOpenItem
to RunningTaskQuickOpenItem
#7392
handleWroleWordOptionClicked
to handleWholeWordOptionClicked
#7409
toDiposeOnUpdateCurrentWidget
to toDisposeOnUpdateCurrentWidget
#7409
download:plugins
script #7123
p=true
: plugins should be preserved as they are (compressed).p=false
(default): plugins should be uncompressed.ReactDialog
#6855
lsp-types.ts
#7075
TOGGLE_MAXIMIZED
command #7012
RecursivePartial
to allow arrays #7201
AboutDialog
to include the applicationName
#7135
DialogProps
to include: #7080
maxWidth
: control the maximum width allowed for a dialog.wordWrap
: control the word wrapping behavior for content in the dialog.THEIA_ENV_REGEXP_EXCLUSION
#7085
NavigationLocationService
#7042
OpenDialog
#7208
BrowserWindow
can access backend HTTP services #7205
HtmlHandler
support #6969
MonacoWorkspace
#7182
window.showTextDocument
to allow opening resources with untitled
schema #6803
readFile
for workspace filesystem #6980
writeFile
for workspace filesystem #6980
.markdown
files #7234
test:references
: fails if typescript references are out of sync.prepare:references
: updates typescript references, if required.prepare
script now updates typescript references.prepare
script so it now updates typescript references #7096
settings.json
, keymaps.json
, recentworkspace.json
, etc.) will be stored by Theia. #4488~/.theia
, however it can be customized by overriding the #getConfigDirUri
method of the EnvVariablesServer
API. The easiest way is to subclass the EnvVariablesServerImpl
and 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:
scrollLineUp
, scrollLineDown
, scrollToTop
, scrollPageUp
, scrollPageDown
Consuming Builtin and External VS Code Extensions
.@theia/debug-nodejs
extension #6933
@theia/editorconfig
extension #6933
@theia/java
extension #6933
theia-apps
theia-java image for an example application which has been updated to
use VS Code extensions instead of @theia/java
.@theia/java-debug
extension #6933
theia-apps
theia-java image for an example application which has been updated to
use VS Code extensions instead of @theia/java-debug
.@theia/merge-conflicts
extension #6933
@theia/python
extension #6933
theia-apps
theia-python image for an example application which has been updated to
use VS Code extensions instead of @theia/python
.@theia/textmate-grammars
extension #6933
@theia/tslint
extension #6933
@theia/typescript
extension #6933
theia-apps
theia-typescript image for an example application which has been updated to
use VS Code extensions instead of @theia/typescript
.ApplicationShell.getAreaFor
for tabbars #6994
toggle minimap
command and menu item #6843
toggle render whitespace
command and menu item #6843
toggle word wrap
command and menu item #6843
go to line
#6770
select encoding
#6770
select end of line sequence
#6770
select indentation
#6770
select language mode
#6770
go to line
statusbar item to trigger the go to line
command directly #6770
git checkout
statusbar tooltip similarly to VS Code #6779
find-git-repositories
#6850
merge-conflicts
command category #6790
await
on workspace edits file creation #6851
inspect developer token
command #6966
vscode.openFolder
command #6928
--plugin-max-session-logs-folders=N
) session folders are retained.workbench.action.closeActiveEditor
command #6978
showTextDocument
API #6824
DocumentsMainImpl.toEditorOpenerOptions
#6824
processId
and terminalId
to the TaskExitedEvent
#6825
restart running task
#6811
presentation.reveal
and presentation.focus
#6814
restartTask
so it can be called by others #6811
terminateTask
so it can be called by others #6811
onDidChangeCurrentTerminal
event #6799
new terminal
in a multi-root workspace #6876
API Integration
testing framework #6852
new file
dialog #6977
Breaking changes:
ApplicationPackageManager.start*
to return an instance of a server child process instead of promise #6852.gen-webpack.config.js
#6852.
webpack.config.js
is generated only once. It can be edited by users to customize bundling,
but should be based on gen-webpack.config.js
to pick any changes in the generated config.
If it does not have a reference to gen-webpack.config.js
then it will be regenerated.virtual-renderer
. react-renderer
should be used instead #6885
virtual-widget
. react-widget
should be used instead #6885
registerComositionEventListeners()
to registerCompositionEventListeners()
#6961
@theia/json
dependency. Applications should explicitly depend on @theia/json
instead #6647
gererateTimeFolderName
to generateTimeFolderName
#6956
@theia/json
dependency. Applications should explicitly depend on @theia/json
instead #6647
getStrigifiedTaskSchema()
has been renamed to getStringifiedTaskSchema()
#6780
reorgnizeTasks()
has been renamed to reorganizeTasks()
#6780
input
, textarea
, select
and button
elements 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-select
and theia-button
to style input/textarea, select and button elements correspondingly. Existing components were refactored to use them.--theia
and replacing all dots with dashes.
For example widget.shadow
color can be referenced in css with var(--theia-widget-shadow)
.ColorRegistry.getCurrentColor
.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.
ColorContribution
contribution point and calling ColorRegistry.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)
.LabelProvider.getIcon
should 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 pass FileStat
for example or
provide own LabelProviderContribution
which derives FileStat
from a custom data structure and then calls LabelProvider.getIcon
again.LabelProviderContribution
methods can return undefined
meaning that the next contribution should be tried.TreeNode.name
, TreeNode.description
and TreeNode.icon
are deprecated and will be removed later.
One has to provide LabelProviderContribution
implementation 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.example-browser
and example-electron
applications to remove extensions which are instead contributed by VS Code builtin extensions #6883
@theia/cli
script download:plugins
can be used:
package.json
you can define:
theiaPluginDir
: to specify the folder in which to download plugins, in respect to your package.json
theiaPlugins
: to specify the list of plugins in the form of "id": "url"
bunyan
dependency #6651
@theia/bunyan
extension #6651
noWrapInfo
classname in applications with a subset of extensions #6593
@types/bunyan
dependency #6651
Close Editor
keybinding #6635
Close Window
keybinding #6635
noopener
when opening windows to avoid sharing event loops #6683
Close All
keychord when running in Electron #6703
onStop
#6681
Open File
#6690
TaskExecution
instantiation #6533
TaskIdentifier
#6680
New File
keybinding #6635
Open Workspace
#6690
Breaking changes:
noopener
set which ultimately preventing them from accessing window.opener
. openNewWindow
will no longer return a Window as a result #6683
COPY_VARAIBLE_AS_EXPRESSION
to COPY_VARIABLE_AS_EXPRESSION
#6698
COPY_VARAIBLE_VALUE
to COPY_VARIABLE_VALUE
#6698
multiSesssion
to multiSession
#6698
taskDefinitionRegistry
and taskSourceResolver
to the constructor of TaskRunQuickOpenItem
and ConfigureBuildOrTestTaskQuickOpenItem
#6718
ProvidedTaskConfigurations.tasksMap
#6718
TerminalCopyOnSelectionHander
to TerminalCopyOnSelectionHandler
#6692
Open Preferences
and Save As
keybindings with VS Code on Mac OS #6620
window.unload
to window.beforeunload
. #6530
LabelProvider
and its contributions #6608
reconnecting-websocket
to latest version #6512
New File
, Close Editor
and Close Window
keybindings with VS Code across OSes #6635
cpp
extension to the theia-cpp-extensions
repo #6505
setValue
call #6555
allThreadStop
event #6627
navigator
extension #6648
alwaysSignOff
#6402
dugite-extra
dependency #6602
find-git-exec
dependency #6602
textmate-grammars
extension #6622
CodeActionProviders
#6556
plugin-metrics
extension #6303
executeCommand
argument passing #6537
mini-browser
extension #6644
onClose
event #6595
workbench.list.openMode
#6481
diff-editors
with a single-click #6481
launch.json
automatically #6490
group
in the task config #6522
tasks.json
from templates #6391
tasks.json
#6616
Breaking changes:
list.openMode
to workbench.list.openMode
#6481
vscode.previewHTML
is removed, see https://code.visualstudio.com/updates/v1_33#_removing-the-vscodepreviewhtml-command
THEIA_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 #6483
yargs
dependency #6443
--no-static-compression
to theia build
or theia watch
getAllLocation
for paths without parents #6378
clangd
#6271
preLaunchTask
and postDebugTask
#6247
confirmExit
for Electron applications #6285
nsfw
RENAMED events #6283
initializationOptions
for the JSON language server #6398
undefined
'treeItem.label'OutputChannelRegistry
interface and add it into the rpc #6413
DebugSession
#6382
pluginInfo
through the output channel append method #6312
globalStoragePath
Plug-in API #6354
vscode.executeDocumentSymbol
Plug-in API #6291
WorkspaceEdit
conversion #6304
cancellable
option for withProgress
notifications #6365
$executeCommand
which wrapped a Promise in another Promise #6290
js
, ts
and jsx
files #5976
getDefaultWorkspacePath
on the WorkspaceService
as the method name was misleading. Use getDefaultWorkspaceUri
instead #6432
Breaking changes:
ActionProvider
related entities with VS Code 6302
PluginModel
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.getPluginMetadata
PluginDebugAdapterContribution.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 DebugExtImpl
watchedConfigFileUris
, watchersMap
watcherServer
, fileSystem
, configFileUris
, watchConfigurationFile()
and unwatchConfigurationFile()
from TaskConfigurations
class 6268
configurationFileFound
from TaskService
class. 6268
setBreakpoints
request #6044
onURI
as a supported activation event #6044
contribute.keybindings
to accept objects or arrays #6243
vscode.extension.contributes.configuration
to be an array #6078
rangeOffset
was not properly passed #6044
Plugin.isActive
check #6044
registerDeclarationProvider
API #6173
vscode.env.openExternal
API #6044
withProgress
would not start task immediately #6123
scm
widget styling #6116
search-in-workspace
widget styling #6116
tasks.fetchTasks()
and tasks.executeTask()
Plug-in APIs #6058
when
contexts #6068
when
clause context #6062
Breaking changes:
Disposable
for plugin main services to handle reconnection properlyDisposable
monaco.languages.ResourceFileEdit
#4723
workspace.supportMultiRootWorkspace
by 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.
SingleTextInputDialog
onEnter
#5868
runIfSingle
for QuickPickOptions
#6059
QuickInput
and QuickInputBox
APIs #5187
@theia/cpp
extension to the @theia/textmate-grammars
extension #5803
problems.decorations.enabled
to control the display of problem markers in tree widgets #6021
more actions...
for the explorer #5953
refresh
to force a refresh of the explorer #5940
OutlineViewTreeModel
for the outline view tree widget #5687
collapse-all
for the outline widget #5687
toggle outline view
to avoid conflict #5707
ignoreFocusOut
parameter support for the QuickPick
#5900
extensionDependencies
#5379
QuickPick
API #5766
replace-all
functionality to save changes to editors without opening them #5600
tasks.json
#5777
taskDefinitions
, problemMatchers
, and problemPatterns
#5777
configure tasks...
#5472
problemMatcher
, into tasks.json
isVisible
and isEnabled
handling for Run Selected Text
#6018
terminal.integrated.scrollback
to control the terminal scrollback #5783
command
variable substitution #5835
config
variable substitution #5835
execPath
variable substitution #5835
inputs
variable substitution for debug #5835
selectedText
variable substitution #5835
when
closure for views #5855
Breaking 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) #5845
Source 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[]
#5777
TaskProviderRegistry
and TaskResolverRegistry
are promisifiedfilterDuplicates()
from TaskConfigurations
class #5915
VariableQuickOpenItem
theia-widget-noInfo
css class to be used by widgets when displaying no information messages #5717
clang-tidy
as a task #5533
node.js
prerequisites #5643
Toggle Minimap
command #5633
Git
and Git History
view #5484
Reset
button directly when attempting to update a command's keybinding #5603
Information
diagnostic severity #5763
converting circular structure to JSON
error #5661
node.js
error handling #5695
search.collapseResults
preference to the search-in-workspace widget #5686
Replace All
disabled state #5611
lodash.mergewith
from 4.6.1 to 4.6.2 #5700
taskDefinitions
, problemMatchers
, and problemPatterns
#5024
Show All Opened Terminals
quick-open menu #5577
processId
and cwd
to return a rejected promise instead of throwing an error #5553
Breaking 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 #5649
plugin-dev
extension #5608
processOptions
from AbstractHostedInstanceManager
as it is not initialized or used #5608
BrowserMenuBarContribution
TextareaAutosize
for textarea resizingEditorWidgetFactory
Show All Opened Editor
command and quick-open menuOpen Keyboard Shortcuts (JSON)
DebugAdapterTrackerFactory
setTextDocumentLanguage
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.path
SelectionCommandHandler.getMulitSelection()
is renamed into SelectionCommandHandler.getMultiSelection()
debug.restart
renamed to workbench.action.debug.restart
plugin-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 History
Close Window
Collapse All
toolbar item to the problems-widgetCollapse Folders in Explorer
Remove Folder
and Add Folder
onDidEndTaskProcess
Plug-in APIonDidStartTaskProcess
Plug-in APIworkbench.action.reloadWindow
cmd + click
WorkspaceCommandContribution
to be re-bindable by extensionsBreaking changes:
FileUploadService
and refactored FileTreeWidget
to use it #5086
FileDownloadCommands.UPLOAD
to FileSystemCommands.UPLOAD
src/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
preferenceactionProviders
goToDefinition
failure when in editor preview modeminWidth
and minHeight
Upload 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 registerCommand
window.setStatusBarMessage
with VSCodevscode.open
command by adding checks on argumentsvscode.diff
commandRange
objectlineHeight
and fontSize
Breaking changes:
validate
and accept
methods so they are now Promisified #4764
{
"private": true,
"name": "myapp",
"theia": {
"frontend": {
"config": {
"preferences": {
"editor.autoSave": "on"
}
}
}
}
}
scope
to task configurations to differentiate 3 things: task type, task source, and where to run tasksToolbarAwareTabBar
detachment errorscpp.clangTidy
and 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 FileSystemProviders
settings.json
search.lineNumbers
to control whether to show line numbers for search resultsRun Selected Text
tasks.json
typehierarchy
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 Configuration
Reset Build Configuration
New Build Config
when
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 Stash
Git Remote
command to obtain complete dataGitView
when git repo changesGit Reset
dugite
when
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 Command
when
contextsSearch in Workspace
widgetwhen
contextscommands.getCommands
commands.registerTextEditorCommand
workspace.rootPath
DefaultWorkspaceServer
when
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.toggleBreakpoint
debug.start
renamed to workbench.action.debug.start
debug.thread.continue
renamed to workbench.action.debug.continue
debug.start.noDebug
renamed to workbench.action.debug.run
debug.thread.pause
renamed to workbench.action.debug.pause
debug.thread.stepin
renamed to workbench.action.debug.stepInto
debug.thread.stepout
renamed to workbench.action.debug.stepOut
debug.thread.next
renamed to workbench.action.debug.stepOver
debug.stop
renamed to workbench.action.debug.stop
debug.editor.showHover
renamed to editor.debug.action.showDebugHover
PreferenceProvider
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 PreferenceDataProperty
PreferenceSchemaProvider
combinedSchema
property is changed from PreferenceSchema
to PreferenceDataSchema
getCombinedSchema
function is changed from PreferenceSchema
to PreferenceDataSchema
affects
function is added to PreferenceChangeEvent
and PreferenceChange
interfacenavigator.exclude
preference is renamed to files.exclude
#4274
hostname
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()
@theia/core/lib/node/debug#DEBUG_MODE
flag to correctly detect when the runtime is inspected/debugged^2.0.14
PATH
quick-open-file
java-debug
jdt.ls
workspacestoragePath
Plug-in APItasks.registerTaskProvider
Plug-in APIwindow.withProgress
Plug-in APIpackage.json
3.9.1
Task
menu items into the new Terminal
menutheia.applicationName
to application package.json
and improved window titlectrl+alt+a
and ctrl+alt+d
to switch tabs left/rightFind Command...
to easily trigger quick-open commandsSwitch Header/Source
from Option+o
to Option+Command+o
when on macOSGetting Started Widget
- used to view common commands, recent workspaces, and helpful linksCollapse All
for problem markerslanguages.registerCodeLensProvider
Plug-in APIlanguages.registerDocumentSymbolProvider
Plug-in APIwindow.showTextDocument
Plug-in APItasks.registerTaskProvider
Plug-in APIReplace All...
to limit accidental triggeringFind in Folder...
searches from the node's closest parentSplit Terminal
Collapse All
for the file navigatoraddNewLine
parameter wasn't specifiedDocumentLinkProvider
Plug-in APIView Keybindings Widget
- used to view search and edit keybindingsmenus
contribution pointreact
File Download
featuregit commit
now alerts the user if no files are stagedgit
unstaging feature.ts
files for now until more grammars are registered)Search In Folder...
Search
menu item.md
files that are edited in diff
mode now correctly open with the editorHTML
files now open in the editor by defaultR
key (shift + r) not working in the editorgit sync
and git publish
actionsjdt.ls
download on postinstall此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。