Question: id: SelectionToWatchExpressionsAction.ID, label: SelectionToWatchExpressionsAction.LABEL, alias: 'Debug: Add to Watch', <del> precondition: ContextKeyExpr.and(EditorContextKeys.editorTextFocus), </del> <ins> precondition: ContextKeyExpr.and(CONTEXT_IN_DEBUG_MODE, EditorContextKeys.editorTextFocus), </ins> contextMenuOpts: { group: 'debug', order: 1

The change for went in without a UX discussion. IMHO we should reconsider adding these two actions to all editor context menus. IMHO we need to be more critical with adding things there and have good reasons to do so. <img width="284" alt="image" src="https://user-"
I figured it wasn't a major change since they are already in the context menu during a debug session. Would a Debug submenu help? Or how about only showing them if the user has previously debugged in this workspace?
I see how it might not feel like a major change, but IMHO we should approach this with a different mindset. We have many useful commands, and we can add many of them to the context menu, but just because we have the ability to add them is not IMHO a good enough reason. Adding something to the context menu has two disadvantages: it makes our editor feel bloated (think typical IDE of the early 00s) it detracts from the value of the existing items, since there are so many of them. I think we need to have a good reason to decide to always show something in the context menu, like a very important feature that we feel will differentiate VS Code from other editors, a reaction to a lot of user feedback, an action which would make the product incomplete if it would be missing, etc.
We discussed this in standup and I will likely just remove them when not in a debug session.
From and Keeping the changes so that they will work and appear in the command palette when not in a debug session, but only appear in the editor context menu while debugging


Question: rows: 30 }); instantiationService.stub(IStorageService, new TestStorageService()); <del> instantiationService.stub(ITerminalContributionService, { quickFixes: [] } as Partial<ITerminalContributionService>); </del> <ins> instantiationService.stub(ITerminalContributionService, { quickFixes: new Promise((r) => { r([]); }) } as Partial<ITerminalContributionService>); </ins> instantiationService.stub(ITerminalQuickFixService, { onDidRegisterProvider: new Emitter().event, onDidUnregisterProvider: new Emitter().event, onDidRegisterCommandSelector: new Emitter().event } as Partial<ITerminalQuickFixService>); instantiationService.stub(IConfigurationService, new TestConfigurationService()); instantiationService.stub(ILabelService, {} as Partial<ILabelService>);

