jiebi/CodeConvo huggingface dataset:
Change:
const debugViewStateLabelBackground = registerColor('debugView.stateLabelBackground', { dark: '#88888844', light: '#88888844', hc: '#88888844' }, 'Background color for a label in the CALL STACK view showing the current session's or thread's state.'); const debugViewValueChangedHighlight = registerColor('debugView.valueChangedHighlight', { dark: '#569CD6', light: '#569CD6', hc: '#569CD6' }, 'Color used to highlight value changes in the debug views (ie. in the Variables view).'); <ins> const debugConsoleInfoForeground = registerColor('debugConsole.infoForeground', { dark: editorInfoForeground, light: editorInfoForeground, hc: foreground }, 'Foreground color for info messages in debug REPL console.'); const debugConsoleWarningForeground = registerColor('debugConsole.warningForeground', { dark: editorWarningForeground, light: editorWarningForeground, hc: '#008000' }, 'Foreground color for warning messages in debug REPL console.'); const debugConsoleErrorForeground = registerColor('debugConsole.errorForeground', { dark: errorForeground, light: errorForeground, hc: errorForeground }, 'Foreground color for error messages in debug REPL console.'); const debugConsoleSourceForeground = registerColor('debugConsole.sourceForeground', { dark: foreground, light: foreground, hc: foreground }, 'Foreground color for source filenames in debug REPL console.'); const debugConsoleInputIconForeground = registerColor('debugConsoleInputIcon.foreground', { dark: foreground, light: foreground, hc: foreground }, 'Foreground color for debug console input marker icon.'); </ins> registerThemingParticipant((theme, collector) => { // All these colours provide a default value so they will never be undefined, hence the `!` const badgeBackgroundColor = theme.getColor(badgeBackground)!;

Discussion:
I stumbled over and saw that there are still many colors hard-coded. Also while at the .css file, it's good practice to qualify all rules with (or ) now that the workbench can be embedded in the web.
Thanks for great feedback. There was some unused CSS, like the .annotation in the repl, so I removed that. I have also now qualifed all with . There is still one hard coded color for in repl, but I believe tackled this with his great PR. Though I might be mistaken?
I did, indeed, add colour contribution points to the REPL as part of but eventually you asked me to defer those until later, I do not remember the reason precisely... So the REPL is still not theme-able, unfortunately.
thanks for refreshing my memory. In case you would like to contribute that part of your PR we are open to accept it now :D From the I only see a need for color, not sure if there is more.
I am working on this now. I am taking it a step further, though, and adding theming to most of the REPL elements (errors, warnings, infos, source filenames etc.). Basically I want the whole REPL view to be fully customisable.
To verify, make sure you can customise the following colors in the debug console. You can use the setting :
Change:
) { super(); this._proxy = extHostRpc.getProxy(MainContext.MainThreadTunnelService); <del> if (initData.remote.isRemote && initData.remote.authority && !process.env['VSCODE_DISABLE_PROC_READING']) { </del> <ins> if (initData.remote.isRemote && initData.remote.authority) { </ins> this.registerCandidateFinder(); } }

Discussion:
We have been seeing a bunch of remote issues where the remote extension host burns a lot of CPU. I think it is caused by our port scanning code, which executes even if the setting is false. See Possible issues: / Other: ? ? ? *
Looks like we need to work on our indentation and ensuring that we break lines once they go past the edge of the screen for the sake of readability
I could reproduce some increased CPU usage of the remote extension host using the project linked to i.e.
In insiders, you can now temporarily disable the port scanning code by adding this line to your .bashrc file, then restarting the VS Code server on your remote:
Once we have an insiders build I'll start commenting in each of the issues asking folks to try out the workaround in insiders.
Keeping open for now so that the issue can be found more easily.
Closing since the fix is available in insiders.
Verified that cpu usage was reasonable when running the petclinic app
Change:
? element.defaultValue ?? {} : {}; <ins> const elementScopeValue: Record<string, unknown> = typeof element.scopeValue === 'object' ? element.scopeValue ?? {} : {}; const data = element.isConfigured ? { ...elementDefaultValue, ...elementScopeValue } : elementDefaultValue; </ins> const { objectProperties, objectPatternProperties, objectAdditionalProperties } = element.setting; const patternsAndSchemas = Object .entries(objectPatternProperties ?? {})

Discussion:
<!-- 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?: No Problem with default extension settings. <!-- 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.64.2 OS Version: Windows 10 Pro x64 Steps to Reproduce: Behavior before updating to 1.64 version (and it's an expected result) I create extension settings in in contributes section (according to ) user opens Settings -Extensions -~someExtension~Settings user cannot delete default settings Behavior after updating to 1.64 version (and it's an actual result) I create extension settings in in contributes section (according to ) user opens Settings -Extensions -~someExtension~Settings user can delete default settings (it's a 1st issue) if get all settings by vscode.workspace.getConfiguration() - we get these deleted default settings (it's a 2nd issue) As result, the user deleted default settings, but it's still there, but not visible Video:
I think it is fine for the user to delete default settings to change the setting value away from the default. That change comes from But, the deleted settings still showing up when we fetch the configuration doesn't seem correct.
It is because of merging strategy of object value settings. For eg merging following objects results to So, this is expected. Not sure what changed in UI so leaving to you
Verification steps: and run the extension to the JSON Settings editor. the following: over to the GUI Settings editor. for the setting . that a row with the key still shows up.
Change:
return undefined; } <del> protected override revealLine(lineNumber: number) { </del> <ins> protected override revealRange() { </ins> // we don't do anything here as we always do the reveal ourselves. }

Discussion:
<!-- 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 (depends on language) <!-- 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.68.0 OS Version: Windows/Linux (does not matter for this bug) The problem is, if you set the to higher value like 10, vscode will starts to scroll the editor if i open a peek editor with the or similar commands (even if the editor would easily fit in the remaining area under the active line). I use 100 as a value for the surrounding lines to keep the cursor vertically in the middle, so i dont need to scroll when i move between lines, but this way when i open any peek editor, vscode will scrolls the active line to the top. If the peek editor can fit under the active line, it should not scroll the editor. I tested this with python, c++, and javascript, so this scrolling issue is not caused by extensions. It works exactly the same way with all of these languages. With javascript it occures even if vscode was started with . Steps to Reproduce: Place this in your (or use the settings editor) a file that has functions in it. the command. active line will be scrolled to the top, no matter what. !
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.68.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
The peek widget reveal the line it and that causes the shift. Tho, when we would reveal the line above it would cut off the button of the peek widget. We might need a way to reveal a line without honouring the surrounding lines setting
Change:
const height = font.charHeight * font.lineHeight; const top = cursorY * height + 12; this._container.style.top = `${top}px`; <del> const terminalHeight = this._instance.domElement.clientHeight; if (terminalHeight && top > terminalHeight - this._inlineChatWidget.getHeight()) { </del> <ins> const widgetHeight = this._inlineChatWidget.getHeight(); const terminalHeight = this._getTerminalHeight(); if (!terminalHeight) { return; } if (top > terminalHeight - widgetHeight) { </ins> this._container.style.top = ''; } } <ins> private _getTerminalHeight(): number | undefined { const font = this._instance.xterm?.getFont(); if (!font?.charHeight) { return; } return font.charHeight * font.lineHeight * this._instance.rows; } updateHeight() { const terminalHeight = this._getTerminalHeight(); if (!terminalHeight || terminalHeight < widgetHeightMargin) { return; } this._inlineChatWidget.layout(new Dimension(this._inlineChatWidget.domNode.clientWidth, terminalHeight - widgetHeightMargin)); this._updateVerticalPosition(); } </ins> private _updateWidth() { const terminalWidth = this._instance.domElement.clientWidth; if (terminalWidth && terminalWidth < 640) { <del> this._inlineChatWidget.layout(new Dimension(terminalWidth - 40, this._inlineChatWidget.getHeight())); </del> <ins> this._inlineChatWidget.layout(new Dimension(terminalWidth - widgetWidthMargin, this._inlineChatWidget.getHeight())); </ins> } }

Discussion:
Repro: terminal chat "list files in various ways", content is clipped at bottom but scrolling doesn't work !

Repro: terminal chat "list files in various ways" height of terminal !
, we'd need a way to set max height for the chat widget, which there isn't currently AFAICT
You need to call layout with the sizes you want
i tried that and didn't see the height taking effect, only the width.
Change:
} } <del> Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(ActiveCellStatus, LifecyclePhase.Restored); export class NotebookIndentationStatus extends Disposable implements IWorkbenchContribution { </del> <ins> export class NotebookIndentationStatus extends Disposable { </ins> private readonly _itemDisposables = this._register(new DisposableStore()); private readonly _accessor = this._register(new MutableDisposable<IStatusbarEntryAccessor>());

Discussion:
This is a missing adoption when notebooks became floating window capable. Notice how the status bar entry appears in the main window and not the floating window: ! We have had a similar issue with the text editor status bar and solved it by instantiating it per-window: I think a similar approach would work for notebooks too. The key for this to work is that you get a scoped in the that allows you to listen only to editor change events in the respective window. Consequently, you use a main-window scoped editor service for the main-window status bar: Let me know if you have questions, but I think its easy to copy what we do for editor status here.
When I reload the window with a floating notebook, the status bar does not appear (macOS): !
This is my attempt to fix this issue The problem here is if we register the contrib , we won't get the event. The event is the only place where we get the window's unique instantiationService (which gives us the right statusbarservice). Without the right statusbarservice, we can't register notebook status bar items to the right place.
Not very happy about that, filed
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
<!-- UNABLETOLOCATECOMMITMESSAGE --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased
Change:
import { IPathService } from 'vs/workbench/services/path/common/pathService'; export const NEW_FILE_COMMAND_ID = 'explorer.newFile'; <del> export const NEW_FILE_LABEL = nls.localize('newFile', "New File"); </del> <ins> export const NEW_FILE_LABEL = nls.localize('newFile', "New File..."); </ins> export const NEW_FOLDER_COMMAND_ID = 'explorer.newFolder'; <del> export const NEW_FOLDER_LABEL = nls.localize('newFolder', "New Folder"); export const TRIGGER_RENAME_LABEL = nls.localize('rename', "Rename"); </del> <ins> export const NEW_FOLDER_LABEL = nls.localize('newFolder', "New Folder..."); export const TRIGGER_RENAME_LABEL = nls.localize('rename', "Rename..."); </ins> export const MOVE_FILE_TO_TRASH_LABEL = nls.localize('delete', "Delete"); export const COPY_FILE_LABEL = nls.localize('copyFile', "Copy"); export const PASTE_FILE_LABEL = nls.localize('pasteFile', "Paste");

Discussion:
Related: Both need additional info: <img width="241" alt="Screen Shot 2021-04-27 at 4 55 10 AM" src="https://user-"
Any change I do in the explorer raises a user revolt. So could do this start of next milestone. Delete does not require additional user input (if I say do not ask again for prompt). So I think only should be However I would wait for the editor to change to be so they are aligned. fyi
Not so sure about the rules <img width="748" alt="Screenshot 2021-04-27 at 14 36 26" src="https://user-"
Finder is inconsistent; "Tags..." opens an inline pop similar to rename, but rename doesn't have the . It might not be the best example.
Using ... on actions when needing user input has been a consistent pattern we've used for named actions. So we should try to keep it consistent.
Will take this in start of next milestone
From a UX perspective it appears is used when a quick input is present but not when an inline edit widget is. So I believe that's why things like and do not have , so is the UX guideline that inline edit widgets also should have ?
I would say that any action that requires user input should use the . I am seeing the same for toolbar actions like new file/folder in the tooltip as well while the quick pick and app menu do show it. <img width="170" alt="CleanShot 2022-08-16 at 08 45 32 src="https://user-"<img width="202" alt="CleanShot 2022-08-16 at 08 45 40 src="https://user-"<img width="303" alt="CleanShot 2022-08-16 at 08 45 47 src="https://user-"
Change:
return this.show(false).then((terminalPanel) => { this.activeTerminalIndex = index; terminalPanel.setActiveTerminal(this.activeTerminalIndex); <del> terminalPanel.focus(); </del> this._onActiveInstanceChanged.fire(); }); }

Discussion:
VSCode Version: 1.5.0 OS Version: OS X 10.11.6 Steps to Reproduce: this snippet to use Then the example Focus is on the newly created terminal and not preserved.
Bug for
Change:
return this.channel.call('openExternal', url); } <del> startCrashReporter(config: Electron.CrashReporterStartOptions): TPromise<void> { </del> <ins> startCrashReporter(config: CrashReporterStartOptions): TPromise<void> { </ins> return this.channel.call('startCrashReporter', config); }

Discussion:
There a few usages of in which is against our layering rules. I'd suggest to move the whole file into an folder
Unfortunately this might not be so simple given 62 references of which some would also need to be lifted up... An alternative would be to define similar interfaces that contain the properties we actually need instead of depending on Electron.
Also: and
I'd favour to lift them all instead blowing up our code size
with our current code organisation I cannot express the proper way for these references. Here are the issues: Moving this service into src/workbench This was my first idea, but it doesn't work. There are references from (our main side of things) into the windows service because the main side basically implements that service. We should not depend from to other than the file that we load into a window. The only way out I see here is to have something like for services that are shared between and . Moving the service from common into electron-browser This will not help because we have depending on the windows service and thus we would reach from into . The only option would be to introduce a new layer that contains the service and that can be accessed by and . To unblock your 2-CU scenario and to use ES6 features in workbench I suggest to that will inline the Electron references. However if we ever want to tackle this properly it needs some serious new code-structure layout on disk. Thoughts?
Yeah, makes sense... It's unfortunate but reality...
Change:
private _stopAll(): void { // Remove any existing decorations <ins> // TODO: @Yoyokrazy - this triggers as notebooks scroll, causing highlights to disappear momentarily. </ins> this._removeAllDecorations(); // Cancel any renderDecorationsTimer

Discussion:
Keeping this open as the main tracking issue as I keep an eye on error telemetry. Been quiet and haven't seen any entries in the errors site since early Feb with +
Closing this as fixed by the above linked PR's. Error telem has been quiet with no entries for ~4 weeks.

New cells being scrolled into view momentarily have widget focus, fire a model change event and picks up an editor selection with all values of .

There are countless entries for this kind of error !
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for . See also our . Happy Coding!
Change:
return undefined; } <ins> public isDetectingColorScheme(): boolean { return this.configurationService.getValue(ThemeSettings.DETECT_COLOR_SCHEME); } </ins> public getColorThemeSettingId(): ThemeSettings { const preferredScheme = this.getPreferredColorScheme(); return preferredScheme ? colorSchemeToPreferred[preferredScheme] : ThemeSettings.COLOR_THEME;

Discussion:
<!-- 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: 1.90.0-insider () OS Version: macOS Sonoma 14.5 Steps to Reproduce: the setting to . "Preferences: Color Theme" in the command palette. a dark theme is enabled, previews for light themes aren't working and vice versa. The preview for the selected theme is shown for a fraction of a second and immediately changed back to the enabled theme (see the video below).
Change:
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! <del> // Files const fileService = this._register(new FileService(logService)); serviceCollection.set(IWorkbenchFileService, fileService); // Logger const loggerService = new FileLoggerService(logLevel, logsPath, fileService); serviceCollection.set(ILoggerService, loggerService); // Register File System Providers depending on IndexedDB support // Register them early because they are needed for the profiles initialization await this.registerIndexedDBFileSystemProviders(environmentService, fileService, bufferLogger, logService, loggerService, logsPath); </del> // URI Identity const uriIdentityService = new UriIdentityService(fileService); serviceCollection.set(IUriIdentityService, uriIdentityService);

Discussion:
<!-- 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. --Codespaces Visual Studio Code - Insiders Version: 1.78.0-insider Commit: Date: 2023-05-02T11:17:01.989Z (10 hrs ago) Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.68 Steps to Reproduce: a GitHub Codespace from an existing repo the "Developer: Set Log Level..." command and set it to "Trace" there's no "Telemetry" channel there, only Extension Telemetry: !
Do you have any ideas I assume there would be nothing special needing to be done for codespaces, I register this output channel the same as the extension one and the same as the other output channels.
Where do you register Telemetry logger in codespaces, is it in server or on client side?
It's registered client side.
May I know where it is registered in sources?
Can you please check if this code is being executed in the codespace?
It seems to be missing from web too. I can confirm when debugging the web bits locally it is called and registered, but nothing shows up in the output channel list.
Can you please provide me steps to enable this locally from sources?
Sent instructions offline
Still not seeing the telemetry output channel in Codespaces (on desktop if it matters)
Actually this is a bug in web, but I can confirm that this is working for me in both web and desktop. Wondering if you have any additional steps to repro.
Change:
import { localize } from '../../../../nls.js'; import { deepClone } from '../../../../base/common/objects.js'; <del> import { buttonForeground, chartsBlue, chartsPurple, foreground } from '../../../../platform/theme/common/colorRegistry.js'; import { asCssVariable, ColorIdentifier, registerColor, transparent } from '../../../../platform/theme/common/colorUtils.js'; </del> <ins> import { badgeBackground, buttonForeground, chartsBlue, chartsPurple, foreground } from '../../../../platform/theme/common/colorRegistry.js'; import { asCssVariable, ColorIdentifier, registerColor } from '../../../../platform/theme/common/colorUtils.js'; </ins> import { ISCMHistoryItem, ISCMHistoryItemGraphNode, ISCMHistoryItemRef, ISCMHistoryItemViewModel } from '../common/history.js'; import { rot } from '../../../../base/common/numbers.js'; import { svgElem } from '../../../../base/browser/dom.js';

Discussion:
Testing There is a second branch on the same commit, and the icon is dark when selected in light+ theme ! !
Great catch! This should look like the rest of the workbench badges: !