105 KiB
Monaco Editor Changelog
[0.45.0]
Breaking Changes
wordBasedSuggestions: boolean
->'off' | 'currentDocument' | 'matchingDocuments' | 'allDocuments'
occurrencesHighlight: boolean
->'off' | 'singleFile' | 'multiFile'
Additions
- Many bug fixes
IEditorScrollbarOptions.ignoreHorizontalScrollbarInContentHeight
IDiffEditor.goToDiff
IDiffEditor.revealFirstDiff
[0.44.0]
- Removes old diff editor implementation.
- Custom diff algorithms no longer can be passed via diff editor options, instead a service should be used (see #3558 for more details).
[0.42.0]
- Uses new diff editor widget by default. Use
experimental.useVersion2: false
to use the old widget. The old widget will be replaced in the next update. - Diff editor uses inline mode by default when width is too small. Use the config option
useInlineViewWhenSpaceIsLimited
to control this behavior. - Fixes broken language features when a model is created before the editor.
[0.41.0]
IDiffEditor.diffReviewNext
was renamed toIDiffEditor.accessibleDiffViewerNext
.IDiffEditor.diffReviewPrev
was renamed toIDiffEditor.accessibleDiffViewerPrev
.- Introduces
InlineCompletionsProvider.yieldsToGroupIds
to allows inline completion providers to yield to other providers. - Bugfixes
Contributions to monaco-editor
:
- @claylibrarymarket: Fix Twig's plain text class expression PR #4063
- @FossPrime (Ray Foss): Use new GitHub pages workflow PR #4000
- @leandrocp (Leandro Pereira): Elixir - Add support for multi-letter uppercase sigils PR #4041
- @philippleidig (PhilippLe): Add TwinCAT file support for structured text (st) language PR #3315
- @remcohaszing (Remco Haszing)
[0.40.0]
- Support for Glyph Margin Widgets
- Removes
getDiffLineInformationForOriginal
andgetDiffLineInformationForModified
fromIDiffEditor
createTrustedTypesPolicy
is optional now- New option
IModelDecorationOptions.shouldFillLineOnLineBreak
- New option
EditorOptions.readOnlyMessage
[0.39.0]
- New method
Environment.createTrustedTypesPolicy
to override trusted types handling. - Bugfixes
Contributions to monaco-editor
:
- @dlitsman (Dmitry Litsman): Extend the "Rendering Glyphs In The Margin" example to include a transparent color note. PR #3945
- @dneto0 (David Neto): Avoid a hack in the WGSL lexer PR #3887
- @spahnke (Sebastian Pahnke)
- @titouanmathis (Titouan Mathis): [Webpack Plugin] Fix CJS being injected in ESM files PR #3933
[0.38.0]
diffAlgorithm
values changed:smart
->legacy
,experimental
->advanced
- New
registerEditorOpener
API - New property
IViewZone.showInHiddenAreas
to show view zones in hidden areas - New properties
InlineCompletions.suppressSuggestions
andInlineCompletions.enableForwardStability
- Bugfixes
Contributions to monaco-editor
:
- @dneto0 (David Neto): Add WebGPU Shading Language tokenizer, with tests PR #3884
- @kisstkondoros (Tamas Kiss): Fix reference error in convert method of OutlineAdapter PR #3924
- @tamayika: Change moduleResolution to node16 and adopt TS 5.0 PR #3860
[0.37.1]
- Fixes Inline Completions feature
[0.37.0]
- New
registerLinkOpener
API - New
onLanguageEncountered
event for when a language is encountered during tokenization. - Updated TypeScript to 5.0
- New required field
canFormatMultipleRanges
onDocumentRangeFormattingEditProvider
- Bugfixes
Contributions to monaco-editor
:
- @danboo (Dan Boorstein): add perl module (.pm) extension PR #3258
- @miloush (Jan Kučera): Include .xsd and .xslt as an XML extension PR #3866
- @nnnnoel (Noel Kim (김민혁)): Add CommonJS, ESM extension for TS PR #3264
- @PmcFizz (Fizz): opt example PR #3726
- @tamayika
- @yuri1969 (yuri): Various YAML improvements PR #3864
[0.36.1]
- Marks unneeded dependencies as dev dependencies.
[0.36.0]
- Maintenance release
[0.35.0]
- Adds sticky scrolling
- Support for custom diff algorithms
Breaking Changes
- Renamed the option
enableDropIntoEditor
todropIntoEditor
- Changed
IContentWidgetPosition.range: Range
toIContentWidgetPosition.secondaryPosition: Position
renderFinalNewline
config: is now of type'on' | 'off' | 'dimmed'
(wasboolean
).cursorSmoothCaretAnimation
config: is now of type'off' | 'explicit' | 'on'
(wasboolean
)
Contributions to monaco-editor
:
- @andrewimcclement: Add .props & .targets as XML extensions PR #3510
- @DetachHead: add
satisfies
keyword to typescript PR #3337 - @jeremy-rifkin (Jeremy Rifkin): Add AVX 512 types to C++ syntax highlighting PR #3286
- @joecarl (José Carlos): Add setModeConfiguration for monaco.languages.typescript.[typescript|javascript]Defaults PR #3489
- @jonatanklosko (Jonatan Kłosko): Update Elixir tokenizer PR #3453
- @JoyceZhu (Joyce Zhu): Update import path for
browser-esm-webpack-small
PR #3402 - @Jozebel11 (Joseph Hardwicke): Add position styling to playground container to equal 'relative' PR #3446
- @kirjs (Kirill Cherkashin): Fix broken link in the changelog PR #3382
- @LeoDog896 (Tristan F.)
- @MasterOdin (Matthew Peveler): Add new pgsql 15 functions PR #3363
- @mofux (Thomas Zilz): Resolve URIs with special characters correctly PR #3392
- @nnnnoel (Noel Kim (김민혁)): fix(mysql/tokenizer): Fix single quoted string escape PR #3232
- @rcjsuen (Remy Suen): Fix the color provider's columns PR #3348
- @RubenRBS (Rubén Rincón Blanco): Recognize \0 as an escape sequence PR #3443
- @sekedus (Sekedus): add homepage url PR #3497
- @tr3ysmith (Trey Smith): Fix possible duplicate of editors in vite sample PR #3390
[0.34.1]
- Adds API to register global actions, commands, or keybinding rules
[0.34.0]
- Introduction of
IEditor.createDecorationsCollection
API - New function
removeAllMarkers
to remove all markers - Support for light high contrast theme
- Introduction of
BracketPairColorizationOptions.independentColorPoolPerBracketType
- Introduction of
PositionAffinity.LeftOfInjectedText
andPositionAffinity.RightOfInjectedText
- Introduction of
IEditorOptions.showFoldingControls: 'never'
- Introduction of
IDiffEditorBaseOptions.renderMarginRevertIcon: boolean
- Inline Quick Suggestions
- Introduction of
IContentWidgetPosition.positionAffinity
- Provider can now be registered for a
LanguageSelector
Breaking Changes
IEditorInlayHintsOptions
tweaks- Iteration on
InlineCompletion
API WorkspaceFileEdit
->IWorkspaceFileEdit
oldUri
->oldResource
newUri
->newResource
WorkspaceTextEdit
->IWorkspaceTextEdit
edit
->textEdit
(now supportsinsertAsSnippet
)modelVersionId?: number
->versionId: number | undefined
InlayHint
API tweaks- Soft deprecation of
ICodeEditor.deltaDecorations
, no adoption required.IEditor.createDecorationsCollection
API should be used instead.
Contributions to monaco-editor
:
- @alexander-zw (Alexander Wu): [webpack readme] Add how to get languages/features PR #3171
- @anjbur (Angela Burton): Update Q# keywords PR #3222
- @bsorrentino (bsorrentino): Fix issue #2295 - Models with "@" in their name do not resolve as dependencies PR #3057
- @MasterOdin (Matthew Peveler): Remove duplicate testcases for mysql PR #3138
- @mhsdesign (Marc Henry Schultz): [DOCS] IEditorOptions.automaticLayout uses ResizeObserver 3051 PR #3052
- @supersonictw (SuperSonic): Fix menu link in integrate-esm.md PR #3214
- @tonilastre (Toni): Add config and tokenizer for query language Cypher PR #3102
[0.33.0]
- The first parameter of all
monaco.languages.register*Provider
functions has changed to take aDocumentSelector
instead of a singlelanguageId
- The
Environment.getWorker
function can now return aPromise
Breaking Changes
InlayHintKind.Other
is removed.
Thank you
Contributions to monaco-editor
:
- @Dan1ve (Daniel Veihelmann): Make Vite sample code Firefox compatible PR #2991
- @philipturner (Philip Turner): Add
@noDerivative
modifier to Swift PR #2957
[0.32.1] (04.02.2022)
[0.32.0] (03.02.2022)
Breaking Changes
- The binary format for
IEncodedLineTokens
has changed to support strikethrough text. IDiffEditor.getDomNode()
has been renamed toIDiffEditor.getContainerDomNode()
.InlayHint.text
has been replaced byInlayHint.label
andInlayHintsProvider.provideInlayHints
now returns anInlayHintList
.
Thank you
Contributions to monaco-editor
:
- @blutorange (Andre Wachsmuth): Implements #2383 Add syntax modes for FreeMarker template language PR #2847
- @forensicmike (forensicmike1): Add "cd monaco-editor" to the step by step commandline instructions for cloning and running the samples PR #2894
- @juan-carlos-diaz: Fix #2851 Highlight correctly the attributes and identifiers (with dashes) for Shell language PR #2871
- @MasterOdin (Matthew Peveler): Only run publish workflow on main monaco-editor repo PR #2926
- @philipturner (Philip Turner)
- @rcjsuen (Remy Suen): Support hyphenated HTML tags in Markdown syntax PR #2864
- @resistdesign (Ryan Graff): doc: (samples) Simplify Browser ESM Parcel build PR #2832
- @ValeraS (Valeriy)
- @ZusorCode (Tobias Messner): Add .cjs extension for javascript files PR #2929
[0.31.1] (14.12.2021)
- Fixes a problem with missing colors
- Fixes a problem with scheduling background tokenization
- Improves TypeScript's ESM worker.
[0.31.0] (10.12.2021)
- adds support for highlighting non basic ASCII, invisible or ambiguous unicode characters.
- adds support for setting an editor banner
- streaming hover results in case of multiple hover providers
- fixes multiple IME issues
Breaking Changes
- the generated code is now bundled with ESBuild and the generated code makes use of newer browser features, e.g. optional chaining. These features should be available in all browsers, but they might not be parsed correctly by older JS parsers, specifically parcel v1 might have problems parsing the JS.
Thank you
- @activeguild (j1ngzoue): Add 'browser-ems-vite-react' sample PR #2767
- @emojiiii (C.Y.Kun): Fix some errors on the website playground PR #2779
- @gitpaladin (Chen Minglong): Fix token while missing
syntax=
directive PR #2809 - @jonatanklosko (Jonatan Kłosko): Update Elixir tokenization of sigil modifiers PR #2806
- @MasterOdin (Matthew Peveler)
- @milahu: fix link to monaco.d.ts PR #2769
- @Pranomvignesh (Pranom Vignesh): Semantic Tokens Provider Sample is broken in docs PR #2764
- @rramo012 (Rafael Ramos): Fixing the documentation links PR #2748
[0.30.1] (09.11.2021)
[0.30.0] (04.11.2021)
- adds support for rendering horizontal guides between bracket pairs and improves the vertical rendering to account for content in between brackets.
- adds new
hover.above
option to control the hover position. - adds
ICodeEditor.onDidChangeHiddenAreas
which is fired when folding/unfolding. - to address CVE-2021-42574, the editor now renders Unicode directional formatting characters by default. The special rendering can be turned off using
renderControlCharacters
. See https://code.visualstudio.com/updates/v1_62#_unicode-directional-formatting-characters for an explanation.
Breaking Changes
- renamed enum members of
monaco.KeyCode
to align with the names given for browser codes. - renamed
ITextModel.getModeId()
toITextModel.getLanguageId()
- renamed
IPasteEvent.mode
toIPasteEvent.languageId
Thank you
Contributions to monaco-editor-webpack-plugin
:
- @silverwind: Fix letter case in repo URL PR #165
Contributions to monaco-languages
:
- @arlosi (Arlo Siemsen): Rust: highlighting raw strings and fix chars with escapes PR #167
- @MasterOdin (Matthew Peveler)
[0.29.1] (11.10.2021)
Thank you
Contributions to monaco-languages
:
- @sw23 (Spencer Williams)
- @tochicool (Tochi Obudulu): Add support for Protocol Buffers language PR #164
[0.29.0] (08.10.2021)
- adds an
ariaContainerElement
option for editors - adds
guides.bracketPairs
to enable guides driven by bracket pairs - adds
maxFileSize
to control the maximum file size for which to compute diffs - adds
CodeActionProvider.resolveCodeAction
Breaking Change
- consolidated the options
renderIndentGuides
,highlightActiveIndentGuide
toguides
Thank you
Contributions to monaco-editor
:
- @crackalak (Dan Hughes): Added
ariaContainerElement
to shadow dom test PR #2644 - @HKalbasi: Add example for inlay hints PR #2640
- @silverwind: Fix letter case in repo URL PR #2674
- @Un-index: chore: Align run button text in playground.css PR #2658
Contributions to monaco-editor-samples
:
- @koto (Krzysztof Kotowicz): Added an example of loading Monaco with Trusted Types PR #92
Contributions to monaco-editor-webpack-plugin
:
- @six-ponies (马騳骉): fix: Failed to execute 'importScripts' on 'WorkerGlobalScope': The URL xxx is invalid. PR #160
Contributions to monaco-languages
:
- @aaaaaa2493 (Vladimir Turov): Support Java 12-17 syntax PR #159
- @mbtools (Marc Bernard): Update ABAP syntax PR #160
- @scarolan (Sean Carolan): Replace // with # for line comments PR #158
- @valeriia-melnychuk (Valeriia Melnychuk): Implement syntax highlighting for Flow9 PR #154
Contributions to monaco-typescript
:
- @paranoidjk (paranoidjk): feat: support find reference to extraLib PR #84
- @troy351: Add type definition of
setInlayHintsOptions
PR #83
[0.28.0] (22.09.2021)
- adds support for typescript inlay hints. Inlay hints can be enabled like this:
monaco.languages.typescript.typescriptDefaults.setInlayHintsOptions({
includeInlayParameterNameHints: 'all',
includeInlayParameterNameHintsWhenArgumentMatchesName: true,
includeInlayFunctionParameterTypeHints: true,
includeInlayVariableTypeHints: true,
includeInlayPropertyDeclarationTypeHints: true,
includeInlayFunctionLikeReturnTypeHints: true,
includeInlayEnumMemberValueHints: true
});
- adds support for bracket pair highlighting, which can be enabled by configuring
bracketPairColorization.enabled
when creating a new editor:
var editor = monaco.editor.create(document.getElementById('container'), {
model: model,
language: 'javascript',
'bracketPairColorization.enabled': true
});
registerCodeActionProvider
now accepts metadata to specify provided code action kinds (e.g.quickfix
,refactor
orsource
).
Thank you
Contributions to monaco-editor
:
- @SpaceComet: Small update on the website playground PR #2616
- @thien-do (Thien Do): Add usage with Vite to ESM Integrate doc PR #2632
Contributions to monaco-html
:
- @Pranomvignesh (Pranom Vignesh): fix(workerManager.js) : Added a check for the existence of the worker PR #15
Contributions to monaco-languages
:
- @ladyrick (LadyRick): fix(cpp): fix cpp language integer suffix PR #156
Contributions to monaco-typescript
:
- @Kingwl (Wenlu Wang): Add inlay hints support PR #82
[0.27.0] (16.08.2021)
- added property
inlineClassName
to style injected text - added option
foldingImportsByDefault
- added more JSON diagnostic options.
Breaking Change
- changed
seedSearchStringFromSelection
from boolean to'never' | 'always' 'selection'
- changed suggestion preview mode
subwordDiff
tosubwordSmart
, introducedsubword
Thank you
Contributions to monaco-editor
:
- @Surm4 (Marcin): Exposed colors sample update in the playground. PR #2561
Contributions to monaco-languages
:
- @alefragnani (Alessandro Fragnani): Adds
strict
keyword to Pascal language PR #153 - @jonatanklosko (Jonatan Kłosko): Properly tokenize fence closing in GitHub style code blocks PR #149
- @kupiakos (Alyssa Haroldsen): Remove ' as an auto-closing pair for Rust PR #151
- @lofcz (Matěj Štágl): Fix razor + liquid render of tags with a dash symbol PR #150
[0.26.1] (15.07.2021)
- fixes minimatch dependency issue by downgrading the monaco-json dependency.
[0.26.0] (15.07.2021)
- added support for injected text. Use
IModelDecorationOptions.before
/after
. - added support for inlay hints provider.
Breaking Changes
- CompletionItemLabel now has the property
label
,detail
anddescription
(instead ofname
,parameters
,qualifier
andtype
).
Thank you
Contributions to monaco-editor
:
- @anthony-c-martin (Anthony Martin): Add Bicep sample PR #2541
Contributions to monaco-languages
:
- @anjbur (Angela Burton): Add support for Q# PR #142
- @maxwrlr: Implement Syntax-Highlighting for SPARQL PR #145
- @nathanrreed (Nathan Reed)
- @qwefgh90 (Changwon Choe): improve a rule which freeze a page in restructuredText PR #141
- @RubenRBS (Rubén Rincón Blanco): Add Swift fileprivate access modifier PR #144
Contributions to monaco-typescript
:
- @spahnke (Sebastian Pahnke): Build tag text correctly for all tags PR #81
[0.25.2] (17.06.2021)
- fixes a problem that certain characters could not be typed on non-US keyboards.
[0.25.1] (15.06.2021)
- fixes that
registerHTMLLanguageService
is not available in the AMD version of the monaco-html contribution.
[0.25.0] (11.06.2021)
- added a new feature
inlineSuggest
that features a provider api and new settings. - added
suggest.preview
to toggle previewing the selected suggest item. - added
suggest.showDeprecated
- CSS/HTML: added support for custom data format
- HTML: added
registerHTMLLanguageService
Breaking changes
- renamed
inlineHints
toinlayHints
.
Thank you
Contributions to monaco-editor
:
- @JeanPerriault (El Jùanch0): Fix error message in Safari - Semantic token play PR #2486
- @jonatanklosko (Jonatan Kłosko): Add Elixir sample PR #2491
Contributions to monaco-languages
:
- @akonatala (apoorva konatala): Update cameligo language support PR #137
- @anark: Add aliases and mimetypes to liquid language PR #136
- @mattvague (Matt Vague): Fix incorrect filenames for liquid PR #135
- @spahnke (Sebastian Pahnke)
Contributions to monaco-typescript
:
- @paranoidjk (paranoidjk): fix: support go to definition for extraLib file PR #79
0.24.0 (12.05.2021)
- added a setting
domReadOnly
which controls if the<textarea>
used for editor input should have the DOMreadonly
attribute - added a setting
useShadowDOM
which can be set tofalse
to prevent the editor from using shadow DOM in its implementation (e.g. for the contextmenus). - added a settings
autoClosingDelete
that controls how backspace works inside auto-closing pairs. - added
DiagnosticsOptions.onlyVisible
for TypeScript which limits the computation of diagnostics to only visible text models. - fixed issue where the editor would not load in Safari 13.
Breaking changes
EditorAutoClosingOvertypeStrategy
has been renamed toEditorAutoClosingEditStrategy
Thank you
Contributions to monaco-editor
:
- @AmyQianqianwang (王倩倩): add version compare link for version greater than V0.14.3 PR #2433
Contributions to monaco-editor-webpack-plugin
:
- @k15a (Konstantin Pschera): Use compiler.webpack if available PR #147
- @sangmokh (Sangmok Han): Add globalAPI option to expose the editor API through a global monaco object PR #145
Contributions to monaco-languages
:
- @anthony-c-martin (Anthony Martin): Add support for Bicep language PR #132
- @jonatanklosko (Jonatan Kłosko): Add Elixir language definition and tokenizer PR #130
- @mattgodbolt (Matt Godbolt): Handle whitespace within C++ preprocessor comments PR #127
- @mattvague (Matt Vague): Add basic language support for Liquid PR #128
- @NullVoxPopuli: Add hbs alias to handlebars PR #134
Contributions to monaco-typescript
:
- @spahnke (Sebastian Pahnke): Deep clone diagnostic objects PR #76
0.23.0 (05.03.2021)
- improves input on Android (using Gboard)
- automatically switches to high contrast when the OS is using high contrast (doesn't work in Firefox). Can be turned off via
autoDetectHighContrast
. - the editor no longer supports classical Edge, which has reached End of Support on March 9th, 2021. See https://docs.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge#what-is-the-lifecycle-policy-for-microsoft-edge
Thank you
Contributions to monaco-languages
:
- @Contentmaudlin (Mert Ussakli): Property is not a keyword in C# PR #124
- @mattgodbolt (Matt Godbolt): Support better C++ annotation highlighting PR #125
- @mwellman17 (Michael Wellman): Add text/x-yaml MIME type. PR #126
Contributions to monaco-typescript
:
- @spahnke (Sebastian Pahnke): Keep fileName property of diagnostic objects and related information PR #74
0.22.3 (01.02.2021)
Fixes a regression where symbol icons used in suggestions or quick outline were missing colors (see https://github.com/microsoft/monaco-editor/issues/2329).
0.22.2 (01.02.2021)
Fixes a regression where under certain webpack configurations process.nextTick
could be used without explicitly checking for it being defined (see https://github.com/microsoft/monaco-editor/issues/2328).
0.22.1 (29.01.2021)
Fixes a regression where format commands would no longer work (see https://github.com/microsoft/monaco-editor/issues/2327).
0.22.0 (29.01.2021)
New & Noteworthy
- new grammars for Modula-3 and ECL (Enterprise Control Language).
- added
monaco.editor.onDidChangeMarkers
to listen for marker changes. - added
monaco.editor.registerCommand
to register global commands. - added
monaco.languages.setColorMap
to allow defining the color map used for tokenization. - added
IMonarchLanguage.includeLF
to allow matching against the\n
at the end of each line. - new editor option
stickyTabStops
to make interacting with spaces in indentation behave more like interacting with tabs.
Breaking changes
- The ESM version of the editor will no longer define a global
monaco
object. You can defineglobal.MonacoEnvironment = { globalAPI: true }
if you want for the editor to define this global object. - Renamed
OnTypeRenameProvider
toLinkedEditingRangeProvider
and related methods like the editor optionrenameOnType
(nowlinkedEditing
),registerOnTypeRenameProvider
(nowregisterLinkedEditingRangeProvider
), etc. - Renamed
OnEnterRule.oneLineAboveText
toOnEnterRule.previousLineText
Thank you
Contributions to monaco-editor
:
- @Gittenburg: Fix comment in sample PR #2161
- @luminaxster (David Gonzalez): Missing breaking change PR #2186
- @svick (Petr Onderka): Fixed indentation in C# sample PR #2250
Contributions to monaco-languages
:
- @arlosi (Arlo Siemsen): Rust: add support for keywords from the 2018 edition PR #123
- @dehilsterlexis (David de Hilster): LEXER-ECL-001 Lexer for ECL (Enterprise Control Language) PR #118
- @fonsecas72 (Hugo Fonseca): terraform Fix heredoc PR #116
- @jcchu: Add Modula-3 support PR #117
- @maclockard (Mac Lockard): Fix highlighting of GROUP BY for redshift PR #122
- @philipsens (Sergi Philipsen): Add auto indent for xml PR #113
- @stla
- @VarghaSabee (Sabolch Varha): Safari regex error fix (negative lookbehind) #2179 PR #121
Contributions to monaco-typescript
:
- @Kingwl (Wenlu Wang): Add new jsx emit option PR #73
Contributions to monaco-css
:
0.21.3 (18.01.2021)
Fixes a regression in suggestions where the browser clipboard API would be accessed by incomplete suggestion lists (see 96d61842ba
).
0.21.2 (27.09.2020)
Fixes a regression in monaco-css.
Breaking changes
monaco.uri
methodsfile, from, isUri, joinPath, parse, revive
are now static. Changingnew monaco.uri.method
tomonaco.uri.method
resolves 'TypeError: monaco.Uri.file is not a constructor at...' errors.
0.21.1 (24.09.2020)
Fixes a few regressions.
Thank you
Contributions to monaco-html
:
- Pankaj Khandelwal (@pankajk07): Fixes microsoft/monaco-editor#2101 PR #12
Contributions to monaco-languages
:
- Marc Bernard (@mbtools): Overhaul of ABAP language based on release 7.54 PR #112
Contributions to monaco-typescript
:
- PG Herveou (@pgherveou): Add missing setWorkerOptions PR #71
0.21.0 (21.09.2020)
New & Noteworthy
- Added
Paste
in the context menu in browsers which support the clipboard API. - Many improvements in
monaco-typescript
: support for "deprecated" tags, API to participate in the web worker, improved lib.d.ts resolving. - New tokenization support for: Julia, Scala, Lexon, Terraform HCL, Dart, Systemverilog.
- New semantic tokens provider sample on the playground.
- New shadow dom sample
- New
overflowWidgetsDomNode
constructor option to pass in a parent for overflowing widgets. - New
minimap.size
option:proportional
,fill
,fit
. - New
OnTypeRename
provider and optionrenameOnType
. - Fixed issue where cross-origin web workers were not working on Safari.
- Fixed many issues around embedding the editor in iframes or in shadow dom.
- Fixed issue with
automaticLayout
. - Fixed issue with scrolling speed on Firefox.
- New options:
tabIndex
,scrollPredominantAxis
,columnSelection
,padding
,unfoldOnClickAfterEndOfLine
,renderLineHighlightOnlyWhenFocus
,definitionLinkOpensInPeek
,showDeprecated
,comments.ignoreEmptyLines
,find.cursorMoveOnType
,find.loop
. - New diff editor options:
originalCodeLens
,modifiedCodeLens
. - Changed options:
rulers
can now define different colors,renderWhitespace
can now betrailing
.
Breaking changes
CompletionItemLabel.signature
has been renamed toCompletionItemLabel.parameters
.- The signature of
CompletionItemProvider.resolveCompletionItem
has changed. IMarker.code.link
was renamed toIMarker.code.target
.IMarkerData.code.link
was renamed toIMarkerData.code.target
.EditorLayoutInfo
has been restructured.
Thank you
Contributions to monaco-editor
:
- Hugo Fonseca (@fonsecas72): Adding terraform / hcl samples PR #2102
- @KapitanOczywisty
- Tuan Le Minh (@minhtuanchannhan): Correct url of Microsoft logo PR #2132
- Max Schmitt (@mxschmitt): ci: fixed smoke tests by increasing timeout PR #1964
- Nicholas Rayburn (@nrayburn-tech): Monarch documentation changes PR #1844
- ZHAO Jinxiang (@xiaoxiangmoe): fix: A 'declare' modifier cannot be used in an already ambient context PR #2121
Contributions to monaco-typescript
:
- Sebastian Pahnke (@spahnke)
- Spencer (@SpencerSharkey): Use typescript language for hover tooltip header PR #70
Contributions to monaco-json
:
- @pankajk07: Fixes microsoft/monaco-editor#1999 PR #12
Contributions to monaco-languages
:
- theangryepicbanana (@ALANVF)
- Arjan van Eersel (@arjanvaneersel): Implemented Lexon highlighting PR #86
- Basarat Ali Syed (@basarat): add .mjs support 🌹 PR #92
- @bolinfest: Update Python grammar to include keywords introduced in Python 3 PR #91
- Hugo Fonseca (@fonsecas72)
- Lars Hvam (@larshp)
- Kenny Lin (@LinKCoding): Added ".rmd" file extension to R's list of supported languages PR #83
- Justin Mancusi (@mancusi): Updates the comment tokenization for handlebars syntax. PR #93
- Mert Caliskan (@mulderbaba): introduce preliminary Scala support, highly inspired by src/java content PR #97
- Nicholas Rayburn (@nrayburn-tech): Add _ as a supported character for Python tags/keywords PR #81
- @skacurt: [vb] fix string literals PR #94
- Taymon A. Beal (@taymonbeal): Add asserts, bigint, and unknown to TypeScript keywords PR #96
- Sabolch Varha (@VarghaSabee): Feature - dart language support PR #84
- @xadegunt: Add Systemverilog language support PR #108
0.20.0 (11.02.2020)
New & Noteworthy
- The editor can now be hosted inside a Shadow Root.
- There is new API to read the editor's content width and height.
- New editor options:
renderValidationDecorations
- render validation decorations even in read only editorswrappingStrategy
- delegate wrapping points computation to the browsercomments.insertSpace
- insert a space around comments when running commenting commandsfoldingHighlight
- highlight folded regionspeekWidgetDefaultFocus
- focus the inline editor or the tree when opening peek view
Breaking changes
- Renamed
onCompositionStart
,onCompositionEnd
toonDidCompositionStart
,onDidCompositionEnd
- Changed the argument passed in to
onDidPaste
WorkspaceEdit.edits
has now changed its shape such that edits must no longer be grouped by resource.- The Monaco Editor no longer supports IE 11. The last version that was tested in IE 11 is 0.18.1.
Thank you
Contributions to monaco-editor
:
- Josh Goldberg (@JoshuaKGoldberg): Added section in Monarch docs for Inspect Tokens development helper PR #1807
Contributions to monaco-typescript
:
- Elizabeth Craig (@ecraig12345): Add types for TypeScriptWorker and missing LanguageServiceDefaults methods PR #54
Contributions to monaco-languages
:
- alan.invents (@ALANVF): Highlight function definitions better PR #79
- @nrayburn-tech: Add support for multiline comments in Swift PR #80
0.19.3 (14.01.2020)
- brings back a way to get resolved editor options - #1734
Thank you
Contributions to monaco-editor
:
- Brijesh Bittu (@brijeshb42): Playground: Add keyboard shortcut to run playground code PR #1756
Contributions to monaco-languages
:
- Rikki Schulte (@acao): add tokenizer for graphql language variables PR #78
0.19.2 (06.01.2020)
- fixes issue with default value of
autoIndent
- #1726
0.19.1 (06.01.2020)
- fixes issue with .d.ts file in the ESM distribution - #1729
- adds types for global editor options (such as
wordBasedSuggestions
) - #1746 - adds support for reStructuredText.
Thank you
Contributions to monaco-editor
:
Contributions to monaco-languages
:
- Changwon Choe (@qwefgh90): add support for reStructuredText PR #77
0.19.0 (20.12.2019)
New & Noteworthy
- It is now possible to pass in a
dimension
in the editor construction options in order to avoid a synchronous layout. - There is new API to provide semantic tokens.
- New options:
multiCursorPaste
: define how to distribute paste in case of multi-cursormatchBrackets
: control if enclosing brackets should be highlighted
- Fixes for tokenization in: TypeScript, JavaScript, Handlebars, Kotlin and VB.
Breaking changes
getConfiguration()
is replaced bygetRawOptions()
, which returns the passed in editor options.- Starting with this version, the Monaco Editor no longer supports IE 11. The last version that was tested in IE 11 is 0.18.1.
Thank you
Contributions to monaco-editor
:
- Lars Hvam (@larshp)
- Remy Suen (@rcjsuen): Add CompletionItem with snippet support to the example PR #1703
Contributions to monaco-editor-webpack-plugin
:
- Dominik Moritz (@domoritz): Bump to 0.16 PR #62
- Mike Greiling (@mikegreiling): Fix webpack_public_path within getWorkerUrl method PR #63
- Roman Krasiuk (@rkrasiuk): Bump to 0.17.0 and Add graphql support PR #67
- Niklas Mollenhauer (@nikeee): Add loader-utils and make @types/webpack a dev dependency PR #74
- James Diefenderfer (@jimmydief)
Contributions to monaco-languages
:
- Maksym Bykovskyy (@mbykovskyy): Adds cameligo language support PR #75
- Steven Degutis (@sdegutis): Adds Markdown Table syntax highlighting PR #73
- Sergey Romanov (@Serhioromano): Improvements to ST language PR #76
- Sebastian Pahnke (@spahnke): [JS/TS] Add support for the nullish-coalesce operator PR #74
Contributions to monaco-typescript
:
- Denys Vuika (@DenysVuika): register multiple extra libs at once PR #24
- Elizabeth Craig (@ecraig12345)
- @katis: Update TypeScript to 3.7.2 PR #51
- Tamas Kiss (@kisstkondoros): Add documentation to signature help PR #52
- Lars Hvam (@larshp): fix typo PR #45
- Sebastian Pahnke (@spahnke)
- Provide related information to diagnostics PR #48
- Alessandro Fragnani (@alefragnani): Add Pascal samples PR #1358
0.18.1 (19.09.2019)
- fixes 2 issues with the ESM distribution - #1572 and #1574
- fixes very slow scrolling in Firefox - #1575
- new syntax highlighting for: pascaligo, ABAP, Sophia ML, Twig and MIPS.
Thank you
Contributions to monaco-editor
:
- Alessandro Fragnani (@alefragnani): Add Pascal samples PR #1358
- Daniel Wang (@datou0412): Add koltin sample for website PR #1351
- Ehsan (@ehsan-mohammadi): Updated html sample code PR #1387
- Jonas Fonseca (@jonas): CHANGELOG: Fix year for releases made in 2019 PR #1388
- Milen Radkov (@mradkov): Add Sophia ML example PR #1543
- Sergey Romanov (@Serhioromano): Structured text example PR #1552
- zhnlviing (@zhanghongnian): fix demo: completion provider example PR #1537
Contributions to monaco-json
:
Contributions to monaco-languages
:
- Brice Aldrich (@DefinitelyNotAGoat): pascaligo: adding pascaligo language support PR #69
- Salam Elbilig (@finalfantasia): [clojure] treat comma as whitespace PR #63
- Alf Eaton (@hubgit): [xml] Add OPF and XSL file extensions PR #64
- Lars Hvam (@larshp)
- Milen Radkov (@mradkov)
- Marco Petersen (@ocrampete16): Add support for the Twig template language PR #71
- Progyan Bhattacharya (@Progyan1997): [Feat] MIPS: Support for Syntax Highlight and Basic Colorization PR #65
- Sergey Romanov (@Serhioromano): [ST] Some updated for Structured Text Language support PR #66
- Sebastian Pahnke (@spahnke): [JS/TS] Add support for BigInt PR #62
Contributions to monaco-typescript
:
- Andre Wachsmuth (@blutorange): Fix microsoft/monaco-editor#1576 update dependency to core PR #41
- Javey (@Javey): Make it can be compressed by uglify-js PR #34
- Sebastian Pahnke (@spahnke): Add a rename provider PR #39
- @ulrichb: Expose TypeScript version via
monaco.languages.typescript.typeScriptVersion
PR #31
0.18.0 (04.09.2019)
New & Noteworthy
- Minimap enhancement
- Selections and find results are now rendered in the minimap.
- Model decorations now support
IModelDecorationOptions.minimap
, once set the decoration will be rendered in the minimap
- New editor options
autoClosingOvertype
: it controls whether the editor allows typing over closing quotes or brackets.cursorSurroundingLines
: it controls how many visible lines to display around the cursor while moving the cursor towards beginning or end of a file.renderWhitespace: "selection"
: the editor can render whitespaces only in selection.
API changes
DeclarationProvider
: The declaration provider interface defines the contract between extensions and the go to declaration feature.SelectionRangeProvider
Provide smart selection ranges for the given positions, see VS Code issue.- CodeLensProvider should now return
CodeLensList
instead ofICodeLensSymbol[]
. DocumentSymbol
has a new propertytags
to support more types.- View Zone id is now
string
instead ofnumber
.
Thank you
Contributions to monaco-json
:
- Ԝеѕ @wesinator: Add .har extension #9
0.17.1 (25.06.2019)
- Update monaco-typescript to TypeScript 3.5.0.
0.17.0 (05.05.2019)
New & Noteworthy
- Localization support is brought back for AMD bundle. We lost the localization support when VS Code moved to the localization system but now AMD bundles ships the same localized strings VS Code localization extensions ship. For more details, please read Monaco#822 and related VS Code upstream issue
LinkProvider.ProvideLinks
should now returnILinksList
instead ofILink[]
.IEditorOptions.iconsInSuggestions
andEditorContribOptions.iconsInSuggestions
are now replaced byEditorContribOptions.suggest.showIcons
.- We introduced
EditorContribOptions.suggest.maxVisibleSuggestions
to control maximum suggestions to show in suggestions widget. EditorContribOptions.suggest.filteredTypes
is now introduced to allow suggestions to be filtered by the user. For more details, please read vscode#45039.
Thank You
Contributions to monaco-editor
:
- Jonas Fonseca @jonas: Fix year for releases made in 2019 PR #1388
0.16.2 (19.03.2019)
- Fixes for HTML and JSON (https://github.com/Microsoft/monaco-editor/issues/1367, https://github.com/Microsoft/monaco-editor/issues/1254)
0.16.1 (14.03.2019)
- Fixes issue with context menu (https://github.com/Microsoft/monaco-editor/issues/1357)
0.16.0 (05.03.2019)
New & Noteworthy
- Added built-in support for AMD cross-domain web worker loading.
- Added API to remeasure fonts (
monaco.editor.remeasureFonts
) in case custom fonts are used and the editor is painted at a time when the fonts are not finished loading. - Various editor improvements, such as an option to
renderFinalNewline
, or to have acursorSmoothCaretAnimation
- Colorization support for Tcl, Pascal, Kotlin and GraphQL.
Breaking changes
- We are no longer shipping WinJS.Promise, but we are shipping with a Promise shim (for IE11).
CompletionItem.range
is now mandatory. Most times, you can usemodel.getWordUntilPosition()
to get a good range.DefinitionLink
has been renamed toLocationLink
and a couple of its fields have also been renamed.
Thank you
Contributions to monaco-editor
:
- Sebastián Gurin (@cancerberoSgx): fix worker paths in parcel PR #1339
- @datou0412: Fix lineDecoration example css error PR #1337
- Joshua Sullivan (@jbsulli): Fix JavaScript RegExp range closing bracket PR #1329
- Krish De Souza (@Kedstar99): Fixed various HTML errors with the various webpages PR #1309
- Swarnava Sengupta (@swarnava): Make copyright year dynamic PR #1303
Contributions to monaco-languages
:
- alan.invents (@ALANVF): Add Tcl support PR #59
- Alessandro Fragnani (@alefragnani): Pascal language support PR #60
- Brijesh Bittu (@brijeshb42): Update ruby auto indentation rules PR #58
- Andrew (@creativedrewy): Add Kotlin Language Support PR #57
- Salam Elbilig (@finalfantasia): [clojure] Improve the regular expressions for various symbols PR #56
- Neil Jones (@futurejones): Solidity - add "constructor" to main keywords PR #55
- Pavel Lang (@langpavel): GraphQL language support PR #54
- Samuel Helms (@samghelms): allows annotation in markdown language block headers PR #61
Contributions to monaco-typescript
:
- Olga Lesnikova (@Geloosa): more safe extra lib filePath generation PR #29
- Stefan Lacatus (@stefan-lacatus): Optimize how external libs are handled and allow for custom languages PR #30
0.15.6 (23.11.2018)
- Fixes issue with context menu (https://github.com/Microsoft/monaco-editor/issues/1199)
0.15.5 (16.11.2018)
- Re-remove cast to any from our code base to allow for tree shaking to not shake useful code (https://github.com/Microsoft/monaco-editor/issues/1013)
0.15.4 (15.11.2018)
- Fixes context menu in IE11 - https://github.com/Microsoft/monaco-editor/issues/1191
- Fixes suggest widget - https://github.com/Microsoft/monaco-editor/issues/1185 and https://github.com/Microsoft/monaco-editor/issues/1186
0.15.3 (15.11.2018)
- Remove cast to any from our code base to allow for tree shaking to not shake useful code (https://github.com/Microsoft/monaco-editor/issues/1013)
0.15.2 (14.11.2018)
- Fixes usage of
marked
to allow for packaging with rollup (https://github.com/Microsoft/monaco-editor/issues/1183)
0.15.1 (13.11.2018)
- Fixes the
/esm/
distribution (https://github.com/Microsoft/monaco-editor/issues/1178)
0.15.0 (12.11.2018)
New & Noteworthy
- Improved typings in
monaco.d.ts
to better reflect null types.
Breaking changes
- We are slowly migrating our code-base away from WinJS promises, so the exposed
monaco.Promise
API has been reduced to indicate that. We are setting up a Promise polyfill to cover browsers which do not have a native Promise implementation yet (i.e. IE11). CompletionItemProvider.provideCompletionItems
andCompletionItemProvider.resolveCompletionItem
have been modified to better reflect the API of VS Code. Both arguments and return type have changed.SignatureHelpProvider.provideSignatureHelp
now receives an extra argument for the context.- Various new editor options or tweaks to existing ones:
parameterHints
,autoClosingBrackets
,autoClosingQuotes
,autoSurround
,copyWithSyntaxHighlighting
,tabCompletion
.
Thank you
Contributions to monaco-editor
:
- Arvind S (@arvind0598): Updated C# sample code for a simpler game. PR #1160
- Brooks Becton (@brooksbecton): Removing obsolete Note in Monarch Docs PR #1089
- James Orr (@buzzcola): Correct comma splice in README.md PR #1111
- Chintogtokh Batbold (@chintogtokh): Clarify that repo doesn't contain source code PR #1119
- Chris Helgert (@chrishelgert): Move issue template to '.github' folder and add some styling for better readability PR #1121
- Steven Bock (@dabockster): Added better Java sample (FizzBuzz instead of JUnit) PR #1161
- Michele Gobbi (@dynamick): Added Ruby PR #1102
- Edilson Ngulele (@EdNgulele): style: Updated CONTRIBUTING.md PR #1088
- Evan Walters (@evanwaltersdev): issue guidelines PR #1096
- Abdussalam Abdurrahman (@finalfantasia): [clojure] Update Clojure example with one that's more representative. PR #1059
- @flash76: Update README.md PR #1141
- Daniel Pasch (@gempir): fix 2 of 7 npm package vurnerabilities PR #1087
- @Hotlar: lingual fixes to readme PR #1086
- Jeremy Meiss (@jerdog): correct README grammar PR #1114
- Joaquim Honório (@JoaquimCMH): Update CHANGELOG PR #1152
- Ricardo Ambrogi (@KadoBOT): Remove commented code PR #1113
- Abhinav Srivastava (@krototype): changed the license block of readme PR #1133
- Mera Gangapersaud (@Mera-Gangapersaud): Fixed prerequisites link in Contributing.md PR #1155
- Michael (@michael-k): Use python examples that work PR #1053
- Remy Suen (@rcjsuen): Add missing links in CHANGELOG.md PR #1029
- Shivansh Saini (@shivanshs9): Fixed typos in website page and CHANGELOG PR #1153
- Sachin Saini (@thetinygoat): hacktoberfest fix PR #1131
Contributions to monaco-languages
:
- Aastha (@AasthaGupta): Fix markdown bug #1107 PR #52
- Abdussalam Abdurrahman (@finalfantasia): [clojure] Improve Clojure syntax highlighting. PR #45
- Abhishek (@GeekAb): Markdown bug fix for #1107 PR #51
- Matthew D. Miller (@goober99): Added support for Perl quote-like operators to fix #1101 PR #50
- Grzegorz Wcisło (@grzegorz-wcislo): Fix yaml string tokenization PR #47
- Pascal Berger (@pascalberger): Use C# highlighting for Cake scripts PR #53
- Sebastian Pahnke (@spahnke)
- Tiago Danin (@TiagoDanin): New rule for non-teminated string in yaml PR #48
Contributions to monaco-typescript
:
- Parikshit Hooda (@Parikshit-Hooda): fixed typo in line 11 PR #23
- Sebastian Pahnke (@spahnke): Render documentation in suggestion widget as Markdown PR #22
Contributions to monaco-json
:
- Igor Nesterenko (@nesterone): Provide diagnostic option to enable on-demand schema loading PR #7
Contributions to monaco-css
:
- Richard Samuelson (@ricsam): Fix indentation on the CSS test page PR #7
0.14.3 (17.08.2018)
- Fixes TypeScript/JavaScript coloring of regular expressions https://github.com/Microsoft/monaco-editor/issues/1009
0.14.2 (10.08.2018)
0.14.1 (10.08.2018)
- Fixes Find All References (https://github.com/Microsoft/vscode/issues/56160)
0.14.0 (10.08.2018)
New & Noteworthy
- Using tree-shaking to reduce the amount of shipped code.
- TypeScript and JavaScript coloring is now done with Monarch.
typescriptServices
is no longer loaded on the UI thread, this helps with webpack's bundle output size.- Added coloring for: apex, azcli, clojure, powerquery, rust, scheme and shell.
- Added sub-word navigation commands.
- Added font zoom commands.
- Syntax highlighting for deleted lines in inline diff editor.
- Highlighted indent guide.
- Column selection using middle mouse button.
- Added editor options:
scrollBeyondLastColumn
,hover
,suggest
,highlightActiveIndentGuide
,showUnused
. - Added
setTokensProvider
withEncodedTokensProvider
. - Added
monaco.languages.getEncodedLanguageId
to get the numeric language id. DefinitionProvider.provideDefinition
,ImplementationProvider.provideImplementation
,TypeDefinitionProvider.provideTypeDefinition
can now return aDefinitionLink
.
Breaking Changes
- Removed no longer used
Severity
. - Renamed
IEditor.isFocused
toIEditor.hasTextFocus
. - Renamed
ICodeEditor.onDidFocusEditor
toICodeEditor.onDidFocusEditorWidget
. - Renamed
ICodeEditor.onDidBlurEditor
toICodeEditor.onDidBlurEditorWidget
. DocumentSymbolProvider.provideDocumentSymbols
must now returnDocumentSymbol[]
.
Thank you
Contributions to monaco-editor
:
- Ali Mirlou (@AliMirlou): Fix typo PR #952
- Avelino (@avelino): added clojure exampple PR #904
- Sebastián Gurin (@cancerberoSgx): fix small error in integration docs PR #957
- Haegyun Jung (@haeguri): Fix playground sample option PR #962 (https://github.com/Microsoft/monaco-editor/pull/914)
- Myles Scolnick (@mscolnick): add sideEffects false for tree-shaking in webpack PR #981
- Niklas Mollenhauer (@nikeee): Fix hash comment in xdot sample PR #916
- Remy Suen (@rcjsuen): Add folding provider sample to the playground [PR #878](https://github.com/Microsoft/monaco-
Contributions to monaco-typescript
:
- Fathy Boundjadj (@fathyb): Use Markdown code block for hover tooltip PR #20
- Matt McCutchen (@mattmccutchen): Clear the
file
fields ofrelatedInformation
too. (WIP) PR #21
Contributions to monaco-languages
:
- Avelino (@avelino)
- Faris Masad (@masad-frost)
- Matt Masson (@mattmasson): Add support for Power Query (M) language PR #42
- Oli Lane (@olane): Add Apex language PR #44
- Viktar Pakanechny (@Vityanchys): Added azcli PR #43
- zqlu (@zqlu)
0.13.1 (15.05.2018)
- Fixes issue #871: TypeScript import error after mocaco-editor upgraded from 0.12 to 0.13
0.13.0 (11.05.2018)
New & Noteworthy
- New folding provider
registerFoldingRangeProvider
. - You can now specifies the stack order of a decoration by setting
IModelDecorationOptions.zIndex
. A decoration with greater stack order is always in front of a decoration with a lower stack order. - You can now tell Monaco if there is an
inlineClassName
which affects letter spacing. the stack order of a decoration by settingIModelDecorationOptions.inlineClassNameAffectsLetterSpacing
. - Get the text length for a certain line on text model (
ITextModel.getLineLength(lineNumber: number)
) - New option
codeActionsOnSave
, controls whether code action kinds will be run on save. - New option
codeActionsOnSaveTimeout
, controls timeout for running code actions on save. - New option
multiCursorMergeOverlapping
, controls if overlapping selections should be merged. Default totrue
.
Breaking Change
- Removed
ICodeEditor.getCenteredRangeInViewport
. RenameProvider.resolveRenameLocation
now returnsRenameLocation
instead ofIRange
.
Thank you
- Sergey Romanov @Serhioromano: Add new language Structured Text support PR monaco-languages#32
- Yukai Huang @Yukaii: Fix backspace in IME composition on iOS Safari PR vscode#40546
0.12.0 (11.04.2018)
- Special thanks to Tim Kendrick for contributing a webpack plugin -
monaco-editor-webpack-plugin
- now available on npm.
Breaking changes
- Introduced
MarkerSeverity
instead ofSeverity
for markers serverity. - Replaced
RenameProvider.resolveInitialRenameValue
withRenameProvider.resolveRenameLocation
. - Fixed typo in
monaco-typescript
, renamedsetMaximunWorkerIdleTime
tosetMaximumWorkerIdleTime
.
Thank you
- Remy Suen @rcjsuen: Fix conversion code from MarkedString to IMarkdownString in hovers PR monaco-css#5
- Peng Xiao @pengx17: fix an issue of
fromMarkdownString
PR monaco-json#4 - TJ Kells @systemsoverload: Add rust colorization support PR monaco-languages#31
0.11.1 (15.03.2018)
- Fixes issue #756: Can't use "Enter" key to accept an IntelliSense item
- Fixes issue #757: TypeScript errors in
editor.api.d.ts
typings
0.11.0 (14.03.2018)
New & Noteworthy
- ESM distribution (compatible with e.g. webpack).
- New interval tree decorations implementation.
- New piece tree text buffer implementation.
- The minimap can be placed to the left.
- Line numbers can be displayed in an interval.
- The cursor width can be customized.
- Smooth scrolling can be turned on.
- Color decorators and color picker via
DocumentColorProvider
.
Breaking changes
- Replaced
MarkedString
withIMarkdownString
. Source code snippets can be expressed using the GH markdown syntax. - Renamed
IResourceEdit
toResourceTextEdit
.
API changes
- Merged
IModel
,IReadOnlyModel
,IEditableTextModel
,ITextModelWithMarkers
,ITokenizedModel
,ITextModelWithDecorations
toITextModel
. A type alias forIModel
is defined for compatibility. - Merged
ICommonCodeEditor
andICodeEditor
toICodeEditor
. - Merged
ICommonDiffEditor
andIDiffEditor
toIDiffEditor
. CompletionItem.documentation
,ParameterInformation.documentation
andSignatureInformation.documentation
can now be anIMarkdownString
.- Added
CompetionItem.command
,CompletionItem.commitCharacters
andCompletionItem.additionalTextEdits
. - Added language configuration
folding
which can define markers for code patterns where a folding regions should be created. See for example the Python configuration. - Added by accident
ResourceFileEdit
(due to howmonaco.d.ts
is generated from vscode). That is not honoured by the editor, and should not be used.
Thank you
- Remy Suen @rcjsuen:
- Fix a small typo in README.md PR monaco-typescript#18
- Remove unused IDisposable array PR monaco-typescript#19
- Add HEALTHCHECK as a Dockerfile keyword PR monaco-languages#29
- Add ARG as a Dockerfile keyword PR monaco-languages#30
- Can Abacigil @abacigil: MySQL, Postgres, Redshift and Redis Language Support PR monaco-languages#26
- Matthias Kadenbach @mattes: Support Content-Security-Policy syntax highlighting PR monaco-languages#27
- e.vakili @evakili: Whitespaces after # are allowed in C++ preprocessor statements PR monaco-languages#28
- Pankaj Kumar Gautam @PAPERPANKS: adding microsoft logo to footer PR monaco-editor#577
- Dominik Moritz @domoritz: Fix code in changelog PR monaco-editor#582
- ItsPugle @ItsPugle: Updating the footer to reflect change of year PR monaco-editor#707
- Michael Seifert @MSeifert04: Add linebreak for if PR monaco-editor#726
- Andrew Palm @apalm: Fix 'Configure JSON defaults' sample PR monaco-editor#731
- Niklas Mollenhauer @nikeee: Fix line number API usage PR monaco-editor#740
- Andre @anc: More realistic terminal shell PR monaco-editor#742
- to the many others that have contributed PRs to vscode which have also made their way into the monaco-editor.
0.10.1 (16.10.2017)
- Fixes issue #601: window.opener should be set to null to protect against malicious code
0.10.0 (17.08.2017)
Breaking changes
- Removed
CodeAction
. - Method
provideCodeActions
inCodeActionProvider
now returnsCommand[] | Thenable<Command[]>
instead ofCodeAction[] | Thenable<CodeAction[]>
, which is already removed.
API changes
- added
monaco.editor.getModelMarkers
. Get markers for owner and/or resource.
Notable Fixes
- No longer use CSS class
.row
for command palette to avoid CSS conflicts with Bootstrap. - Fix Accessibility Help Dialog accessible issue on IE/Edge.
- Fix Find Widget CSS compatibility issues with IE11.
- Toggle Block Comment can remove extra whitespaces.
Thank you
- Kitson Kelly @kitsonk: Update monaco-typescript to TypeScript 2.4.1 PR monaco-typescript#15
- @duncanwerner: Add hex number tokenization to R language PR monaco-languages#21
- Remy Suen @rcjsuen: Update Dockerfile grammar with STOPSIGNAL and SHELL instructions PR monaco-languages#22
- Marlene Cota @marlenecota: Add Small Basic support PR monaco-languages#23
- Ben Jacobson @bjacobso: Add LIMIT to sql keywords PR monaco-languages#24
- to the many others that have contributed PRs to vscode which have also made their way into the monaco-editor.
0.9.0 (03.07.2017)
New & Noteworthy
- Minimap (on by default, use
editor.minimap
to disable it). - Drag and Drop (on by default, use
editor.dragAndDrop
to disable it). - Copy text with formatting.
Accessibility
- There is a new guide for making the editor accessible to all.
- There is a new Alt+F1 (Ctrl+F1 in IE) accessibility help panel.
- There is a new F8/Shift+F8 diff review panel in the diff editor.
- Many bugfixes, including now respecting the Windows High Contrast Theme on Edge.
Breaking changes
- A lot has changed w.r.t. how themes work in the editor, mostly driven by the work to support theming in VS Code.
editor.updateOptions()
no longer acceptstheme
; the theme can be changed via the newly introducedmonaco.editor.setTheme()
. Additionally, we recommend editor colors be customized viamonaco.editor.defineTheme()
instead of via CSS -- see sample. The color names will be stable, while the CSS class names might break at any time. - Support for the internal snippet syntax has been discontinued and snippet must now use the official, TextMate-like syntax. Find its grammar and samples here.
- Changed
IModel.findMatches
to accept a list of word separators. - Changed the shape of the
IModelContentChangedEvent
emitted viaIModel.onDidChangeContent
to now contain a batch of all the changes that the model had. - No longer using
transform: translate3d
, now usingwill-change: transform
for browser layer hinting. Use thedisableLayerHinting
option if you have any trouble with browser layers (blurriness or high GPU memory usage). - Simplified wrapping settings:
wordWrap
,wordWrapColumn
andwordWrapMinified
.
API changes
- added
monaco.languages.registerTypeDefinitionProvider
. - new editor options:
accessibilityHelpUrl
- the url of a page to open for documentation about how to operate the editor when using a Screen Reader.find.seedSearchStringFromSelection
- Ctrl+F/Cmd+F seeds search string from the editor selection.find.autoFindInSelection
- Ctrl+F/Cmd+F turns on the find in selection toggle if the editor selection is multiline.minimap.enabled
- enable minimap.minimap.showSlider
- control when to render the minimap slider.minimap.renderCharacters
- render characters or blocks in the minimap.minimap.maxColumn
- maximum number of columns the minimap shows.overviewRulerBorder
- toggle that the overview ruler renders a border.links
- enable link detection.multiCursorModifier
- change the multi cursor modifier key.accessibilitySupport
- optimize the editor for use with a Screen Reader.autoIndent
- automatically fix indentation when moving lines, pasting or typing.dragAndDrop
- dragging and dropping editor selection within the editor.occurrencesHighlight
- enable highlighting of occurences.showFoldingControls
- fine-tune when the folding icons should showmatchBrackets
- enable bracket matchingletterSpacing
- configure font's letter-spacing.
Thank you
- Joey Marianer (@jmarianer): Support literal interpolated strings ($@"") PR monaco-languages#13
- @AndersMad: HTML Tags: Add support for dash and fix colon in end tag PR monaco-languages#14
- Sandy Armstrong (@sandyarmstrong): csharp: add support for binary literals and _ as separator PR monaco-languages#16
- Anton Kosyakov (@akosyakov): Include src as a part of npm package PR monaco-languages#17
- Andrew Bonventre (@andybons): Fix typo: concering → concerning PR monaco-languages#18
- Scott McMaster (@scottmcmaster): MSDAX support PR monaco-languages#19
- Luzian Serafin (@lserafin): Add Solidity PR monaco-languages#20
- Kitson Kelly (@kitsonk): Update to TypeScript 2.3.4 PR monaco-typescript#13
- Kitson Kelly (@kitsonk): Add documentation support on hover PR monaco-typescript#14
- @replacepreg: Updating date at footer PR monaco-editor#409
- Aarin Smith (@aarinsmith): Fixed spelling error in README.md:85 'instantion' -> 'instantiation' PR monaco-editor#440
- to the many others that have contributed PRs to
vscode
which have also made their way into themonaco-editor
.
0.8.3 (03.03.2017)
- Fixes an issue in monaco-typescript where it would attempt to validate a disposed model.
0.8.2 (01.03.2017)
- Fixes the following regressions:
- issue #385: Cannot add action to the left-hand-side of the diff editor
- issue #386: Shortcuts for actions added via editor.addAction don't show up in the Command Palette
- issue #387: Cannot change diff editor to a custom theme based on high contrast
0.8.1 (27.01.2017)
- CSS/JSON/HTML language supports updated:
- CSS: Support for @apply
- SCSS: Map support
- New HTML formatter options: unformatedContent, wrapAttributes
- Fixed issue where the editor was throwing in Safari due to
Intl
missing. - Fixed multiple issues where the editor would not position the cursor correctly when using browser zooming.
API
- Added
disableMonospaceOptimizations
editor option that can be used in case browser zooming exposes additional issues. - Added
formatOnPaste
editor option. - Added
IActionDescriptor.precondition
. - Breaking change: renamed
registerTypeDefinitionProvider
toregisterImplementationProvider
and associated types.
[0.8.0] (18.01.2017)
- This release has been brewing for a while and comes with quite a number of important changes.
- There are many bugfixes and speed/memory usage improvements.
- Now shipping TypeScript v2.1.5 in
monaco-typescript
(JS and TS language support).
No longer supporting IE9 and IE10
- we have not made the editor fail on purpose in these browsers, but we have removed IE9/IE10 targeted workarounds from our codebase;
- now using Typed Arrays in a number of key places resulting in considerable speed boosts and lower memory consumption.
Monarch Tokenizer
- Monarch states are now memoized up to a depth of 5. This results in considerable memory improvements for files with many lines.
- Speed improvements to Monarch tokenizer that resulted in one breaking change:
- when entering an embedded mode (i.e.
nextEmbedded
), the state ending up in must immediately contain anextEmbedded: "@pop"
rule. This helps in quickly figuring out where the embedded mode should be left. The editor will throw an error if the Monarch grammar does not respect this condition.
Tokens are styled in JS (not in CSS anymore)
- This is a breaking change
- Before, token types would be rendered on the
span
node of text, and CSS rules would match token types and assign styling to them (i.e. color, boldness, etc.to style tokens) - To enable us to build something like a minimap, we need to know the text color in JavaScript, and we have therefore moved the token style matching all to JavaScript. In the future, we foresee that even decorations will have to define their color in JavaScript.
- It is possible to create a custom theme via a new API method
monaco.editor.defineTheme()
and the playground contains a sample showing how that works. - Token types can be inspected via
F1
>Developer: Inspect tokens
. This will bring up a widget showing the token type and the applied styles.
API changes:
Namespaces
- added
monaco.editor.onDidCreateEditor
that will be fired whenever an editor is created (will fire even for a diff editor, with the two editors that a diff editor consists of). - added
monaco.editor.tokenize
that returns logical tokens (before theme matching, as opposed tomonaco.editor.colorize
). - added
monaco.languages.registerTypeDefinitionProvider
Models
- removed
IModel.getMode()
. - structural changes in the events
IModelLanguageChangedEvent
,IModelDecorationsChangedEvent
andIModelTokensChangedEvent
; - changed
IModel.findMatches
,IModel.findNextMatch
andIModel.findPreviousMatch
to be able to capture matches while searching.
Editors
ICodeEditor.addAction
andIDiffEditor.addAction
now return anIDisposable
to be able to remove a previously added action.- renamed
ICodeEditor.onDidChangeModelMode
toICodeEditor.onDidChangeModelLanguage
; ICodeEditor.executeEdits
can now take resulting selection for better undo/redo stack management;- added
ICodeEditor.getTargetAtClientPoint(clientX, clientY)
to be able to do hit testing. - added
IViewZone.marginDomNode
to be able to insert a dom node in the margin side of a view zone. - settings:
lineDecorationsWidth
can now take a value in the form of"1.2ch"
besides the previous accepted number (in px)renderLineHighlight
can now take a value in the set'none' | 'gutter' | 'line' | 'all'
.- added
fixedOverflowWidgets
to render overflowing content widgets as'fixed'
(defaults to false) - added
acceptSuggestionOnCommitCharacter
to accept suggestions on provider defined characters (defaults to true) - added
emptySelectionClipboard
- copying without a selection copies the current line (defaults to true) - added
suggestFontSize
- the font size for the suggest widget - added
suggestLineHeight
- the line height for the suggest widget
- diff editor settings:
- added
renderIndicators
- Render +/- indicators for added/deleted changes. (defaults to true)
- added
Thank you
- Nico Tonozzi (@nicot): Register React file extensions PR monaco-typescript#12
- Jeong Woo Chang (@inspiredjw): Cannot read property 'uri' of null fix PR vscode#13263
- Jan Pilzer(@Hirse): Add YAML samples PR monaco-editor#242
[0.7.1] (07.10.2016)
- Bugfixes in monaco-html, including fixing formatting.
[0.7.0] (07.10.2016)
- Adopted TypeScript 2.0 in all the repos (also reflected in
monaco.d.ts
). - Added YAML colorization support.
- Brought back the ability to use
editor.addAction()
and have the action show in the context menu. - Web workers now get a nice label next to the script name.
API changes:
- settings:
- new values for
lineNumbers
:'on' | 'off' | 'relative'
- new values for
renderWhitespace
:'none' | 'boundary' | 'all'
- new values for
- removed
model.setMode()
, asIMode
will soon disappear from the API.
Debt work
- Removed HTML, razor, PHP and handlebars from
monaco-editor-core
:- the
monaco-editor-core
is now finally language agnostic. - coloring for HTML, razor, PHP and handlebars is now coming in from
monaco-languages
. - language smarts for HTML, razor and handlebars now comes from
monaco-html
.
- the
- Packaging improvements:
- thanks to the removal of the old languages from
monaco-editor-core
, we could improve the bundling and reduce the number of .js files we ship. - we are thinking about simplifying this further in the upcoming releases.
- thanks to the removal of the old languages from
Thank you
- Sandy Armstrong (@sandyarmstrong): csharp: allow styling #r/#load PR monaco-languages#9
- Nico Tonozzi (@nicot): Go: add raw string literal syntax PR monaco-languages#10
- Jason Killian (@JKillian): Add vmin and vmax CSS units PR monaco-languages#11
- Jan Pilzer (@Hirse): YAML colorization PR monaco-languages#12
- Sam El-Husseini (@microsoftsam): Using Cmd+Scroll to zoom on a mac PR vscode#12477
0.6.1 (06.09.2016)
- Fixed regression where
editor.addCommand
was no longer working.
0.6.0 (05.09.2016)
- This will be the last release that contains specific IE9 and IE10 fixes/workarounds. We will begin cleaning our code-base and remove them.
- We plan to adopt TypeScript 2.0, so this will be the last release where
monaco.d.ts
is generated by TypeScript 1.8. javascript
andtypescript
language services:- exposed API to get to the underlying language service.
- fixed a bug that prevented modifying
extraLibs
.
- Multiple improvements/bugfixes to the
css
,less
,scss
andjson
language services. - Added support for ATS/Postiats.
API changes:
- settings:
- new:
mouseWheelZoom
,wordWrap
,snippetSuggestions
,tabCompletion
,wordBasedSuggestions
,renderControlCharacters
,renderLineHighlight
,fontWeight
. - removed:
tabFocusMode
,outlineMarkers
. - renamed:
indentGuides
->renderIndentGuides
,referenceInfos
->codeLens
- new:
- added
editor.pushUndoStop()
to explicitly push an undo stop - added
suppressMouseDown
toIContentWidget
- added optional
resolveLink
toILinkProvider
- removed
enablement
,contextMenuGroupId
fromIActionDescriptor
- removed exposed constants for editor context keys.
Notable bugfixes:
- Icons missing in the find widget in IE11 #148
- Multiple context menu issues
- Multiple clicking issues in IE11/Edge (#137, #118)
- Multiple issues with the high-contrast theme.
- Multiple IME issues in IE11, Edge and Firefox.
Thank you
- Pavel Kolev (@paveldk): Fix sending message to terminated worker PR vscode#10833
- Pavel Kolev (@paveldk): Export getTypeScriptWorker & getJavaScriptWorker to monaco.languages.typescript PR monaco-typescript#8
- Sandy Armstrong (@sandyarmstrong): Support CompletionItemKind.Method. PR vscode#10225
- Sandy Armstrong (@sandyarmstrong): Fix show in IE11 PR vscode#10309
- Sandy Armstrong (@sandyarmstrong): Correct docs for IEditorScrollbarOptions.useShadows PR vscode#11312
- Artyom Shalkhakov (@ashalkhakov): Adding support for ATS/Postiats PR monaco-languages#5
0.5.1 (24.06.2016)
- Fixed mouse handling in IE
[0.5.0] (24.06.2016)
Breaking changes
monaco.editor.createWebWorker
now loads the AMD module and callscreate
and passes in as first argument a context of typemonaco.worker.IWorkerContext
and as second argument theinitData
. This breaking change was needed to allow handling the case of misconfigured web workers (running on a file protocol or the cross-domain case)- the
CodeActionProvider.provideCodeActions
now gets passed in aCodeActionContext
that contains the markers at the relevant range. - the
hoverMessage
of a decoration is now aMarkedString | MarkedString[]
- the
contents
of aHover
returned by aHoverProvider
is now aMarkedString | MarkedString[]
- removed deprecated
IEditor.onDidChangeModelRawContent
,IModel.onDidChangeRawContent
Notable fixes
- Broken configurations (loading from
file://
or misconfigured cross-domain loading) now load the web worker code in the UI thread. This caused a breaking change in the behaviour ofmonaco.editor.createWebWorker
- The right-pointing mouse pointer is oversized in high DPI - issue
- The editor functions now correctly when hosted inside a
position:fixed
element. - Cross-origin configuration is now picked up (as advertised in documentation from MonacoEnvironment)