Running out of sources I see this:
This means that the contribution isn't getting evaluated before is called. Not too familiar with how / when is handled, but we call when the is created
I think perhaps moving that to the top of the constructor (before registering the command handlers) will fix this
This happens on window open
and the quick fix does work for that extension !
Seeing this in error telemetry for Insiders from 12/23:
This is the 6th error by machines in telemetry https://vscode-
I cannot reproduce this in Insider's. did you notice this after doing anything in particular?
I got this error when using remote dev container <details<summaryWindow</summary</details
Fixed in
Actually still found it in my devtools today:
I can't reproduce, but I can simulate the race by adding to 's promise in
HI, im having the same problem here 2023-02-16 17:10:14.453 [error] Error: No registered selector for ID: ms- at R.registerQuickFixProvider (vscode-file://vscode-) at r.$registerQuickFixProvider (vscode-file://vscode-) at m.N (vscode-file://vscode-) at m.M (vscode-file://vscode-) at m.H (vscode-file://vscode-) at m.G (vscode-file://vscode-) at vscode-file://vscode- at g.invoke (vscode-file://vscode-) at n.deliver (vscode-file://vscode-) at a.fire (vscode-file://vscode-) at r.fire (vscode-file://vscode-) at Z.onmessage (vscode-file://vscode-) I got vs code 1.71.1 running on W11 21H2 How i am supposed to fix this, or it's not a problem and vs code is working normally? Thank you!
Update your VS code version, where this is fixed
Sorry, i typed incorrectly mi vs code version. It is the latest one 1.75.1, i reinstalled it today.
I can still reproduce in latest stabel 1.75.1 https://user-


Question: * with the next editor or if it will be kept. */ preview?: boolean; <ins> /** * An optional selection to apply for the document in the [editor](#TextEditor). */ selection?: Range; </ins> } /**

For
Verify: write an extension that exercises the following APIs by passing in a selection as option and verify the selection is revealed and showing up in the opened editor: command API Provide a property of type to get it. !


Question: }); const searchOperation = await startInput.ongoingSearchOperation; <del> this.onSearchComplete(searchOperation, config, startInput); </del> <ins> await this.onSearchComplete(searchOperation, config, startInput); </ins> } private async onSearchComplete(searchOperation: ISearchComplete, startConfig: SearchConfiguration, startInput: SearchEditorInput) {

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.61.0 (I've seen this before and see it on too) OS Version: MacOS 11.6 Steps to Reproduce: Have 2 editor groups in workspace. Open a search editor (Cmd+Shift+F [can't remember if that's a default or my custom keybinding]) it to the other editor group. something to search for. At this point, you have to scroll up to see the results.
I've been looking into this. Any ideas where to start? I see that the following code does get called, but doesn't seem to position it correctly. If I wrap in a for 500ms, it works, but that's not a good long term solution.


Question: model.dispose(); mode.dispose(); }); <ins> test('issue #111128: Multicursor `Enter` issue with indentation', () => { const model = createTextModel('    let a, b, c;', { detectIndentation: false, insertSpaces: false, tabSize: 4 }, mode.getLanguageIdentifier()); withTestCodeEditor(null, { model: model }, (editor, viewModel) => { editor.setSelections([ new Selection(1, 11, 1, 11), new Selection(1, 14, 1, 14), ]); viewModel.type('n', 'keyboard'); assert.equal(model.getValue(), '    let a,nt b,nt c;'); }); }); </ins> }); interface ICursorOpts {

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.51.1 / 1.52.0-insider OS Version: Ubuntu 20.04 / Windows 10 Steps to Reproduce: 4x spaces at the beginning of a line multiple cursors on that line enter Expected: Insert newline at each of the positions where cursor is present Actual Behavior: Inserts newline only at the first (NOT the left most) cursor position (Let me know the relevant settings values required) Addiditional info: I use tabs (width of 4 spaces) for indentation for formatting ! <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
I think this might be caused by one of your installed extensions. Here it is on my machine: ! To validate this, could you please : Run the command Developer: Toggle Keyboard Shortcuts Troubleshooting This will activate logging of dispatched keyboard shortcuts and will open an output panel with the corresponding log file. You can then press <kbdEnter</kbdand check what command is invoked. If you are having trouble understanding the output, please feel free to paste here and I can help decipher it for you.
Here is the renderer keyboard troubleshoot log: Also, the I have disabled all the extensions. And, now, I can reproduce this with the latest stable too and in Ubuntu.
It is also not exclusive to the multi cursors created using keybinding. I can reproduce this by placing mulitple cursors created using the too.
From the keyboard log, I can confirm that nobody is "stealing" Enter via keybindings. But there is another way that extensions can intercept that, via our command. That is the way in which intercepts Enter. Does this reproduce when disabling all extensions? Press and then choose !
Hey , In all of my previuos posts I have made sure that I have disabled all the extensions (by running the command that you have mentioned) and also, at the end of each of my posts I have explicitly stated that I had disabled the extensions. Can it have anything to do with my settings related to tabs?


Question: model.dispose(); mode.dispose(); }); <ins> test('issue #111128: Multicursor `Enter` issue with indentation', () => { const model = createTextModel('    let a, b, c;', { detectIndentation: false, insertSpaces: false, tabSize: 4 }, mode.getLanguageIdentifier()); withTestCodeEditor(null, { model: model }, (editor, viewModel) => { editor.setSelections([ new Selection(1, 11, 1, 11), new Selection(1, 14, 1, 14), ]); viewModel.type('n', 'keyboard'); assert.equal(model.getValue(), '    let a,nt b,nt c;'); }); }); </ins> }); interface ICursorOpts {

May be, inspect my settings here: (which has ) and, try to reproduce the issue by applying the exact same settings (copy paste my ).
Also, , Please carefully go through each of the above posts. It seems like you are not reading all the comments. It will save me from repeating the same thing again and again. Thanks.
Thank you for your patience, with your settings, I could finally reproduce. I missed the fact that the editor is configured to use tabs and I believed you might be using vim due to the block cursor in the GIF. You can workaround by using .


Question: builtin return fi <ins> __vsc_initialized="0" </ins> __vsc_in_command_execution="1" __vsc_last_history_id=0

!
updated Insider's and the problem remains
I think this is the same as We will need to always send the exit code and have it get evaluated on the renderer against the extracted command name to fix these problems.
sometimes reproduces on mac
you can check if this is the same issue () by running a command a few times and then when is run if it's a single entry or multiple in the output.
interesting to me that it allows repro on linux/WSL and does so inconsistently on mac. here's linux: !
K, let's try understand this a little better then, that shouldn't happen as the initial history id is 0:
Oh I figured out when it reproes on mac - if you run the same command in a different terminal, then the second and beyond ones don't have an exit code
Running the command again in the terminal where you first ran the command works every time and does not repro on mac. So mac steps are: in terminal 1 - again in terminal 1 - in terminal 2 - Linux: a terminal and run any command - placeholder decoration shown for the first one regardless of exit code
It would be nice to fix this since is the default shell used
Think I see the problem, PR incoming.


Question: const element = this.options[index]; let optionDisabled: boolean; index === this.disabledOptionIndex ? optionDisabled = true : optionDisabled = false; <del> listEntries.push({ optionText: element, optionDisabled: optionDisabled }); </del> <ins> const optionDescription = this.detailsProvider ? this.detailsProvider(index) : { details: null, isMarkdown: false }; listEntries.push({ optionText: element, optionDisabled: optionDisabled, optionDescriptionText: optionDescription.details }); </ins> } this.selectList.splice(0, this.selectList.length, listEntries);

New enum/select box detailed descriptions should be read by reader. Add describedby attribute handling for details provider within selectbox.
Either describedby or just
Yep, I've thought about live/alert also. By my research this does not really match the expected taxonomy for the accessibility tree, an extended description is pretty much exactly what describedby is for. That said, describedby probably will not be happy changing which will mean I will need the static set of descriptions in the Dom. Not a big deal, just another example of where nothing is straightforward. But, that's why we get paid the big bucks ... well at least you :-o ! What I really want to solve is getting rid of the multiple 'clickable' readings. I think I may have a way to avoid that which will be very important for these descriptions given the number of links.
Good point, I have no idea if pointing all of the selectbox items at the same details box will work, or if there's something we can do to order events to make it work better. Or maybe changing the 'id' of the details element for each item. I'm very curious what's causing that! Very weird.
describedby can have a list of IDs associated with it. like labeled by and most other ARIA aspects it does not like things changing underneath it, that of course is what aria-live is for but, but everything I read says use this judiciously. I think having a separate set of descriptions (modified for reader output/minimal clickable) will not be a big deal. Just as the options are static, so are the descriptions so hiding them in the select for use will not be an issue. I haven't done the definitive experiment yet but, I believe the multiple clickable issue has to do with something like this: I think the reader can find these as all clickable elements when they are descendents of a managed accessibility tree. my research has yet to determine if this is considered a bug or as designed


Question: .monaco-workbench .terminal-action.new { background: url('new.svg') center center no-repeat; } /* Dark theme / HC theme */ .vs-dark .monaco-workbench .terminal-action.kill, .hc-black .monaco-workbench .terminal-action.kill { background: url('kill-inverse.svg') center center no-repeat; } <del> .vs-dark .monaco-workbench .terminal-action.new, .hc-black .monaco-workbench .terminal-action.new { background: url('new-inverse.svg') center center no-repeat; } </del>  No newline at end of file <ins> .vs-dark .monaco-workbench .terminal-action.new, .hc-black .monaco-workbench .terminal-action.new { background: url('new-inverse.svg') center center no-repeat; } .vs-dark .monaco-workbench.mac .panel.integrated-terminal .xterm-rows, .hc-black .monaco-workbench.mac .panel.integrated-terminal .xterm-rows { cursor: -webkit-image-set(url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAL0lEQVQoz2NgCD3x//9/BhBYBWdhgFVAiVW4JBFKGIa4AqD0//9D3pt4I4tAdAMAHTQ/j5Zom30AAAAASUVORK5CYII=') 1x, url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAz0lEQVRIx2NgYGBY/R8I/vx5eelX3n82IJ9FxGf6tksvf/8FiTMQAcAGQMDvSwu09abffY8QYSAScNk45G198eX//yev73/4///701eh//kZSARckrNBRvz//+8+6ZohwCzjGNjdgQxkAg7B9WADeBjIBqtJCbhRA0YNoIkBSNmaPEMoNmA0FkYNoFKhapJ6FGyAH3nauaSmPfwI0v/3OukVi0CIZ+F25KrtYcx/CTIy0e+rC7R1Z4KMICVTQQ14feVXIbR695u14+Ir4gwAAD49E54wc1kWAAAAAElFTkSuQmCC') 2x) 5 8, text; } </ins>  No newline at end of file

VSCode Version: Code - Insiders 1.5.0-insider (, 2016-08-09T16:02:06.523Z) OS Version: Darwin x64 14.5.0


Question: this.show(); } })); <ins> this._register(this._configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(TerminalSettingId.AccessibleViewFocusOnCommandExecution)) { this._updateCommandExecutedListener(); } })); this._register(this._instance.capabilities.onDidAddCapability(e => { if (e.capability.type === TerminalCapability.CommandDetection) { this._updateCommandExecutedListener(); } })); </ins> } xtermReady(xterm: IXtermTerminal & { raw: Terminal }): void { const addon = this._instantiationService.createInstance(TextAreaSyncAddon, this._instance.capabilities); xterm.raw.loadAddon(addon);

Type: <bFeature Request</bCC Please consider auto-activiating accessible view in terminal when user hit enter key. In most cases, screen reader users want to open accessible view after executing command in terminal. Thus, pressing Enter key can do: the current command to terminal. Accessible View immediately. Rather than having this as the default mode, we could consider adding this as a custom user setting. VS Code version: Code - Insiders 1.85.0-insider (, 2023-11-02T09:02:24.464Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
This makes sense. let us know if you have any thoughts.
I imagine this mode can boost user productivity because VSCode now sends user typing in Accessible View directly to the active terminal. If this mode is , users will experience more seamless round trip between terminal input and accessible view without having to press Alt+F2 and ESC.
To verify, enable . Run a command in the terminal. The accessible view should open.


Question: const termBox = xterm.element.getBoundingClientRect(); const rowHeight = termBox.height / xterm.rows; const overlayHeight = stickyScrollLineCount * rowHeight; <del> this._element.style.bottom = `${termBox.height - overlayHeight + 1}px`; </del> <ins> // Adjust sticky scroll content if it would below the end of the command, obscuring the // following command. let endMarkerOffset = 0; if (!isPartialCommand && command.endMarker && command.endMarker.line !== -1) { if (buffer.viewportY + stickyScrollLineCount > command.endMarker.line) { const diff = buffer.viewportY + stickyScrollLineCount - command.endMarker.line; endMarkerOffset = diff * rowHeight; } } this._element.style.bottom = `${termBox.height - overlayHeight + 1 + endMarkerOffset}px`; </ins> } } else { this._setVisible(false);

Testing So I was testing the terminal sticky scroll and I noticed that the sticky code block disappears in an abrupt manner when the beginning (not the end) of the multiline terminal command, reaches the end of the scope. To give more context about what I mean, I the GIF below. I was sort of expecting the code block to start disappearing when the line reached the end of the output for that command. I noticed that the code block disappeared however when the line reached the end of the output for that run. I don't think this is a problem per say, it's a different manner of animating sticky scroll. I was just wondering if this is intended? I think the potential issue with this approach is that the sticky scroll block is hiding the next terminal command and its output while you are scrolling until it disappears. In the editor, sticky scroll starts disappearing progressively when the bottom of the last block/line touches the end of the scope. Perhaps we could explore something similar?
This is actually a bug, it's meant to scroll up as in the editor and was doing that at some point. Note that it's not as smooth as the editor since there's no "partial line scrolling" in the terminal
Repro that demonstrates more clearly what's happening: Run: Run: Run: when scrolling, sticky scroll from a command should never obscure the command below it like this: !
I see the prompt line sort of being obscured here


Question: } if (currentCount < desiredCount) { <del> const rulerWidth = dom.computeScreenAwareSize(1); </del> <ins> const rulerWidth = this._context.model.getTabSize(); </ins> let addCount = desiredCount - currentCount; while (addCount > 0) { let node = createFastDomNode(document.createElement('div'));

The rulers and indent guides do not display well on high pixel density displays VSCode Version: Version 1.21.0 (1.21.0) OS Version: macOS Sierra 10.12.6 (16G1212) Steps to Reproduce: out editor Does this issue occur when all extensions are disabled?: Yes Example !


Question: const runToolbar = this.setupRunToolbar(runButtonContainer, container, contextKeyService, disposables); const executionOrderLabel = DOM.append(cellContainer, $('div.execution-count-label')); <ins> executionOrderLabel.setAttribute('title', 'Execution Order'); </ins> const editorPart = DOM.append(cellContainer, $('.cell-editor-part')); const editorContainer = DOM.append(editorPart, $('.cell-editor-container'));

Testing Unfiltered notebook noob feedback: ! I was expecting a tooltip to tell me what it meant.
Agreed that we should add tooltip for it.
how would you interpret it if there was a tooltip that said "Execution Order"?
when you run all cells it goes in that order? I was expecting that to be sequential from the top?
It's the order that it was executed it, not the order it will execute in. Hopefully a user would figure that out if they run the cell and see it change.
oh, more explicit would be better then imo I also question why this is useful but I'm guessing this is a common notebooks feature elsewhere?
Yeah it's what people expect from Jupyter and can help you understand the state of the kernel
Thanks that needs to be localized though. btw if you are going to merge your change in, you can just commit directly, no PR needed


Question: } private _showToggleVisibilityQuickPick() { <del> const quickPick = this._quickInputService.createQuickPick(); </del> <ins> const quickPick = this._register(this._quickInputService.createQuickPick()); </ins> quickPick.hideInput = true; quickPick.hideCheckAll = true; quickPick.canSelectMany = true;

Quick pick and events are disposables: is a listeners are : , , , , , A few instances of pickers or events not being disposed or registered as disposable: [x] [x] [x] [x] [x] [x] [x] [x] [x] [x] [x] [x] //cc
Thanks for catching these just taught me that there's a better way to use the quick pick API - with and that will avoid this
Interesting, curious to see how that change looks like, I have a lot more places:


Question: jquery_d_ts = join(__dirname, '../../lib/jquery.d.ts'); // from source } <del> export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocumentRegions>, languageId: 'javascript' | 'typescript'): LanguageMode { </del> <ins> export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocumentRegions>, languageId: 'javascript' | 'typescript', workspace: Workspace): LanguageMode { </ins> let jsDocuments = getLanguageModelCache<TextDocument>(10, 60, document => documentRegions.get(document).getEmbeddedDocument(languageId)); const workingFile = languageId === 'javascript' ? 'vscode://javascript/1.js' : 'vscode://javascript/2.ts'; // the same 'file' is used for all contents <del> let compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es6.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic }; </del> <ins> let compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es6.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic, experimentalDecorators: false }; </ins> let currentTextDocument: TextDocument; let scriptFileVersion: number = 0; function updateCurrentTextDocument(doc: TextDocument) {

<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.43.0 OS Version: n/a I have the set to in my settings: Given a Does not produce any warnings as expected. However in : The linter says
This has the same root cause as : script are owned by the html extension instead of by the JavaScript extension. Fixing that is difficult However we could have a small fix that just makes html understand the setting. Marking this as help-wanted
Hello I'd like to try my hands on fixing this issue. Can you give some pointers as to which files are good places to start?
This change will need to be made in the HTML extension Here's where we configure TypeScript for the html extension: You should: Pass the value for in with the initial configuration Make sure that the language service updates its value for when the VS Code setting changes
Is there another way to get the setting value other than vscode.workspace.getConfiguration()? The 'vscode' module cannot be found when I try to import it into javascriptMode. I think 'vscode' would have to be as a dependency in in order to import 'vscode'.
Right now I'm passing in a default 'false' for experimentalDecorators in the initial configuration and passing the settings into getJavascriptMode.doValidation to update compilerOptions and calling ts.createLanguageService(host) every time doValidation is invoked. It has the expected behavior, but is there a better way to update the compiler options without creating the service every time it runs validation?
Is called when the file is changed? If it is, try updating the object that it returns
I am reproducing this error now with the following code: I realize this is known, but I will add the mention with respect to . Here is the relevant docs page, if a person wanted to make a unit test using If anyone finds this in the future, if is set in , it should suppress this error. Additionally, both and files, in the root of the project, take precedence over that setting.


Question: export const textSeparatorForeground = registerColor('textSeparator.foreground', { light: '#0000002e', dark: '#ffffff2e', hcDark: Color.black, hcLight: '#292929' }, nls.localize('textSeparatorForeground', "Color for text separators.")); export const textLinkForeground = registerColor('textLink.foreground', { light: '#006AB1', dark: '#3794FF', hcDark: '#3794FF', hcLight: '#0F4A85' }, nls.localize('textLinkForeground', "Foreground color for links in text.")); export const textLinkActiveForeground = registerColor('textLink.activeForeground', { light: '#006AB1', dark: '#3794FF', hcDark: '#3794FF', hcLight: '#0F4A85' }, nls.localize('textLinkActiveForeground', "Foreground color for links in text when clicked on and on mouse hover.")); <del> export const textPreformatForeground = registerColor('textPreformat.foreground', { light: '#A31515', dark: '#D7BA7D', hcDark: '#000000', hcLight: '#FFFFFF' }, nls.localize('textPreformatForeground', "Foreground color for preformatted text segments.")); </del> <ins> export const textPreformatForeground = registerColor('textPreformat.foreground', { light: '#A31515', dark: '#D7BA7D', hcDark: '#D7BA7D', hcLight: '#292929' }, nls.localize('textPreformatForeground', "Foreground color for preformatted text segments.")); </ins> export const textPreformatBackground = registerColor('textPreformat.background', { light: '#0000001A', dark: '#FFFFFF1A', hcDark: '#FFFFFF', hcLight: '#09345f' }, nls.localize('textPreformatBackground', "Background color for preformatted text segments.")); export const textBlockQuoteBackground = registerColor('textBlockQuote.background', { light: '#f2f2f2', dark: '#222222', hcDark: null, hcLight: '#F2F2F2' }, nls.localize('textBlockQuoteBackground', "Background color for block quotes in text.")); export const textBlockQuoteBorder = registerColor('textBlockQuote.border', { light: '#007acc80', dark: '#007acc80', hcDark: Color.white, hcLight: '#292929' }, nls.localize('textBlockQuoteBorder', "Border color for block quotes in text."));

Expected ! Actual !
Regressed in
The markdown preview in the chat is also broken for Dark Modern but is fixed by your change: !
And the markdown preview in the settings editor: !
I looked into this some more and have the following findings block rendering is broken for Dark Modern, Light Modern, Dark HC and Light HC What changed: we a new theme token, , adopted it in and , and updated the values for to look good with a different background color But we didn't adopt token for blocks in Markdown previews, which is why is broken for Markdown preview Some options Adopt for blocks in Markdown preview -- this amounts to a rather drastic styling change for Markdown previews ! Revert Revert the change to and drop the usage of so that Markdown preview, chat, and settings UI are in a reasonable state for all themes, which I attempted in
Also affects the Extensions Details page since it is a Markdown preview !
Verification: for Light/Dark Modern and Light/Dark HC, make sure that blocks are properly rendered in Markdown preview, settings UI and chat


Question: options = { position: TypeConverters.fromViewColumn(columnOrOptions.viewColumn), preserveFocus: columnOrOptions.preserveFocus, <ins> selection: typeof columnOrOptions.selection === 'object' ? TypeConverters.fromRange(columnOrOptions.selection) : undefined, </ins> pinned: typeof columnOrOptions.preview === 'boolean' ? !columnOrOptions.preview : undefined }; } else {


Question: import { debugToolBarBackground, debugToolBarBorder } from 'vs/workbench/contrib/debug/browser/debugColors'; import { CONTINUE_ID, CONTINUE_LABEL, DISCONNECT_AND_SUSPEND_ID, DISCONNECT_AND_SUSPEND_LABEL, DISCONNECT_ID, DISCONNECT_LABEL, FOCUS_SESSION_ID, FOCUS_SESSION_LABEL, PAUSE_ID, PAUSE_LABEL, RESTART_LABEL, RESTART_SESSION_ID, REVERSE_CONTINUE_ID, STEP_BACK_ID, STEP_INTO_ID, STEP_INTO_LABEL, STEP_OUT_ID, STEP_OUT_LABEL, STEP_OVER_ID, STEP_OVER_LABEL, STOP_ID, STOP_LABEL } from 'vs/workbench/contrib/debug/browser/debugCommands'; import * as icons from 'vs/workbench/contrib/debug/browser/debugIcons'; <del> import { CONTEXT_DEBUG_STATE, CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_MULTI_SESSION_DEBUG, CONTEXT_STEP_BACK_SUPPORTED, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED, IDebugConfiguration, IDebugService, State, VIEWLET_ID } from 'vs/workbench/contrib/debug/common/debug'; </del> <ins> import { CONTEXT_DEBUG_STATE, CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_IN_DEBUG_MODE, CONTEXT_MULTI_SESSION_DEBUG, CONTEXT_STEP_BACK_SUPPORTED, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED, IDebugConfiguration, IDebugService, State, VIEWLET_ID } from 'vs/workbench/contrib/debug/common/debug'; </ins> import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; import { Codicon } from 'vs/base/common/codicons';

vscode window (given you have setting to put debug controls in the command center notice how the command center includes debug controls and then right away disappear See:


Question: case TerminalCommandId.New: { if (action instanceof MenuItemAction) { const actions = getTerminalActionBarArgs(TerminalLocation.Panel, this._terminalProfileService.availableProfiles, this._getDefaultProfileName(), this._terminalProfileService.contributedProfiles, this._terminalService, this._dropdownMenu); <ins> this._registerDisposableActions(actions.dropdownAction, actions.dropdownMenuActions); </ins> this._newDropdown?.dispose(); this._newDropdown = new DropdownWithPrimaryActionViewItem(action, actions.dropdownAction, actions.dropdownMenuActions, actions.className, this._contextMenuService, { hoverDelegate: options.hoverDelegate }, this._keybindingService, this._notificationService, this._contextKeyService, this._themeService, this._accessibilityService); this._updateTabActionBar(this._terminalProfileService.availableProfiles);

I was trying to understand the usage of and the lifecycle of actions created while creating it. I think this originated with the terminal, so looked at the terminal code, but it seems like the problem isn't solved here either. instantiates some Actions which extend Disposable, but they are never tracked or disposed. The ActionViewItems returned from are apparently owned by whatever calls that and get disposed, but not these extra actions that we have to create. So, one solution would be for them to be owned and disposed by although that feels unexpected. But otherwise, there isn't a technically correct way for the code in to know when they should be disposed. Wondering whether I'm missing something or if you have any thoughts.
I spent some time investigating this and the issue is that we use in some places and in others. Only the latter is disposable. This would be a bit involved to rework


Question: touch-action: none; width: 100%; border-radius: 4px; <ins> text-transform: capitalize; </ins> } .action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) {

Ref: To align with regular menus and command palette entries, this menu should use capital casing e.g. or
I proposed a fix in with just CSS but feel free to propose a cleaner way if you'd like. Unfortunately it ends up as and not . Not sure how that logic works for menus/commands.


Question: import env = require('vs/base/common/platform'); import {ITextFileService, asFileResource} from 'vs/workbench/parts/files/common/files'; import {IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions} from 'vs/workbench/common/contributions'; <del> import {GlobalNewFileAction, SaveFileAsAction} from 'vs/workbench/parts/files/browser/fileActions'; </del> <ins> import {GlobalNewUntitledFileAction, SaveFileAsAction} from 'vs/workbench/parts/files/browser/fileActions'; </ins> import {FileTracker} from 'vs/workbench/parts/files/electron-browser/electronFileTracker'; import {TextFileService} from 'vs/workbench/parts/files/electron-browser/textFileServices'; import {OpenFolderAction, OPEN_FOLDER_ID, OPEN_FOLDER_LABEL, OpenFileAction, OPEN_FILE_ID, OPEN_FILE_LABEL, OpenFileFolderAction, OPEN_FILE_FOLDER_ID, OPEN_FILE_FOLDER_LABEL, ShowOpenedFileInNewWindow, GlobalRevealInOSAction, GlobalCopyPathAction, CopyPathAction, RevealInOSAction} from 'vs/workbench/parts/files/electron-browser/electronFileActions';

VSCode Version: 1.0.0 OS Version: OSX 10.11.3 I noticed that we can set to a keybinding. Which creates a nice input field in the sidebar to create the directory at the current selected position. ! But there is no possibility to do this for a file. Yes you can bind but it does not do the same thing. It just creates a new and when pressing <kbdcmd</kbd+ <kbds</kbdyou have to choose the destination in a picker. So, is it possible to add something for a new file as well? It would really improve my speed because I don't have to touch my mouse anymore to create a new named file in a specific directory.
sounds like a good example for a PR?
Yes I looked into it but to be honest, I have to clue where to start :). So if you can point me in the right direction, I would be very happy to do one :).
I would start by fulltext search for the action id () and that brings you here: From there you can get a feeling how this global action works and maybe add the new one. You will also see the one on top for creating an untitled file (which is not what you want). When you find the references of that action you will see where it is being registered to the system:
Alright, awesome. Thank you very much Will see what I can do :).


Question: desktop-file-install /usr/share/applications/@@NAME@@-url-handler.desktop fi <ins> # Update mimetype database to pickup workspace mimetype if hash update-mime-database 2>/dev/null; then update-mime-database /usr/share/mime fi </ins> if [ "@@NAME@@" != "code-oss" ]; then # Remove the legacy bin command if this is the stable build if [ "@@NAME@@" = "code" ]; then

A Visual Studio Code workspace file is currently recognised in Linux as a normal plain text file. This is because there isn't a MIME type for this file. Applications can provide additional MIME types as described here: Not having a MIME type has a couple of issues, for example the files are shown as plain text files in the GUI, which makes it hard to distinguish source code files from the workspace file. This slows down navigating to a workspace and opening it. Find the workspace in the following screenshot ! It's currently impossible to theme such a file because it's not seen as a different MIME type:
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.461 --<!-- potentialduplicatescomment --
This also means that you can't make double clicking the workspace from a file browser open it in vscode, unless you're OK with all text files opening in vscode, which is probably not what most folks want.
This bug has been fixed in to the latest release of ! you can help us out by confirming things are working as expected in the latest Insiders release. If things look good, please leave a comment with the text to let us know. If not, please ensure you're on version of Insiders (today's or later - you can use in the command pallete to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
Hi can you verify this issue? Check out the previous comment.
I tried to verify this but am not sure how to do this myself. I've not used desktop linux extensively; I tried reinstalling Insiders from the on Lubuntu to see if it associated files with VS Code, but that didn't happen.
Verified by installing insiders from on Ubuntu and was able to see mimetype and set a custom icon ! upon uninstalling it was removed.


Question: resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-7.0.1.tgz#8118a32b02735dccd14f893b495fa5389ad7de79" integrity sha512-zQ5U/nuXAAMsh691FtV0wPz89nSkHbs+IQV8FDk+wew9BlSDhf4UmWGlWJfTR2Ti6xZv87Tj5fENzKf6Qk7aLw== <del> xterm-addon-search@0.9.0-beta.21: version "0.9.0-beta.21" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.21.tgz#5348fe25676cdd89ce3be52ae62a316b6f266176" integrity sha512-jh6kfRCpWRvZZkV9QghFYesSYHjybaLNEyYAD6uilZYfNHoGLa0zPgUkLOqoECL7K6rhBmSYOkKbc9MG4wNFMQ== </del> <ins> xterm-addon-search@0.9.0-beta.22: version "0.9.0-beta.22" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.22.tgz#18f2eabda82709cdd64dee003879b586869e28a3" integrity sha512-1I8W0bwjg6bUoNaESKHSkS9BN3Z9Xe44/zbUb6Un+pbb5Nun4LQvFwSLkAIdRrslxcbcHYIU/2Q7F1wCOWLbaA== </ins> xterm-addon-unicode11@0.4.0-beta.3: version "0.4.0-beta.3" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.3.tgz#f350184155fafd5ad0d6fbf31d13e6ca7dea1efa" integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q== <del> xterm-addon-webgl@0.12.0-beta.28: version "0.12.0-beta.28" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.28.tgz#252f88fd15816c23789659a0e2545682cf1eec9c" integrity sha512-xpqZRYlyv+aNdDl46W2Hi2fxakNvdJDmWhOwGHPjOmex+kOYdBvVn4rRZmJ7xrKFuQVOfzb3SQCmpZ/njCpBJA== </del> <ins> xterm-addon-webgl@0.12.0-beta.29: version "0.12.0-beta.29" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.29.tgz#7a508595c4521d14d7ed4315a121f9e3f230a0f0" integrity sha512-NcZBsD0ar3ZpQX070hDIsyEBl/StRMNu6U+9crNpiD2rQVfkM1vcWkOv31Zlj3eu6/f8z5aStyZLRMCGFwiRbA== </ins> <del> xterm@4.19.0-beta.24: version "4.19.0-beta.24" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0-beta.24.tgz#12b62877d4cf133f4626db3a15f6ed267b3bbcb5" integrity sha512-GydvC2ExdsfjkiXhUVuZtDhc89IZfyMLFgw/nwWHrvkyq4iCVsHbMloEObV3lZmv+0oRpcGtTiorfzdWGiHG0A== </del> <ins> xterm@4.19.0-beta.25: version "4.19.0-beta.25" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0-beta.25.tgz#38f92d0fef1cfdb290ef8994449a04fa1a8c90a7" integrity sha512-pDiMWKN1Cj4+X/K9Xegp0SA0ZDEGVqiq7RPSy8oZO2wo2rze1BF20PAZb3/RSp30eY5WyOKilKnck4yNOsPzHw== </ins>

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.67.0-insiders OS Version: macOS 12.3.1 Steps to Reproduce: the terminal scrollback to 30'000 for With version 1.65.0 this was not a problem, but there was no highlighting. It would be enough if I can disable the highlighting or disable the highlighting automatically if the history is longer than x lines. https://user-
That doesn't look or feel slow to me - can you elaborate on what the issue you're dealing with is?
Is it Upstream or VSCode Core.
Happens for me too, when you search then type abs quickly and it takes ~5-10 seconds for the letters to appear, same goes with erasing letters.
Search is fast now but matches info is not being shown -


Question: Sleep(1000); end; <del> Exec(ExpandConstant('{app}inno_updater.exe'), ExpandConstant('"{app}{#ExeBasename}.exe" ' + BoolToStr(LockFileExists())), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); </del> <ins> Exec(ExpandConstant('{app}toolsinno_updater.exe'), ExpandConstant('"{app}{#ExeBasename}.exe" ' + BoolToStr(LockFileExists())), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); </ins> end; end;

Bug ! vscode-inno- VS Code version: Code - Insiders 1.21.0-insider (, 2018-02-09T06:14:31.856Z) OS version: Windows_NT ia32 6.1.7601 <details<summarySystem Info</summary </detailsExtensions: none Reproduces without extensions
Thanks! Very interesting. Can you somehow check which process has an open handle on ? I usually use for this.
I have the same problem. Using Process Hacker, I got this result: !. Even after closing MEGAsync, I still get this problem. ! Here's the content of the log file: The last line means .
!
When VS Code isn't running, I can move/rename this file without problems.
BTW, my OS is Windows 7 Pro x64, not "Windows_NT ia32 6.1.7601" as reported by VS Code. What's your OS?
I'm on Windows 7 Pro x86 (6.1.7601 Service Pack 1 version 7601). I haven't tested on other architectures yet.
Love it that you guys are already collecting stuff for me. I'm getting a Windows 7 image and trying it out. Can you also give me the list of extensions you currently have installed?
It works for me: Windows 10 Home(Build .rs2_release.-1834) I'm paying attention to the next updates, perhaps I can give you the needle of information.
has no extensions it seems (according to his first post). For my part, I have plenty ones: <details<summaryExtensions</summary- Bracket Pair Colorizer C/C++ C# Clang-Format CMake Code Runner cpplint Debugger for Chrome Doxygen Doxygen Documentation Generator Git History Git Project Manager gitignore GitLens - Git supercharged HTML CSS Support HTML Snippets IntelliSense for CSS class names JavaScript (ES6) code snippets jshint LaTeX Compile LaTeX Preview LaTeX Workshop latex-formatter Markdown All In One Markdown PDF Markdown Preview Enhanced markdownlint mssql npm One Dark Pro PHP Debug PHP IntelliSense PowerShell Python Unicode Latex VS Live Share vscode-icons vscode-pdf </details
I could easily reproduce in Windows 7!
Perfect :)
I am having an issue updating Visual Studio Code - Insider's Build,


Question: Sleep(1000); end; <del> Exec(ExpandConstant('{app}inno_updater.exe'), ExpandConstant('"{app}{#ExeBasename}.exe" ' + BoolToStr(LockFileExists())), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); </del> <ins> Exec(ExpandConstant('{app}toolsinno_updater.exe'), ExpandConstant('"{app}{#ExeBasename}.exe" ' + BoolToStr(LockFileExists())), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); </ins> end; end;

The log output from the installer is shown below: Feb 12 13:40:40.605 INFO Starting: C:Program FilesMicrosoft VS Code InsidersCode - , true Feb 12 13:40:40.668 INFO Checking for running Code - processes. (attempt 1) Feb 12 13:40:40.681 INFO Code - is running, wait a bit Feb 12 13:40:41.182 INFO Checking for running Code - processes. (attempt 2) Feb 12 13:40:41.193 INFO Code - is running, wait a bit Feb 12 13:40:41.694 INFO Checking for running Code - processes. (attempt 3) Feb 12 13:40:41.706 INFO Code - is running, wait a bit Feb 12 13:40:42.206 INFO Checking for running Code - processes. (attempt 4) Feb 12 13:40:42.218 INFO Code - is running, wait a bit Feb 12 13:40:42.719 INFO Checking for running Code - processes. (attempt 5) Feb 12 13:40:42.729 INFO Code - is running, wait a bit Feb 12 13:40:43.230 INFO Checking for running Code - processes. (attempt 6) Feb 12 13:40:43.240 INFO Code - is running, wait a bit Feb 12 13:40:43.741 INFO Checking for running Code - processes. (attempt 7) Feb 12 13:40:43.749 INFO Code - is running, wait a bit Feb 12 13:40:44.250 INFO Checking for running Code - processes. (attempt 8) Feb 12 13:40:44.258 INFO Code - is not running Feb 12 13:40:44.267 INFO Starting update, silent = true Feb 12 13:40:44.267 INFO doupdate: "C:Program FilesMicrosoft VS Code InsidersCode - ", Feb 12 13:40:44.373 INFO header: Header, id: Inno Setup Uninstall Log (b) 64-bit, app id: {1287CAD5-7C8D-410D-88B9-0D1EE4A83FF2},


Question: Sleep(1000); end; <del> Exec(ExpandConstant('{app}inno_updater.exe'), ExpandConstant('"{app}{#ExeBasename}.exe" ' + BoolToStr(LockFileExists())), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); </del> <ins> Exec(ExpandConstant('{app}toolsinno_updater.exe'), ExpandConstant('"{app}{#ExeBasename}.exe" ' + BoolToStr(LockFileExists())), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); </ins> end; end;

app name: Visual Studio Code - Insiders, version: 1048, num recs: , end offset: , flags: 0x35, crc: 0x545ea7d9 Feb 12 13:40:44.374 INFO numrecs: Feb 12 13:40:44.374 INFO moveupdate: "C:Program FilesMicrosoft VS Code Insiders", _ Feb 12 13:40:44.374 INFO Delete: "bin" (attempt 1) Feb 12 13:40:44.374 INFO Delete: "Code - " (attempt 1) Feb 12 13:40:44.425 INFO Delete: "Code - " (attempt 2) Feb 12 13:40:44.626 INFO Delete: "Code - " (attempt 3) Feb 12 13:40:45.077 INFO Delete: "Code - " (attempt 4) Feb 12 13:40:45.877 INFO Delete: "Code - " (attempt 5) Feb 12 13:40:47.128 INFO Delete: "Code - " (attempt 6) Feb 12 13:40:48.929 INFO Delete: "Code - " (attempt 7) Feb 12 13:40:51.379 INFO Delete: "Code - " (attempt 8) Feb 12 13:40:54.585 INFO Delete: "Code - " (attempt 9) Feb 12 13:40:58.636 INFO Delete: "Code - " (attempt 10) Feb 12 13:41:03.636 INFO Delete: "Code - " (attempt 11) Feb 12 13:41:03.650 ERRO Access is denied. (os error 5) I suspect that this has quite a bit to do with how this laptop is configured by our IT dept. I am connected to a local domain with standard user privileges. In order to install any software on the laptop I am required to enter my local administrator account privileges. VSCode installs and runs just fine, the issue occurs when VSCode is self-updating. Once VSCode is loaded, it reports that it has an update and I click "Install Update..." when I click on the gear icon. VSCode then downloads the update.


Question: Sleep(1000); end; <del> Exec(ExpandConstant('{app}inno_updater.exe'), ExpandConstant('"{app}{#ExeBasename}.exe" ' + BoolToStr(LockFileExists())), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); </del> <ins> Exec(ExpandConstant('{app}toolsinno_updater.exe'), ExpandConstant('"{app}{#ExeBasename}.exe" ' + BoolToStr(LockFileExists())), '', SW_SHOW, ewWaitUntilTerminated, UpdateResultCode); </ins> end; end;

When it completes the download, it requests that I restart VSCode and that's when this error is generated. I've tried running VSCode as the local administrator and follow the same steps above, but the issue still persists, any help that you can provide will be much appreciated!
What is your Windows version?
Oh, it looks like is loading up that DLL! Gotta figure out how to prevent it from doing so.
I saw your commit I tried to update my VSCode application after that but it doesn't seems to works. Though, I don't have the same errors. When I hit "Restart", I got this message error: ! The differences between the old problem: There is no more the little window telling that VSCode is updating (see below) ! The log file is different: EDIT: I'm still on the same architcture. Windows 7 Pro x86 (6.1.7601 Service Pack 1 version 7601)
- Windows 10 / Version 1703 / OS Build .850
Easy, I still haven't pushed the fix.
Oh... Indeed! Sorry about this, I thought changes were effective since I didn't get the same errors. I wanted to provide a little more information not putting any pressure on this. Thanks for your involvment in this issue, I'll be more careful next time! :)
OK pushed a fix to . Guys, tomorrow there'll be a new version. The background update step to get that version, from the current one, will still fail. But background updates should work successfully from that build onwards. So, make sure you get that build from tomorrow and try to get a background update Thursday or Friday. Let me know how that goes.
Your issue is separate. Let's move our discussion over here:
Nothing failed, it has simply successfully updated. :+1: !
Alright, I uninstalled VScode yesterday, reinstalled it and today, the background update worked, just as you said. Thanks once again! o/
Marking as verified. I use background update on Windows and it doesn't fail for me.


