jiebi/CodeConvo huggingface dataset:
Change:
md.renderer.rules.image = (tokens: MarkdownItToken[], idx: number, options, env, self) => { const token = tokens[idx]; const src = token.attrGet('src'); <del> const attachments: Record<string, Record<string, string>> = env.outputItem.metadata?.custom?.attachments; </del> <ins> const attachments: Record<string, Record<string, string>> = env.outputItem.metadata?.custom?.attachments; // this stores attachment entries for every image in the cell </ins> if (attachments && src) { <del> const [attachmentKey, attachmentVal] = Object.entries(attachments[src.replace('attachment:', '')])[0]; const b64Markdown = 'data:' + attachmentKey + ';base64,' + attachmentVal; token.attrSet('src', b64Markdown); </del> <ins> const imageAttachment = attachments[src.replace('attachment:', '')]; if (imageAttachment) { // objEntries will always be length 1, with objEntries[0] holding [0]=mime,[1]=b64 // if length = 0, something is wrong with the attachment, mime/b64 weren't copied over const objEntries = Object.entries(imageAttachment); if (objEntries.length) { const [attachmentKey, attachmentVal] = objEntries[0]; const b64Markdown = 'data:' + attachmentKey + ';base64,' + attachmentVal; token.attrSet('src', b64Markdown); } } </ins> } if (original) {

Discussion:
Re Create a markdown cell which Contains an image attachment Markdown cell content contains link Open in notebook editor, markdown cell preview is broken Exception
Change:
return this.fetchKeybindingItems(sortByPrecedence ? this._keybindingItemsSortedByPrecedence : this._keybindingItems, searchValue, quoteAtFirstChar && quoteAtLastChar); } <ins> isSourceFilterApplied(words: string[]): boolean { return (words.length) && (words[0].trim().toLowerCase() === '@source:'); } getSourceFilterValue(words: string[]): string { return words[1] || ''; } </ins> private fetchKeybindingItems(keybindingItems: IKeybindingItem[], searchValue: string, completeMatch: boolean): IKeybindingItemEntry[] { if (!searchValue) { return keybindingItems.map(keybindingItem => ({ id: KeybindingsEditorModel.getId(keybindingItem), keybindingItem, templateId: KEYBINDING_ENTRY_TEMPLATE_ID }));

Discussion:
<!-- Do you have a question? Please ask it on --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.20.0-ins OS Version: win7x64 In we have a column called "Source". How about to create a filter called "source:user", so as "source:default", etc... ? !
any code-pointer to start on this?
Here it is -
hey! are you working on this? If not, I can take this.
I'm already started on this. Thanks for asking though.
sumitted a PR here. Care to comment / review.
Change:
return; } this._hoverDelayer.trigger(() => { <del> let hoverContent = `${localize('terminalPromptContextMenu', "Show Command Actions")}...`; </del> <ins> let hoverContent = `${localize('terminalPromptContextMenu', "Show Command Actions")}`; </ins> hoverContent += 'nn---nn'; if (command.genericMarkProperties) { if (command.genericMarkProperties.hoverMessage) {

Discussion:
Testing !
That's actually a description of what clicking the button will do. This was as designed but maybe has a better idea?
Same feedback from in
The "..." in "Show Command Actions..." tells me it's clickable. Just removing the "..." would help, but it still looks like something I want to click on.
Change:
errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Error Telemetry removes PII from filename with spaces', sinonTestFn(function (this: any) {

Discussion:
In short, if you use without calling you are leaking memory. See for the details. I'm seeing a lot of memory used in unit tests and it appears to be coming from sinon. This may be contributing to our unit test OOM issue on Windows 32 bit. Let's see if fixing this lets us run the unit tests again. To fix I have made disposable, and there were some places where tests failed or the refactor seemed larger:
The biggest gain would be from fixing the leak from as it is used many places.
I don't know if you own , but I am looking into a fix for it since it will have the biggest impact.
I've reopened this.
Thanks. I should be careful to not do and instead as that will prevent GitHub from auto closing it
With , I have made disposable and handled disposing it in most tests. There are several places where the way to handle this isn't clear or made test fail when I just naively disposed it. I have them in the issue above.
the instance in is already restored at , but the others should be fixed in Let me know if I miss any! Edit: I ended up making changes in both files.
For those tests where I am just using , should I have to still call or I should wait for your change to dispose the ?
You can wait for my change to dispose the .
FYI Windows ia32 started turning green again
and the only files left are yours. The is now disposable and should be disposed in these test files to properly restore and prevent a memory leak.
Thank you for the fast response everyone!
need help
Change:
import { IStorageService, NullStorageService } from 'vs/platform/storage/common/storage'; import { SnippetController2 } from 'vs/editor/contrib/snippet/snippetController2'; import { ISelectedSuggestion } from 'vs/editor/contrib/suggest/suggestWidget'; <ins> import { MockMode } from 'vs/editor/test/common/mocks/mockMode'; import { LanguageConfigurationRegistry } from 'vs/editor/common/modes/languageConfigurationRegistry'; import { TokenizationResult2 } from 'vs/editor/common/core/token'; import { NULL_STATE } from 'vs/editor/common/modes/nullMode'; </ins> function createMockEditor(model: TextModel): TestCodeEditor { const contextKeyService = new MockContextKeyService();

Discussion:
VSCode Version: Version 1.19.1 (1.19.1) 0759f77bb8d86658bc935a10a64f6182c5a1eebaOS Version: macOS, 10.12.6 Steps to Reproduce: TypeScript React, and Reproduces without extensions: Yes.
For the case: where the user has just typed , returns false since returns . This in turn is caused by having the following language ranges for the string : where = and = . These language ranges cause to take as the current word, which does not match against the known word patterns
Any update on this? The Ctrl-Space works and provides the correct autocomplete options for props with associated type. Would be nice if I didn't have to do that each time.
Have the same problem, but wonder about: "... autocomplete options for props ...". Is VS Code capable to autocomplete my custom from an imported component?
Change:
InsertAsSnippet = 4 } <ins> export interface CompletionItemRanges { insert: IRange; replace: IRange; } </ins> /** * A completion item represents a text snippet that is * proposed to complete text that is being typed.

Discussion:
Issue Type: <bBug</bI would like the prefix to trigger only when there is a leading whitespace in front of the prefix (it is supposed to be substituted with an explicit non-breaking space character ). The example of the snippet: --The prefix behaves as if there is no leading space, meaning the remains one extra whitespace before the expanded body, resulting in a double space: . VS Code version: Code 1.55.2 (, 2021-04-13T09:35:57.887Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (37)</summaryExtensionVersion ------ html-snippets0.2.1 Handlebars0.4.1 rc-beautify1.2.0 git-temporal-vscode1.0.0 insert-unicode0.10.0 i30.0.1 vscode-generate-getter-setter0.5.0 gitlens11.4.1 vscode-html-css1.10.2 vscode-npm-script0.3.21 carbon-now-sh1.2.0 vscode-angular-html1.7.0 beautify1.5.0 latex-workshop8.18.0 polacode-.5.2 svg1.4.6 Angular211.0.0 solidity0.0.113 Kotlin1.7.1 rainbow-csv1.8.1 vscode-docker1.12.1 python2021.5. vscode-pylance2021.5.2 jupyter2021.5. remote-containers0.166.1 postscript1.0.1 java0.79.1 LiveServer5.6.1 bash-debug0.3.9 scala0.5.3 bash-beautify0.1.1 code-settings-sync3.4.3 code-spell-checker1.10.2 sass-indented1.8.16 html-preview-vscode0.2.5 vscode-ruby0.28.0 markdown-all-in-one3.4.0 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I have a fix for this but it makes bigger changes in how snippet completion are computed. Pushing out to November to get more Insider usage for it, changes are in
Change:
const group = this._register(new RadioGroup([ new SimpleToggleAction(this._outlineViewState, localize('sortByPosition', "Sort By: Position"), () => this._outlineViewState.sortBy === OutlineSortOrder.ByPosition, _ => this._outlineViewState.sortBy = OutlineSortOrder.ByPosition), new SimpleToggleAction(this._outlineViewState, localize('sortByName', "Sort By: Name"), () => this._outlineViewState.sortBy === OutlineSortOrder.ByName, _ => this._outlineViewState.sortBy = OutlineSortOrder.ByName), <del> new SimpleToggleAction(this._outlineViewState, localize('sortByKind', "Sort By: Type"), () => this._outlineViewState.sortBy === OutlineSortOrder.ByKind, _ => this._outlineViewState.sortBy = OutlineSortOrder.ByKind), </del> <ins> new SimpleToggleAction(this._outlineViewState, localize('sortByKind', "Sort By: Category"), () => this._outlineViewState.sortBy === OutlineSortOrder.ByKind, _ => this._outlineViewState.sortBy = OutlineSortOrder.ByKind), </ins> ])); const result = [ new SimpleToggleAction(this._outlineViewState, localize('followCur', "Follow Cursor"), () => this._outlineViewState.followCursor, action => this._outlineViewState.followCursor = action.checked),

Discussion:
! I suggest "Filter on Type" becomes "Filter on Typing" or "Filter on Keystrokes" to eliminate the confusion. I'm willing to prepare a PR for this if it's agreed. VS Code version: Code - Insiders 1.40.0-insider (, 2019-10-31T05:42:33.138Z) OS version: Windows_NT x64 10.0.
Actually, perhaps that menu option could reasonably be removed now that the widget appearing when you type also displays a toggle for that feature when hovered over: !
And/or maybe "Sort By: Type" should become "Sort By: Category" so it aligns with the helptext item from the quickopen field (or whatever it's called): !
I have kept the entry event after adopting the new tree because I assumed users would miss it ;-). Aligning the wording between outline and quick outline makes sense. So, two time category or maybe kind?
My vote is for 'Sort By: Type' to become 'Sort By: Category' Shall I go ahead and prepare a PR?
yeah, please go ahead
Change:
export const ITestExplorerFilterState = createDecorator<ITestExplorerFilterState>('testingFilterState'); <del> const tagRe = /@([^ ,:]+)/g; </del> <ins> const tagRe = /!?@([^ ,:]+)/g; </ins> const trimExtraWhitespace = (str: string) => str.replace(/ss+/g, ' ').trim(); export class TestExplorerFilterState implements ITestExplorerFilterState {

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --Splitting this out from In the Test UI you can filter by text or exclude text using and filter by a . It would be nice if we could also negate tags in the filter like to exclude a specific tag. <!-- Describe the feature you'd like. --
Starting point, this is where tag filtering happens:
Change:
"dropdown.background": "#313131", "dropdown.border": "#ffffff1f", "dropdown.foreground": "#cccccc", <del> "dropdown.listBackground": "#313131", </del> <ins> "dropdown.listBackground": "#1f1f1f", </ins> "editor.background": "#1f1f1f", "editor.findMatchBackground": "#9e6a03", "editor.foreground": "#cccccc",

Discussion:
In Dark Modern it's hard to tell what is hovered. Since there's an extremely subtle hover decoration, it looks like something is missing. I like the blue background in Dark+ !
This looks like it's caused by the settings dropdown list background color unintentionally being too light. Updated to match other list widgets: <img width="443" alt="CleanShot 2023-06-07 at 14 45 41 src=""<img width="340" alt="CleanShot 2023-06-07 at 14 45 50 src=""
Change:
import { ConfirmResult, IDialogOptions, IDialogService } from 'vs/platform/dialogs/common/dialogs'; import { IEditorModel } from 'vs/platform/editor/common/editor'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; <ins> import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage'; </ins> import { IRevertOptions, SaveSourceRegistry } from 'vs/workbench/common/editor'; import { EditorModel } from 'vs/workbench/common/editor/editorModel'; import { MergeEditorInputData } from 'vs/workbench/contrib/mergeEditor/browser/mergeEditorInput';

Discussion:
a conflict file in 3 way merge the 3 way merge editor Notice dialog ! I do not think we have a need for this dialog any more since we are no longer removing the conflict markers. Thus the user can just close this dialog, there is no data loss? Similarly when the user closes the old editor with conflict markers we do not prompt. fyi
I don't have an opinion about this.
I would leave it for the clarity it creates, however I am open for a "don't ask again" option
"Don't ask again" works for me, especially since I just noticed that when some conflicts get resolved the dialog is "smarter". Would don't ask again write in storage or a setting? I am fine going loco and writing to storage (so users can not revert). Though if all the other "don't ask again" write in settings then I guess I am fine with that.
+1 for "Don't ask again"
Fyi there is a very practical use case for the dialog: if you run with and use VSCode as Git merge editor, you may actually want to resolve the conflicts before closing the editor because Git somewhat expects you to do so. On top of that, given , we currently cannot pass back an exit code to Git, so it helps showing a dialog to avoid returning back to Git with merge conflicts still in the file. Besides, we show a similar dialog when you try to stage a file that has merge conflicts from the SCM view: !
thanks for providing more info, I missed that case. Though I think it does not conflict with our idea to add "Don't Ask Again".
Can we tell the merge editor if it was opened in a modal context (like with --wait)?
Currently not, an editor has no knowledge that it is being utilised for . There is plumbing around the editor where we observe the opened editor for being closed and then delete the wait marker file. Can we get more user feedback on this before jumping onto a conclusion?
Verify that there is an option to not be asked again there is a "Reset Choice for Close with Conflicts" commands in the F1 list <img width="1405" alt="Screenshot 2022-11-25 at 15 24 27" src="https://user-"
Adding verified since this works as expected. Noticed one minor "glitch".

"Don't ask again" Cancel The "Don't ask again" choice will be preserved. It should probably be only preserved if I click on "Close with Conflicts". I am not supper passionate about this, but let me know if you would like me to file an issue
Change:
"description": "%emmetExclude%" }, "emmet.extensionsPath": { <del> "type": [ "string", "array", "null" ], "default": null, </del> <ins> "type": "array", "items": { "type": "string" }, "default": [], </ins> "description": "%emmetExtensionsPath%" }, "emmet.triggerExpansionOnTab": {

Discussion:
Testing Bug Currently the setting can only be configured by editing the file. It would be nice if you could configure it using our settings UI as well
It'd make sense to me to deprecate the string/null potential values in favor of an array of strings. You could declare the settings as (which settings editor can handle, see ), then transform existing 's to the empty array and existing single string values to .
Change:
editorHighlighterContrib.wordHighlighter._hasWordHighlights.set(false); } } <ins> for (const uri of deleteURI) { WordHighlighter.storedDecorations.delete(uri); } </ins> } private _stopSingular(): void { // Remove any existing decorations + a possible query, and re - run to update decorations this._removeSingleDecorations(); <del> if (this.editor.hasWidgetFocus()) { </del> <ins> if (this.editor.hasTextFocus()) { </ins> if (this.editor.getModel()?.uri.scheme !== Schemas.vscodeNotebookCell && WordHighlighter.query?.modelInfo?.model.uri.scheme !== Schemas.vscodeNotebookCell) { // clear query if focused non-nb editor WordHighlighter.query = null; this._run();

Discussion:
There is a strange issue in vs code when i split the window, and click on any code or syntax , it will highlight similar code/syntax but the highlig ht is persistent, it wont go away, it works fine in the first window but when it gets split to the right it doesnt work if i click anywhere else in the window, in the left side the currentCrew is highlighted now, it just wont clear. sys info Version: 1.84.2 (Universal) Commit: Date: 2023-11-09T10:52:33.687Z (1 wk ago) Electron: 25.9.2 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Darwin x64 21.6.0 <img width="1680" alt="Screen Shot 2023-11-22 at 9 42 52 AM" src=""
could you help with triaging this issue? Thanks!
Change:
cursor: pointer; } <del> .monaco-editor .sticky-widget { </del> <ins> .monaco-editor .sticky-widget-root { width: 100%; position: relative; } .monaco-editor .sticky-widget-scroll { </ins> width: 100%; box-shadow: var(--vscode-scrollbar-shadow) 0 3px 2px -2px; z-index: 4; background-color: var(--vscode-editorStickyScroll-background); } <del> .monaco-editor .sticky-widget.peek { </del> <ins> .monaco-editor .sticky-widget-scroll.peek { </ins> background-color: var(--vscode-peekViewEditorStickyScroll-background); }

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Hello So I have noticed when using Sticky Scroll, any line which is too long (for example the screenshot below), it would block off the rest of the code. A feature I was thinking would be a good adition is sideways scrolling (like what happens already in the main editor) so that people can see what else is in that line. <kbd<img src="https://user-"/</kbd
Change:
hcLight: PANEL_BORDER }, localize('panelSectionBorder', "Panel section border color used when multiple views are stacked horizontally in the panel. Panels are shown below the editor area and contain views like output and integrated terminal. Panel sections are views nested within the panels.")); <ins> // < --- Output Editor --> const OUTPUT_EDITOR_BACKGROUND = registerColor('outputEditor.background', { dark: null, light: null, hcDark: null, hcLight: null }, localize('outputEditorBackground', "Output editor background color.")); registerColor('outputEditorStickyScroll.background', { dark: OUTPUT_EDITOR_BACKGROUND, light: OUTPUT_EDITOR_BACKGROUND, hcDark: OUTPUT_EDITOR_BACKGROUND, hcLight: OUTPUT_EDITOR_BACKGROUND }, localize('outputEditorStickyScrollBackground', "Output editor sticky scroll background color.")); </ins> // < --- Banner --- > export const BANNER_BACKGROUND = registerColor('banner.background', {

Discussion:
Repro: Use a theme that has the editor as a different color to the panel Print a json object to an output channel !
Hi thank you for posting this issue. It is a bit unclear from the screen-shot what the expected output should be. Are you referring to what looks like the terminal sticky scroll?
that's output (monaco) sticky scroll, not terminal. The bottom has a dark sticky scroll color and looks odd when the panel background is different to the editor.
I see better now thanks. I'll look into setting a different background color depending on if the editor is a simple one or inside of the output view.
I am investigating how to detect if a specific editor is the editor in the output view. I was initially considering looking at the classList to find if or is there, but the editor dom node class list appears to be undefined for the output view. I was wondering if there is perhaps another way to detect this?
I am not aware of a method to get the editor of the output view, but it should be easy to add: Is that what you need?
Ah maybe I can directly access the editor of the output view pane and verify that the current editor is equal to this editor maybe?
But you are inside an editor contribution or? Not sure how that would work given layering violations.
Yes that's right the change would be inside of the file which is a contribution. I'll think more about how to detect the type of the current editor
Not sure if it helps, but we can control the options we pass in to the editor for output and do so here:
It's a bit of a tricky problem if you want this to work well across all themes. You probably need to support null or transparent values for the bg and hover bg keys and then resolve the colors manually into opaque colors by combining them with the bg color underneath. This might be the right internal API to do that?
I was investigating the uri of the output editor, and noticed it has a scheme equal to 'output'. I can just use it in order to detect if the current editor is an output view editor and change the background accordingly.
Change:
// Electron seems to crash on Windows without this setTimeout :| setTimeout(() => { try { <ins> this.logService.trace('SharedProcess: onWillShutdown window.close()'); </ins> window.close(); <del> } catch (err) { // ignore, as electron is already shutting down </del> <ins> } catch (error) { this.logService.trace(`SharedProcess: onWillShutdown window.close() error: ${error}`); // ignore, as electron is already shutting down </ins> } this.window = undefined;

Discussion:
This here: Is strange to me because while this call is , it will not prolong the shutdown on the main process which is sync: Since the user of this event does not seem to use , I suggest to make the not support promises.
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> use std::{ </del> <ins> use std::{ </ins> ffi::OsString, path::{Path, PathBuf}, time::Duration,

Discussion:
This used to work on the same machine however. Not sure when it stopped. Or why.
Please run
that worked! Wonder if the CLI should do it automatically?
BTW I also noticed how it returns exit code 0 (success) even when it failed like that. Perhaps you should avoid just issuing a warning in case some of these operations fails.
Thanks a ton,
Change:
*--------------------------------------------------------------------------------------------*/ import * as nls from 'vs/nls'; <del> import { registerColor, editorBackground, contrastBorder, transparent, editorWidgetBackground, textLinkForeground, lighten, darken, focusBorder, activeContrastBorder, editorWidgetForeground, editorErrorForeground, editorWarningForeground, editorInfoForeground } from 'vs/platform/theme/common/colorRegistry'; </del> <ins> import { registerColor, editorBackground, contrastBorder, transparent, editorWidgetBackground, textLinkForeground, lighten, darken, focusBorder, activeContrastBorder, editorWidgetForeground, editorErrorForeground, editorWarningForeground, editorInfoForeground, treeIndentGuidesStroke } from 'vs/platform/theme/common/colorRegistry'; </ins> import { IColorTheme } from 'vs/platform/theme/common/themeService'; import { Color } from 'vs/base/common/color';

Discussion:
The grey used as the pinned tab separator could be a bit stronger and I suggest it is the same grey as for the View separators. !
Yeah, this color is pretty much randomly selected. would you be interested in picking colors for our default themes? Just today I pushed to add the color to our default themes but I did not really spend a lot of time thinking about which color fits best. Most often I picked the border color of the peek view inside the editor. The color key is
Are we sure we don't want to push this as a default for all themes? Because out of the box it's nearly impossible to tell the difference in other themes. Like below, can you tell which files are pinned? !
yeah if you can find a good base color and rule for it, I am all up for it