Question: const shell = this._configurationService.getValue(TerminalSettingPrefix.Shell + platform); const shellArgs = this._configurationService.getValue(TerminalSettingPrefix.ShellArgs + platform); const profile = await this._terminalProfileResolverService.createProfileFromShellAndShellArgs(shell, shellArgs); <del> if (profile) { this._configurationService.updateValue(TerminalSettingPrefix.DefaultProfile + platform, profile.profileName); this._configurationService.updateValue(TerminalSettingPrefix.Shell + platform, undefined); this._configurationService.updateValue(TerminalSettingPrefix.ShellArgs + platform, undefined); this._logService.trace(`migrated from shell/shellArgs, ${shell} ${shellArgs} to profile ${JSON.stringify(profile)}`); </del> <ins> if (typeof profile === 'string') { await this._configurationService.updateValue(TerminalSettingPrefix.DefaultProfile + platform, profile); this._logService.trace(`migrated from shell/shellArgs, using existing profile ${profile}`); </ins> } else { <del> this._logService.trace('migration from shell/shellArgs to profile did not occur bc created profile was an exact match for existing one', shell, shellArgs); </del> <ins> const profiles = this._configurationService.inspect<{ [key: string]: ITerminalProfileObject }>(TerminalSettingPrefix.Profiles + platform).userValue || {}; const profileConfig: ITerminalProfileObject = { path: profile.path }; if (profile.args) { profileConfig.args = profile.args; } profiles[profile.profileName] = profileConfig; await this._configurationService.updateValue(TerminalSettingPrefix.Profiles + platform, profiles); await this._configurationService.updateValue(TerminalSettingPrefix.DefaultProfile + platform, profile.profileName); this._logService.trace(`migrated from shell/shellArgs, ${shell} ${shellArgs} to profile ${JSON.stringify(profile)}`); </ins> } <ins> await this._configurationService.updateValue(TerminalSettingPrefix.Shell + platform, undefined); await this._configurationService.updateValue(TerminalSettingPrefix.ShellArgs + platform, undefined); </ins> } } as IPromptChoice, ],

Testing With the following settings: I saw the terminal migration notification and then clicked "Migrate", and my settings changed to: Which is defintely not what I expected to happen.
Perhaps if the shell/shellArgs match one of the detected profiles, the name of that profile can be used? So in the sample above,
I'm also kinda confused by this... here's what I had: and it turned it into:
The behavior should be: If there is an exact match (eg. just ), it should assign the existing profile as the default (). If there is not an exact match (eg. ), it should add the profile to the list and set it as the default. As for the name maybe something like would be best.
To verify, see and try other combinations
or could you pls verify this?
with the following: I don't get a notification. Is that expected?
If you've already said don't show again to the notification in that workspace, yes.
ah... I hit the which didn't show the notification until I reloaded the window.
that was another fix that went in to make sure we're not annoying
Migration doesn't seem to be working for me. Here's a gif: ! These are the same settings as here
Ah looks like if I already define then this migration doesn't work. If I delete that setting (and use instead as the default profile, the migration works.
Meaning if you set the to the name of a profile that already exists within your it doesn't work? I think that's by design.
Gotcha. The only thing I'll mention is this, with a defined does not prompt me: but this without it defined does prompt me:
I guess I would expect the migration to still happen (and a new profile be to my existing ) but maybe that's out of scope.
That seems wrong. It should happen as long as you haven't said don't show again. I'll try it.
ah... just opened dev tools:
it's working for me on Windows.
Hmm what does that mean?
Here's a repro on non-Windows without PowerShell:
any errors in dev tools with that repro? can you turn on trace logging? and search for 'migrat'
Beyond this: I don't see anything... which Output should I dig into specifically?
Run set log level -trace -open developer tools.


Question: const shell = this._configurationService.getValue(TerminalSettingPrefix.Shell + platform); const shellArgs = this._configurationService.getValue(TerminalSettingPrefix.ShellArgs + platform); const profile = await this._terminalProfileResolverService.createProfileFromShellAndShellArgs(shell, shellArgs); <del> if (profile) { this._configurationService.updateValue(TerminalSettingPrefix.DefaultProfile + platform, profile.profileName); this._configurationService.updateValue(TerminalSettingPrefix.Shell + platform, undefined); this._configurationService.updateValue(TerminalSettingPrefix.ShellArgs + platform, undefined); this._logService.trace(`migrated from shell/shellArgs, ${shell} ${shellArgs} to profile ${JSON.stringify(profile)}`); </del> <ins> if (typeof profile === 'string') { await this._configurationService.updateValue(TerminalSettingPrefix.DefaultProfile + platform, profile); this._logService.trace(`migrated from shell/shellArgs, using existing profile ${profile}`); </ins> } else { <del> this._logService.trace('migration from shell/shellArgs to profile did not occur bc created profile was an exact match for existing one', shell, shellArgs); </del> <ins> const profiles = this._configurationService.inspect<{ [key: string]: ITerminalProfileObject }>(TerminalSettingPrefix.Profiles + platform).userValue || {}; const profileConfig: ITerminalProfileObject = { path: profile.path }; if (profile.args) { profileConfig.args = profile.args; } profiles[profile.profileName] = profileConfig; await this._configurationService.updateValue(TerminalSettingPrefix.Profiles + platform, profiles); await this._configurationService.updateValue(TerminalSettingPrefix.DefaultProfile + platform, profile.profileName); this._logService.trace(`migrated from shell/shellArgs, ${shell} ${shellArgs} to profile ${JSON.stringify(profile)}`); </ins> } <ins> await this._configurationService.updateValue(TerminalSettingPrefix.Shell + platform, undefined); await this._configurationService.updateValue(TerminalSettingPrefix.ShellArgs + platform, undefined); </ins> } } as IPromptChoice, ],

you should see a migration message. migrated from shell/shellArgs...
I wonder if this could be the issue
Hmmm I don't see
The fix here is probably:
Even better is marking the type as readonly too:
We might be able to catch this in the future with
I don't understand what's going wrong here though - if userValue is undefined, profiles get set to already
I'd think making it readonly would be even worse since then we can't add properties to it - such as the newly created profile
Which works fine, the failure case was when had profiles set. The there just corrects the type we're receiving from the config service
ok, should this be a candidate or moved to June?
I think it meets the candidate bar, we really want migration to be solid


Question: } .monaco-shell .monaco-menu .monaco-action-bar.vertical .submenu-indicator { <del> font-size: inherit; padding: 0 1em; </del> <ins> font-size: 60%; padding: 0 1.8em; </ins> } .monaco-shell .monaco-menu .action-item {

Opening the view menu I only see them screaming at me due to their size. Can we somehow decrease their size. The native mac arrows are slightly smaller. While visual studio on windows uses a much smaller version ! !
VSCode uses Electron's toolbar if I'm not mistaken. It is basically menus in Chromium and the drop down menu in Chrome, which have arrows larger then those shown in the screenshots. So unless the toolbar can be customized, I don't think it's possible to tweak the arrow size without creating a custom toolbar. Please correct me if I get anything wrong. Thank you.
This is the custom toolbar on the windows we are currently working on. So we could customize it here imho
+1 I think the arrow could be reduced a bit


Question: .monaco-workbench .part.basepanel > .content .scm-view .scm-editor-container .monaco-editor .margin, .monaco-workbench .part.basepanel > .content .scm-view .scm-editor-container .monaco-editor .monaco-editor-background { color: inherit; <del> background-color: unset </del> <ins> background-color: var(--vscode-input-background); </ins> } .scm-view .scm-editor-container .mtk1 {

Here's a recording demonstrating Insiders (left) and previous Stable 1.74 (right): https://user- Steps: the SCM view and add a long line the width of the side bar such that the text wraps Notice how: When selecting the entire buffer, the selection expands beyond the text When selecting a subrange, sometimes the start position of the selection moves The rounded corners is generally broken: not all corners are rounded any more. This applies even for 1.74.
points to and a manual bisect points to being the first bad commit
Reverting from the change fixes the rendering problem. This diff fixes the rendering problem: The root problem here is that it is not supported that the editor background color is transparent. The class name ".monaco-editor-background" is used to render rounded corners and that stops working if it is transparent.
Thank you Tested the changes the created a PR.
Thanks for fixing. This has been on my list for weeks and I've just been, well, slammed


Question: return { position: this._showAtPosition, range: this._showAtRange, <del> preference: [ </del> <ins> preference: this._preferBelow ? [ ContentWidgetPositionPreference.BELOW, </ins> ContentWidgetPositionPreference.ABOVE, <del> ContentWidgetPositionPreference.BELOW ] </del> <ins> ] : [ ContentWidgetPositionPreference.ABOVE, ContentWidgetPositionPreference.BELOW, ], </ins> }; } return null;

Issue Type: <bFeature Request</bI want the message could display under the variables it refers to. Because the message box blocks the code over the current line. Thank you. VS Code version: Code 1.36.1 (, 2019-07-08T22:59:35.033Z) OS version: Windows_NT x64 10.0.


Question: } const actions = this.getFixAllActions(context.only); <del> if (this.client.bufferSyncSupport.hasPendingDiagnostics(document.uri)) { return actions; } </del> const diagnostics = this.diagnosticsManager.getDiagnostics(document.uri); if (!diagnostics.length) { // Actions are a no-op in this case but we still want to return them

Type: <bBug</bwith the following code in a javascript file: the symbol "UserClient" which is missing an import is not automatically imported. if i only remove the JSDoc Comment then it is already working. if i remove the return statement it is also working. i tried it with all extensions disabled, nothing. please fix this. VS Code version: Code 1.72.2 (, 2022-10-12T22:15:18.074Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: No <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ lit-html1.11.1 vscode-html-css1.13.1 lit-lang0.0.7 prettier-vscode9.9.0 csharp1.25.0 powershell2022.10.0 vscode-xml0.22.0 lit-plugin1.2.4 markdown-preview-enhanced0.6.3 blueprint3.0.0 markdown-all-in-one3.4.3 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Please share a minimal, self contained project that demonstrates the issue
Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our . Please take the time to review these and update the issue. Happy Coding!
note: is just a bundled version of the lit-html plugin. the project i'm using works has the requirement to work without any kind of build so we bundled the only npm dependency it had into this file. still looking for a better solution though...
I'm facing the same issue. and get executed as expected, but seems to not working. To reproduce, just open a TS project, set the to the option, remove an import from any source file and save. The imports gets organized but the missing imports doesn't get imported.
I even noticed that it still works under certain circumstances. like in my demo project, if you remove the JSDoc comment. something in the code context seems to be killing the import feature. but manual import still works (like with hovering the item, quick fix, import)
any updates, info requests, anything? did you find a lead, can you work on it?


Question: } const actions = this.getFixAllActions(context.only); <del> if (this.client.bufferSyncSupport.hasPendingDiagnostics(document.uri)) { return actions; } </del> const diagnostics = this.diagnosticsManager.getDiagnostics(document.uri); if (!diagnostics.length) { // Actions are a no-op in this case but we still want to return them

can you fix it?
I can confirm this issue, I can trigger the autocomplete for the import with either ctrl+space or ctrl+. however it is not automatically on save even with enabled. This feature was working for me some time ago, but I can no longer get it to work.
Any fix yet?
Changing the order to solved the problem for me.


Question: import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { IExtensionTerminalProfile, ITerminalProfile, TerminalLocation, TerminalSettingId } from 'vs/platform/terminal/common/terminal'; import { ResourceContextKey } from 'vs/workbench/common/contextkeys'; <ins> import { TaskExecutionSupportedContext } from 'vs/workbench/contrib/tasks/common/taskService'; </ins> import { ICreateTerminalOptions, ITerminalLocationOptions, ITerminalService } from 'vs/workbench/contrib/terminal/browser/terminal'; import { TerminalCommandId, TERMINAL_VIEW_ID } from 'vs/workbench/contrib/terminal/common/terminal'; import { TerminalContextKeys, TerminalContextKeyStrings } from 'vs/workbench/contrib/terminal/common/terminalContextKey';

Could look like this, but have and/or tasks entries as well as a one. Hiding it by default is a good way to avoid cluttering the action bar - so people only see it if they want to <img width="285" alt="Screen Shot 2022-09-30 at 12 56 57 PM" src="https://user-"
cc
Talked w Kai and we're thinking to instead add a action to the terminal dropdown which aligns with the menu and will aid in discoverability !


Question: provideContent(): string { this._element = document.activeElement as HTMLElement; const content: string[] = []; <ins> content.push(CommentAccessibilityHelpNLS.introWidget); </ins> content.push(CommentAccessibilityHelpNLS.escape); content.push(this._descriptionForCommand(CommentCommandId.Add, CommentAccessibilityHelpNLS.addComment, CommentAccessibilityHelpNLS.addCommentNoKb)); <ins> content.push(this._descriptionForCommand(CommentCommandId.Submit, CommentAccessibilityHelpNLS.submitComment, CommentAccessibilityHelpNLS.submitCommentNoKb)); </ins> content.push(this._descriptionForCommand(CommentCommandId.NextRange, CommentAccessibilityHelpNLS.nextRange, CommentAccessibilityHelpNLS.nextRangeNoKb)); content.push(this._descriptionForCommand(CommentCommandId.PreviousRange, CommentAccessibilityHelpNLS.previousRange, CommentAccessibilityHelpNLS.previousRangeNoKb)); <del> content.push(this._descriptionForCommand(CommentCommandId.Submit, CommentAccessibilityHelpNLS.submitComment, CommentAccessibilityHelpNLS.submitCommentNoKb)); return content.join('nn'); </del> <ins> return content.join('n'); </ins> } onClose(): void { this._element?.focus();

As a result of the discussion in , we should format each command, description, and keybinding more consistently and limit redundancy.
/closedWith though still need to do the same for the chat help dialogs


Question: }, }, { <ins> id: 'installGit', title: localize('gettingStarted.installGit.title', "Install Git"), description: localize('gettingStarted.installGit.description.interpolated', "Install Git to track changes in your projects.n{0}", Button(localize('installGit', "Install Git"), 'https://aka.ms/vscode-install-git')), when: 'git.missing', media: { type: 'svg', altText: 'Install Git.', path: 'git.svg', }, }, { </ins> id: 'tasks', title: localize('gettingStarted.tasks.title', "Automate your project tasks"), when: 'workspaceFolderCount != 0 && workspacePlatform != 'webworker'',

<!-- 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. --This could include platform specific instructions. Curious to know which platforms we're talking about here... Windows for sure but what else? Does Raspbian ship git?
Hi, I would like to work on this please assign this to me.
thanks! We cannot assign you as you are not a member of this issue, but please feel free to submit a PR. The relevant code is here:
I can take this up if it's not already done. Could you elaborate on what new step needs to be ?
hello guys, i'm really trying to get started in contributing to open how i get started here?
Hello this is my first time contributing to an open source project and I'm willing to work on this issue. I just set this repo up on my machine and its working. I had a look at the file you've shared and there are conditions for few steps which checks if git is missing. So, I tried simulating the inexistence of git just by disabling it in vs code settings. Is that fine? And also, should there be a button which says "Install Git"? If yes, what should it be linked to? !
We can use I recommend testing this by fully removing git if at all possible, otherwise there my be unexpected behaviors when a new users is actually running this for the first time.
Is this complete, or I can still work on this?
I am not aware of any work done here.
Could you assign it to me? I would like to work on this quickly. Edit I guess, Only members can be assigned. So, I will open a PR and link to this issue.
Hello, I'm sorry I should've kept you updated but I've made those changes and I just have to test it out by uninstalling git.
I have tested with uninstalling git. Can I take this?
Omg I just did that to push. What do we do?
Just tested this on Windows, and the "Install Git" item is marked as ticked when you click on the "Install Git" button regardless of whether you have actually installed Git - is this expected?


Question: }, }, { <ins> id: 'installGit', title: localize('gettingStarted.installGit.title', "Install Git"), description: localize('gettingStarted.installGit.description.interpolated', "Install Git to track changes in your projects.n{0}", Button(localize('installGit', "Install Git"), 'https://aka.ms/vscode-install-git')), when: 'git.missing', media: { type: 'svg', altText: 'Install Git.', path: 'git.svg', }, }, { </ins> id: 'tasks', title: localize('gettingStarted.tasks.title', "Automate your project tasks"), when: 'workspaceFolderCount != 0 && workspacePlatform != 'webworker'',

Or would it be better to only tick the button when an installation of git is detected? The screenshot below shows that I clicked the button but didn't actually install Git. The item is ticked but attempting to run git in the terminal (or git pane) fails !
good idea, changed so that the item checks off when git is initialized.
Ohh yaa..I did not notice that Thanks for fixing it ! :)
I uninstalled git and reloaded to see the new "Install git" item. Then, I installed git, but the item wasn't checked off, and I wasn't sure what to run to get the item to check off. After reloading again, I didn't see the item. I uninstalled git again and reloaded. The item showed up, but checked off this time. I unchecked the item and reinstalled git, and ran git in the terminal, and the item still wasn't checked off. I switched workspaces, and I didn't see the item again.
Can we have which checks if git is installed when we reach this step?
No, it should work based on context keys, which have change events.
Ohh okay
Hi. What is the current status of this issue? Is there a bug for the current implementation? I can work on it if no one is working and someone gives me the context. Thanks.
Isn't it the expected behavior? If VS Code is open and git is installed, even Source Control tab doesn't notice this change; a reload is required for that. If this is not the expected behavior and automatic discovery of git existence is necessary, then this tab should also be fixed. I assume the item can be checked off by clicking the checkbox or Mark Done text below. This is also an expected behavior, I think. For example; you customized your shortcuts using Customize your shortcuts, then this item is checked off. After then you reset shortcuts but the item is still checked off. You probably doesn't expect the opposite. Because you understand how to configure the option this item provides. I think the key of checking off here is understanding the option. Otherwise most items may be reversed and should not be checked off after the reverse. On the other hand I think your statement shows that the natural flow of the Install Git item doesn't suit well to a checklist.


Question: }, }, { <ins> id: 'installGit', title: localize('gettingStarted.installGit.title', "Install Git"), description: localize('gettingStarted.installGit.description.interpolated', "Install Git to track changes in your projects.n{0}", Button(localize('installGit', "Install Git"), 'https://aka.ms/vscode-install-git')), when: 'git.missing', media: { type: 'svg', altText: 'Install Git.', path: 'git.svg', }, }, { </ins> id: 'tasks', title: localize('gettingStarted.tasks.title', "Automate your project tasks"), when: 'workspaceFolderCount != 0 && workspacePlatform != 'webworker'',

I am not able to test this at the moment due to some system issues, but I would consider the following sufficient for marking this complete: a user does not have installed, a tile is shown pointing them to steps for installing git and notifying of a need to reload the window to complete installation. A button/link could be shown to trigger a reload. completing the installation and relaunching VS Code, the tile for installing git is no longer shown, and the tile explaining git use inside VS Code is shown instead. I believe today we have this minus the part where we explain that a reload is required to complete git installation and provide UI to facilitate the reload.
Updated step to include link to .


Question: import { Emitter, Event } from 'vs/base/common/event'; import { KeyCode } from 'vs/base/common/keyCodes'; import { Disposable, DisposableStore, dispose, isDisposable, toDisposable } from 'vs/base/common/lifecycle'; <del> import { isIOS, language } from 'vs/base/common/platform'; </del> <ins> import { isIOS } from 'vs/base/common/platform'; </ins> import { escapeRegExpCharacters } from 'vs/base/common/strings'; import { isDefined, isUndefinedOrNull } from 'vs/base/common/types'; import { localize } from 'vs/nls';

<img width="285" alt="image" src="https://user-"
strange as 1000 is a number <img width="1060" alt="Screenshot 2023-01-20 at 3 28 32 PM" src="https://user-"
value is here, not sure why <img width="1246" alt="Screenshot 2023-01-20 at 3 34 09 PM" src="https://user-"
Oh, changed the default value to 10 and it worked. I think 1000 is viewed as too high somewhere so it gets set to '' <img width="1052" alt="Screenshot 2023-01-20 at 3 39 55 PM" src="https://user-"
also tried because some other settings w high default values use that and it still didn't work
I some logging and it's because converts it to , and then the inputbox doesn't know how to handle the comma


Question: import { IPartService, Position } from 'vs/workbench/services/part/common/partService'; const SPLIT_PANE_MIN_SIZE = 120; <ins> const TERMINAL_MIN_USEFUL_SIZE = 250; </ins> class SplitPaneContainer { private _height: number;

With latest release (1.21) you can split terminal infinitely. This breaks badly the terminal area. Probably the IDE should limit this to a defined maximum or something?
I considered adding a max value but you would always be able to break it then by sizing down. As a mitigation we could disallow creating terminals if the desired room isn't there but the real fix is proper overflow behavior.
Thanks , I would agree that proper overflow behaviour is the way to go. Thanks!
I think the easiest way to improve this is to only allow terminals to be created if there's a reasonable amount of room. This can exist with our current lack of overflow behavior as it's an improvement on the current and will prevent 100 terminals from being created..
Some terminal can be resized to a small size if they are not important. In some case, showing multiple terminals is just to notify the user whether they are running. Currently the minimum size of terminal is too large.
I suggest the minimum size of a terminal should be an option in Settings.


Question: folder?: boolean; skipTrashBin?: boolean; maxSize?: number; <ins> contentsBase64?: string; </ins> } export interface IWorkspaceFileEdit {

Add support for setting the contents of files created by workspace edits My proposed would be to add a option to : For , we want to support copying images from desktop into with drag and drop. Right now we have to use the apis to create the image file Using a workspace edit would let us express the entire operation in a single , which will play more nicely with undo/redo
Looks like support for this may already exist internally: However getting a of new file data from the extension host to the main process may be tricky. We can only efficiently serialize a if it is a top level argument to an RPC call or if the entire object is wrapped in a (which has a perf cost). Open to ideas on how to handle this
I do like the and believe the cost is manageable - we don't send edits is large frequencies and of large sizes. I can take a look at this but it honestly is stretch for June - there is some debt in how workspace edits are represented on the wire and I would take this issue as a reason to clean things up
work started here: I didn't bother with or hoisting the data to the top but instead it uses quick and dirty base64 encoding. I'd suggest we go with that and see how it works out over time.


Question: "type": "object", "order": 20, "properties": { <ins> "php.builtInCompletions.enable": { "type": "boolean", "default": true, "description": "%configuration.builtInCompletions.enable%" }, </ins> "php.validate.enable": { "type": "boolean", "default": true,

There is now a better Intellisense plugins for Vscode PHP: and . In it's known issues it says "There may be duplicate suggestions for functions or variables. This is because VS Code has it's own (very limited) code-completion support for PHP, and there is currently no way to turn this off." This indeed is annoying, the vscode suggestions are too broad and are just noise compared to accurate entries by crane.
It should be possible to uninstall the VS Code php extension.
fyi
I think crane still uses vscode's syntax highlighter for PHP. So if one were to remove VSCode's internal PHP extension, would it also remove the syntax highlighter? P.S. I think simple options would suffice, e.g. "", so it could be turned off.
Yes - but we can also think about splitting our extension into one part that does highlighting and bracket config and another that does completions. That would allow for more freedom.
This is now annoying the testing of proper language server in here : Quote: P.S. I think the option would be a simplest thing to implement for now.
Related
Any update on this?
I have been holding back the PHP IntelliSense release with intelligent completion for over a month now because it is useless if VS Code just spams the completion list with countless functions that do not make sense in the context. When will we get the option to disable or uninstall the built-in PHP completion?
I agree it makes sense to provide a temporary option to disable this. Just submitted a PR here:
Also just checking - at this point in time, is there anything else about the built-in support that is interfering with the experience? (hover, signature help, etc.?)
thanks for looking into this. Signature help is being implemented right now, iirc there is no built-in hover. It would be great if all of them could be disabled (everything except syntax highlighting).
I pushed the PR and changes the setting name for the code completion to "". If disabled, hover and signature help are also disabled.
I don't think the setting achieves the desired result. Setting to I no longer get completion suggestions even from PHP Intellisense extension. If have to use to trigger the completion suggestions list.
I don't think this is related, this only removes the built-in completion provider.


Question: "type": "object", "order": 20, "properties": { <ins> "php.builtInCompletions.enable": { "type": "boolean", "default": true, "description": "%configuration.builtInCompletions.enable%" }, </ins> "php.validate.enable": { "type": "boolean", "default": true,

So something else which controls the display of suggestions list from extensions like php intellisense is broken?
Part of the January build. Add to your settings to disable all completions from the built-in PHP extension.


Question: constructor( private id: string, @IMenuService private readonly menuService: IMenuService <del> ) { super(); } </del> <ins> ) { } </ins> <del> /** * Caller is now responsible for disposing of the menu! */ getResourceActions(element: ITreeItem): { menu?: IMenu; actions: IAction[] } { const actions = this.getActions(MenuId.ViewItemContext, element, true); </del> <ins> getResourceActions(element: ITreeItem, disposableStore: DisposableStore): { menu?: IMenu; actions: IAction[] } { const actions = this.getActions(MenuId.ViewItemContext, element, disposableStore); </ins> return { menu: actions.menu, actions: actions.primary }; }

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: V1.81.1 OS Version: Linux kkuser-virtual-machine 5.15.0-83-generic ~20.04.1-Ubuntu SMP Mon Aug 21 14:00:49 UTC 2023 x8664 x8664 x8664 GNU/Linux Steps to Reproduce: are constant changes in attribute states in the treeview calls to () functions result in memory leakage
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.82.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!


Question: match acquire_singleton(&paths.tunnel_lockfile()).await { Ok(SingletonConnection::Client(stream)) => { debug!(log, "starting as client to singleton"); <ins> if gateway_args.name.is_none() || !gateway_args.install_extension.is_empty() || gateway_args.tunnel.tunnel_id.is_some() { warning!( log, "Command-line options will not be applied until the existing tunnel exits." ); } </ins> let should_exit = start_singleton_client(SingletonClientArgs { log: log.clone(), shutdown: shutdown.clone(),

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes (N/A) <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.88.1 OS Version: macOS Steps to Reproduce: the shell, run , UPDATE: the system need to have a existing tunnel already running that the machine name is always inferred from Hostname instead of the machine name set through <img width="931" alt="image" src=""
Update: I noticed the "Connected to an existing tunnel..." line, and if I kill the tunnel first using and run the same command, it would correctly set the machine name. I'll update the issue description to reflect that.
Yea, if there's an existing tunnel we just connect to it and never enter the process in which the name would be set. Renaming a running tunnel is also possible but could lead to unpredictable side effects. We should just log a warning in this case.
I'm not seeing any warning:
still no warning. I made sure I was on the latest !
in your screenshot you can see the warning which is what I for this.


Question: font-family: var(--monaco-monospace-font); font-size: 12px; color: var(--vscode-textPreformat-foreground); <del> background-color: var(--vscode-textPreformat-background); </del> padding: 2px 5px; border-radius: 4px; }

Expected ! Actual !
Regressed in
The markdown preview in the chat is also broken for Dark Modern but is fixed by your change: !
And the markdown preview in the settings editor: !
I looked into this some more and have the following findings block rendering is broken for Dark Modern, Light Modern, Dark HC and Light HC What changed: we a new theme token, , adopted it in and , and updated the values for to look good with a different background color But we didn't adopt token for blocks in Markdown previews, which is why is broken for Markdown preview Some options Adopt for blocks in Markdown preview -- this amounts to a rather drastic styling change for Markdown previews ! Revert Revert the change to and drop the usage of so that Markdown preview, chat, and settings UI are in a reasonable state for all themes, which I attempted in
Also affects the Extensions Details page since it is a Markdown preview !
Verification: for Light/Dark Modern and Light/Dark HC, make sure that blocks are properly rendered in Markdown preview, settings UI and chat


Question: <ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; import { CellKind } from 'vs/workbench/contrib/notebook/common/notebookCommon'; import { withTestNotebook } from 'vs/workbench/contrib/notebook/test/browser/testNotebookEditor'; import { ensureNoDisposablesAreLeakedInTestSuite } from 'vs/base/test/common/utils'; import { Event } from 'vs/base/common/event'; suite('CellDecorations', () => { ensureNoDisposablesAreLeakedInTestSuite(); test('Add and remove a cell decoration', async function () { await withTestNotebook( [ ['# header a', 'markdown', CellKind.Markup, [], {}], ], async (editor, viewModel) => { const cell = viewModel.cellAt(0); assert.ok(cell); let added = false; Event.once(cell.onCellDecorationsChanged)(e => added = !!e.added.find(decoration => decoration.className === 'style1')); const decorationIds = cell.deltaCellDecorations([], [{ className: 'style1' }]); assert.ok(cell.getCellDecorations().find(dec => dec.className === 'style1')); let removed = false; Event.once(cell.onCellDecorationsChanged)(e => removed = !!e.removed.find(decoration => decoration.className === 'style1')); cell.deltaCellDecorations(decorationIds, []); assert.ok(!cell.getCellDecorations().find(dec => dec.className === 'style1')); assert.ok(added); assert.ok(removed); }); }); test('Removing one cell decoration should not remove all', async function () { await withTestNotebook( [ ['# header a', 'markdown', CellKind.Markup, [], {}], ], async (editor, viewModel) => { const cell = viewModel.cellAt(0); assert.ok(cell); const decorationIds = cell.deltaCellDecorations([], [{ className: 'style1', outputClassName: 'style1' }]); cell.deltaCellDecorations([], [{ className: 'style1' }]); let styleRemoved = false; let outputStyleRemoved = false; Event.once(cell.onCellDecorationsChanged)(e => { styleRemoved = !!e.removed.find(decoration => decoration.className === 'style1'); outputStyleRemoved = !!e.removed.find(decoration => decoration.outputClassName === 'style1'); }); // remove the first style added, which should only remove the output class cell.deltaCellDecorations(decorationIds, []); assert.ok(!cell.getCellDecorations().find(dec => dec.outputClassName === 'style1')); assert.ok(cell.getCellDecorations().find(dec => dec.className === 'style1')); assert.ok(!styleRemoved); assert.ok(outputStyleRemoved); }); }); }); </ins>

Steps to Reproduce: a notebook with a markdown cell that has multiple headers e.g. the preview for the markdown cell - shift+enter symbols quickpick ctrl+shift+o and arrow down through the symbols list :bug: cell decoration appears for the first item but then is removed for the second


Question: // The widget's position is undefined until the widget has been displayed, so rely on the glyph position instead const existingCommentsAtLine = this._commentWidgets.filter(widget => widget.getGlyphPosition() === commentRange.endLineNumber); if (existingCommentsAtLine.length) { <del> existingCommentsAtLine.forEach(widget => widget.toggleExpand()); </del> <ins> const allExpanded = existingCommentsAtLine.every(widget => widget.expanded); existingCommentsAtLine.forEach(allExpanded ? widget => widget.collapse() : widget => widget.expand()); </ins> this.processNextThreadToAdd(); return; } else {

VSCode Version: 1.36.0 OS Version: Windows 10 Repro steps: Live Share extension 1.0.488, start a collaboration session two comment threads on a single line. Comment on a line, 3 for example Comment on a second line, 4 for example Delete line 3 Now there are two comment threads on line 3 (the line that moved up from 4) /Collapse the comments with the marker Collapsing/opening such comments might need a rework. Currently I can collapse each individually, and if all are collapsed (or all open), the box on the gray line opens (or closes) all threads. However, if only some of the threads are collapsed, the gray box toggles between the set of open threads and the threads which were collapsed. It never collapses all threads to return to code, and requires each remaining thread to be collapsed individually. Originally reported in Live Share issue
As I was just about to file the same thing, here is the screencast I created for illustration: !
I agree the current behavior is a bit confusing. Clicking in the gutter is a common way to collapse open comments. However, the workflow fails when multiple comments are on the same line. This forces the user to think and use the alternative workflow (top-right icon). Suggested behavior: if at least one comment is expanded, collapse all comments on the line otherwise, expand all the comments The condition could also be reversed (expand if the line has both expanded and collapsed comments).
Since we just came across the relevant code again in another context: clicks on the gutter icon currently toggle the collapsible states for all threads on that line independently here: already exists as a private property, if there was a public getter for it, behavior like the one suggested by above could probably be implemented very locally in the location I linked to above. let us know if that sounds reasonable and we can make a PR.
yes, this sounds reasonable to me. l would accept a PR!
I opened .


Question: this.renderTree(undefined, forceRefresh); } else { this.settingsTreeModel = this.instantiationService.createInstance(SettingsTreeModel, this.viewState, this.workspaceTrustManagementService.isWorkspaceTrusted()); <del> this.settingsTreeModel.update(resolvedSettingsRoot); this.tocTreeModel.settingsTreeRoot = this.settingsTreeModel.root as SettingsTreeGroupElement; </del> <ins> this.refreshModels(resolvedSettingsRoot); </ins> // Don't restore the cached state if we already have a query value from calling _setOptions(). const cachedState = !this.viewState.query ? this.restoreCachedState() : undefined;

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Unknown- repro uses a virtual workspace <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: OS Version: Version: 1.80.0 Commit: Date: 2023-07-04T15:06:02.407Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.80.0 Chrome/108.0.5359.215 Electron/22.3.14 Safari/537.36 Steps to Reproduce: a Github repository using "GitHub Repositories" extension, eg microsoft/vscode "Settings (JSON)" and add all tabs except Getting Started Extensions panel, search for " typescript" the Typescript and JavaScript Language Features extension and Reload Window "Settings (UI)" and search for typescript- no settings appear. Close "Settings (UI)" Extensions panel, search for " typescript" and re-enable the extension. Note, the extension activates immediately, the panel doesn't recommend Reload Window. "Settings (UI)" and search for typescript- Actual: no settings appear. Expected: settings appear


Question: private setSourceOptions(): void { const sourceSelect = this.getElementById('issue-source')! as HTMLSelectElement; <del> const { issueType, fileOnExtension } = this.issueReporterModel.getData(); </del> <ins> const { issueType, fileOnExtension, selectedExtension } = this.issueReporterModel.getData(); </ins> let selected = sourceSelect.selectedIndex; <del> if (selected === -1 && fileOnExtension !== undefined) { selected = fileOnExtension ? 2 : 1; </del> <ins> if (selected === -1) { if (fileOnExtension !== undefined) { selected = fileOnExtension ? 2 : 1; } else if (selectedExtension?.isBuiltin) { selected = 1; } </ins> } sourceSelect.innerHTML = '';

Feature Request The command takes an extension argument so that extensions can open an issue reporter for that extension. I'd like to use this for the built-in JS/TS extension as well but cannot at the moment: It'd be nice if for VS Code builtin extensions, we automatically changed the field to
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!


Question: depsStr = line.substring(shlibsDependsPrefix.length); } } <del> const requires = new Set(depsStr.split(', ').sort()); </del> <ins> // Refs https://chromium-review.googlesource.com/c/chromium/src/+/3572926 // Chromium depends on libgcc_s, is from the package libgcc1.  However, in // Bullseye, the package was renamed to libgcc-s1.  To avoid adding a dep // on the newer package, this hack skips the dep.  This is safe because // libgcc-s1 is a dependency of libc6.  This hack can be removed once // support for Debian Buster and Ubuntu Bionic are dropped. const filteredDeps = depsStr.split(', ').filter(dependency => { return !dependency.startsWith('libgcc-s1'); }).sort(); const requires = new Set(filteredDeps); </ins> return requires; }

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: Insiders 1.71 OS Version: Ubuntu 18.04 amd64 Steps to Reproduce: to install latest code-insiders packages from MS repository () The issue is that with the dependency on Debian derivatives changed to which only exists on newer releases (20.04 and later I think). I realise that support for Ubuntu-Ancient is low on the priority list, but I am sadly stuck with it, and would appreciate if there was a workaround. Installing newer libgcc releases as suggested in some places easily leads to a very broken system.
This is a side effect of now using bullseye sysroot, we should apply the following change https://chromium- to our debian calculate package deps.


Question: import { EditSessionsFileSystemProvider } from 'vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider'; import { isNative } from 'vs/base/common/platform'; import { WorkspaceFolderCountContext } from 'vs/workbench/common/contextkeys'; <ins> import { ThemeIcon } from 'vs/platform/theme/common/themeService'; </ins> registerSingleton(IEditSessionsLogService, EditSessionsLogService); registerSingleton(IEditSessionsWorkbenchService, EditSessionsWorkbenchService);

! should align more with <img width="672" alt="image" src="https://user-"


Question: wait_for_async_execs <del> exec "$@" "--no-sandbox" </del> <ins> exec "$@" </ins>

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.90.1 x64 OS Version: Ubuntu 24.04 (Updates 14 Jun 2024) I get the error on a fresh installation of Ubuntu 24.04 and VSCode 1.90.1 Everything works fine with VSCode version . Steps to Reproduce: latest version of Ubuntu 24.04. command. command.
In my case the issue occurred when doing , also on Ubuntu (20.04) and also on vscode 1.90.1 Here is a temp workaround to revert to vscode 1.89.1, if that's useful to anyone:
Hi Having same issue on remote VM Ubuntu 20.04 Install errors with Solved by using the flag


Question: wait_for_async_execs <del> exec "$@" "--no-sandbox" </del> <ins> exec "$@" </ins>

This is a continuation of to implement a proper fix in the runtime or application as necessary. Known data points: SIGTRAP when gpu tried to access resource bundle to load a label for assigning display name when computing vsync interval using the internal implementation rather than the gl extension. Also name from resource bundle is only requested for builtin-displays and not virtual ;l=449-456 Using gpu codepath from main process serves as a workaround. Debian package on the same system didn't trigger the crash codepath, very likely a different gl backend was used. Next steps: 1) Compare gl initialization trace between snap 1.89 and 1.90, using the following categories 2) Compare gl initialization trace between debian 1.90 and snap 1.90 3) Confirm if resource bundle access from gpu process is necessary moving forward.
This turned out to be a regression from https://chromium- which causes the gpu process when using the software display compositor to reach into the resource bundle. Before the CL, gpu process will not call into only the main process did.
is there something to verify here?
This is related to the candidate issue and I was just using it to track fixes. Nothing particular to verify for this particular issue, maybe confirm the checksums for both branches are same vs