jiebi/CodeConvo huggingface dataset:
Change:
async getWindows(): Promise<IOpenedMainWindow[]> { return []; } async getActiveWindowId(): Promise<number | undefined> { return undefined; } <ins> async getActiveWindowPosition(): Promise<IRectangle | undefined> { return undefined; } </ins> openWindow(options?: IOpenEmptyWindowOptions): Promise<void>; openWindow(toOpen: IWindowOpenable[], options?: IOpenWindowOptions): Promise<void>;

Discussion:
atm, when you open a new aux window when your main vs code window is in another secondary screen/monitor, it will open the aux window the main screen/monitor. in these two examples, i have one large curved secondary monitor where vs code is. open an aux window, and it spawns it in my laptop's screen. same thing if full screened on secondary monitor. different when full screen on main screen (see ) wondering if there is a way it can spawn on the current screen? ie, centered to where the vs code window is.
that should be possible if you provide the coordinates for where to open the window via : You would have to calculate the right coordinates based on all opened monitors, which is a bit tricky and probably requires you to go to the main process to do the math. This could be exposed from the . Alternatively, another custom vscode feature flag that allows you to pass in the identifier of a window to center the issue reporter over.
<!-- 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:
} } <del> private readonly _sender: vscode.TelemetrySender; </del> private readonly _onDidChangeEnableStates = new Emitter<vscode.TelemetryLogger>(); private readonly _ignoreBuiltinCommonProperties: boolean; private readonly _additionalCommonProperties: Record<string, any> | undefined;

Discussion:
Testing Given this code: I was expecting my event handlers not to fire since the logger is disposed, but they still fire.
This still repros for me <img width="1210" alt="image" src="https://user-"
Change:
{ id: 'menuBarWeb', title: localize('gettingStarted.menuBar.title', "Just the right amount of UI"), <del> description: localize('gettingStarted.menuBar.description.interpolated', "The full menu bar is available in the dropdown menu to make room for your code. Toggle its apperance for faster access. n{0}", Button(localize('toggleMenuBar', "Toggle Menu Bar"), 'command:workbench.action.toggleMenuBar')), </del> <ins> description: localize('gettingStarted.menuBar.description.interpolated', "The full menu bar is available in the dropdown menu to make room for your code. Toggle its appearance for faster access. n{0}", Button(localize('toggleMenuBar', "Toggle Menu Bar"), 'command:workbench.action.toggleMenuBar')), </ins> when: 'isWeb', media: { type: 'svg', altText: 'Comparing menu dropdown with the visible menu bar.', path: 'menuBar.svg'

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?: 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.68.0 OS Version: N/A Steps to Reproduce: a new Codespace the Get Started screen, scroll down and select "Just the right amount of UI"3. that "apperance" is not a valid English word. !
Change:
private redrawTabBorders(tabIndex: number, tabContainer: HTMLElement): void { const isTabSticky = this.tabsModel.isSticky(tabIndex); const isTabLastSticky = isTabSticky && this.tabsModel.stickyCount === tabIndex + 1; <ins> const showLastStickyTabBorderColor = this.tabsModel.stickyCount !== this.tabsModel.count; </ins> // Borders / Outline <del> const borderRightColor = ((isTabLastSticky ? this.getColor(TAB_LAST_PINNED_BORDER) : undefined) || this.getColor(TAB_BORDER) || this.getColor(contrastBorder)); </del> <ins> const borderRightColor = ((isTabLastSticky && showLastStickyTabBorderColor ? this.getColor(TAB_LAST_PINNED_BORDER) : undefined) || this.getColor(TAB_BORDER) || this.getColor(contrastBorder)); </ins> tabContainer.style.borderRight = borderRightColor ? `1px solid ${borderRightColor}` : ''; tabContainer.style.outlineColor = this.getColor(activeContrastBorder) || ''; }

Discussion:
We have a color that draws at the end of the last pinned tab: ! For multi-row scenario, this color should probably hide.
Change:
import * as path from 'path'; import * as Proto from './protocol'; <ins> import * as PConst from './protocol.const'; </ins> import TypeScriptServiceClient from './typescriptServiceClient'; import { ITypescriptServiceClientHost } from './typescriptService';

Discussion:
The video below demonstrates tslint running as a language server plugin. Notice that the tslint warnings show up as errors. However, in the code the DiagnosticCategory is set to . ! This is the code that creates the diagnostic
Looks like we don't set a severity on the diagnostics which causes them to all be marked as errors. Looking into fixing this
Hmm, I don't see a field on normal objects in the TSServer protocol, only on . Let me see if this field is sent anyways when you explicitly set in the TSLint plugin
I've opened to track adding to the objects that tsserver returns to us. This seems like an oversight in the current protocol
Change:
this.lazySetup(); this.startInitializingState(options); <ins> this.debugSessionStarted.set(true); </ins> try { // make sure to save all files and that the configuration is up to date await this.extensionService.activateByEvent('onDebug');

Discussion:
Not sure it was always like this before, but look at this. Unless I set at least one breakpoint, it's not possible to show the "Breakpoints view" in the panel. Then its the only solution to toggle (All/Uncaught Exceptions). Was not possible to show this view without any user predefined breakpoints ? ! Flutter 3.3.7 • channel stable • Framework • revision (il y a 3 semaines) • 2022-11-01 16:59:00 -0700 Engine • revision Tools • Dart 2.18.4 • DevTools 2.15.0 Vscode: 1.73.1 OS: Linux Mint 20.3 x86_64 Kenel 5.15.0-53-generic
Not sure about this- did you move the breakpoints view into the test view? Does it work in the debug viewlet?
Not sure what you mean. Maybe larger screens captures will help. Do you see the "debug viewlet <= if it's so called" is not accessible in the menu when no breakpoint is defined ! But when is set one breakpoint, it appears in the menu & the viewlet also ! But this means that if you want to switch theses checkboxes : ! must need to define at least a breakpoint !! Is this not 2 extras click ? 1) turn on a dummy a breakpoint <===== ??? 2) switch the desired type of exception 3) turn off the dummy breakpoint <===== ???
Side note... It appears that the problem was in my current Flutter project but not now ...opening another one. I briefly checked if its a matter of doesn't seem to be. Would it be because of one dependency ?
How strange is this...I show you side by side On the left : freshly made project "test" =Debug viewlet not accessible in the right-click menu path is : On the right: an old project : =Debug viewlet is accessible in the right-click menu path is: !
I see, this happens when you don't have a in your project. Since it's possible to debug without defining a , we should show this view when you have started the debugger once previously.

If anyone wants to work on this, we should add a new context key that is set to true when a debug session starts, and when that context key is true, the breakpoints view should be visible:
I've submit a patch with a possible fix, let me know if it works.
I see the breakpoints view in a folder without a , but it has no contents when expanded, is that expected? <img width="583" alt="image" src="https://user-"Also, not sure if this is an intentional behavior change, but clicking Run and Debug in Insiders in the above scenario does nothing, while in Stable I get this quickpick <img width="791" alt="image" src="https://user-"I have Python extension v2023.1. in stable and v2023.1. in insiders, in case this is caused by an extension and not core.
Good catch, filed , thanks
Change:
} }, 50 /* quick open is sensitive to being opened so soon after another */); } <ins> private getResource(lang: string): URI | undefined { // construct a fake resource to be able to show nice icons if any let fakeResource: URI | undefined; const extensions = this.modeService.getExtensions(lang); if (extensions && extensions.length) { fakeResource = URI.file(extensions[0]); } else { const filenames = this.modeService.getFilenames(lang); if (filenames && filenames.length) { fakeResource = URI.file(filenames[0]); } } return fakeResource; } </ins> } export interface IChangeEOLEntry extends IQuickPickItem {

Discussion:
if you just want to 'Select Language Mode', languages has icons. but if you want to 'Configure File Association', languages has no icons
True, up for grab if someone wants to do it.
I'm going to work on it.
Change:
public openQuickPick(value: string, currentTheme: IWorkbenchTheme | undefined, selectTheme: (theme: IWorkbenchTheme | undefined, applyTheme: boolean) => void): Promise<PickerResult> { let result: PickerResult | undefined = undefined; <ins> const disposables = new DisposableStore(); </ins> return new Promise<PickerResult>((s, _) => { <del> const quickpick = this.quickInputService.createQuickPick<ThemeItem>(); </del> <ins> const quickpick = disposables.add(this.quickInputService.createQuickPick<ThemeItem>()); </ins> quickpick.items = []; quickpick.sortByLabel = false; quickpick.matchOnDescription = true;

Discussion:
Quick pickers are itself disposables, as well as the events they provide. Noticed a few leaks around picker instances and/or events: //cc
There's already a that is called when the picker hides. Isn't that good enough?
see the various events (those beginning with ) and how they are not getting disposed.
But they are going to an emitter that is owned by the quickpick. Disposing the quickpick is also disposed all its emitters. There's no real leak here.
my understanding is that an that gets disposed (when you dispose the quick picker) does not dispose the -functions it had returned, i.e. this code is not running: But maybe or can also chime in.
Yes - an emitter doesn't dispose its listeners. you basically rely on GC'ing here and I am uncertain if that actually works (e.g some disposables are tracked centrally for later blaming). I understand your motives but we generally dispose all the things
Change:
settings: ['terminal.*'] }, { <ins> id: 'features/tasks', label: localize('tasks', "Tasks"), settings: ['tasks.*'] }, { </ins> id: 'features/problems', label: localize('problems', "Problems"), settings: ['problems.*']

Discussion:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue
Change:
opacity: 1 !important; } <ins> .monaco-workbench input[type="checkbox"]:focus { outline-offset: 2px; } </ins> .monaco-workbench [tabindex="0"]:active, .monaco-workbench [tabindex="-1"]:active, .monaco-workbench select:active,

Discussion:
<!-- 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: OS Version: Steps to Reproduce: vscode the welcome screen, focus on the checkbox at the bottom left of the page with the label "Show welcome page on startup" focus is not visible. You cannot see the focus: ! This is related to an accessibility issue filed on the azure data studio , issue <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Change:
<ins> { "comments": { "lineComment": "#", }, "brackets": [ ["{", "}"], ["[", "]"], ["(", ")"] ], "autoClosingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], [""", """], ["'", "'"], [""""", """""] ], "surroundingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], [""", """], ["'", "'"], [""""", """""] ] } </ins>  No newline at end of file

Discussion:
I have found as a related issue, but that seems to only tackle support in markdown files. I am suggesting that VSCode support the file extension. It should be very similar to the syntax, and is something I would be willing to tackle in a PR.
Yes, we would take a PR for this. Look at the or the extensions for examples. We pull in the grammars used in these extension from existing repos so that we don't have to maintain them in the VS Code repo. Both the or the extensions provide examples of this in their npm script
Perfect. I have found: , and will submit a PR later today. Thanks for the tip
After further discussion with the VS Code team, we have decided to revert this addition with See that commit for an explanation of why we feel this is the correct decision for guiding users to a better toml experience and for maintaining VS Code itself
Change:
let documentSelector = ['json', 'jsonc']; <del> let statusBarItem = window.createStatusBarItem(StatusBarAlignment.Right, 0); statusBarItem.command = '_json.retrySchema'; toDispose.push(statusBarItem); let showStatusBarItem = (message: string) => { statusBarItem.tooltip = message + 'n' + localize('json.clickToRetry', 'Click to retry.'); statusBarItem.text = '$(alert)'; statusBarItem.show(); }; </del> <ins> let schemaResolutionErrorStatusBarItem = window.createStatusBarItem(StatusBarAlignment.Right, 0); schemaResolutionErrorStatusBarItem.command = '_json.retryResolveSchema'; schemaResolutionErrorStatusBarItem.tooltip = localize('json.schemaResolutionErrorMessage', 'Unable to resolve schema.') + ' ' + localize('json.clickToRetry', 'Click to retry.'); schemaResolutionErrorStatusBarItem.text = '$(alert)'; toDispose.push(schemaResolutionErrorStatusBarItem); </ins> let fileSchemaErrors = new Map<string, string>();

Discussion:
testing : Yes, there is now a warning icon in the status bar, but it is difficult to understand its purpose: For a json scheme url with a non-existing hostname the hover message shows this: ! For a json scheme url with a non-existing version number the hover message shows this: ! In both cases the error shown is too low-level and the message does not explain that the status refers to the json scheme of the current editor contents.
FYI
Looks like I misinterpreted what kind of messages I'd get from the backend, sorry for that! We could resort to showing a generic message like 'Unable to resolve JSON schema from (url)', which would probably be sufficient for most issues. I also considered logging the error to console (don't know your policy on that), but if we get whole pages in the error message, that's not an option. Displaying a generic message with the URL only would also Otherwise I guess we'd need to parse the error message to find out which kind and display a meaningful message, but that doesn't seem right. Another implication of this is that we'll probably have to re-add at least one layer of error description to vscode-languageservice-json - I always had a prefix with something like "Unable to resolve (something)", but that might have been a code reloading issue or specific to the way I was testing, by cutting the Internet connection and blocking DNS resolutions. Let me know if a generic error message defined only in the client would work.
That's fine. Users don't really see logs.
I can repro with this setting:
Change:
italic: this.options?.italic, strikethrough: this.options?.strikethrough, matches: this.options?.matches, <ins> descriptionMatches: this.options?.descriptionMatches, </ins> extraClasses: [], separator: this.options?.separator, domId: this.options?.domId

Discussion:
I often make a lot of changes at once, and then need to commit them. Some changes don't belong together in the same commit, and some aren't ready to be committed at all. The current UI allows me to select some files to be staged for commit and exclude others, but it requires me to carefully select my changes from a potentially very long list. It would be incredibly useful if I could search or filter files by path pattern and stage/unstage all search results. Even better would be if I could search for lines of code and either stage files containing those lines or just the matched lines. This would streamline my git workflow by a lot.
I guess my ideal UI would allow me to: search files by path, and stage/unstage all matched files stage/unstage individually selected files search code in files, and stage/unstage all matched lines stage/unstage individually selected lines stage/unstage all matched files stage/unstage individually selected files
Since last month, SCM supports fancy keyboard navigation and filtering. Simply start typing when focused on the view. A widget will appear which you can use to toggle between simple highlighting and filtering. Currently filtering is done only on file names though, not paths or even code, so I can leave this open for additional filtering fields.
<!-- -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!
Change:
export interface LogOutputChannel extends OutputChannel { /** <del> * The current log level of the channel. </del> <ins> * The current log level of the channel. Defaults to application {@link env.logLevel application log level}. </ins> */ readonly logLevel: LogLevel;

Discussion:
Testing the API lacks an explanation of the interaction between channel log levels and app log levels. the comments of the individual log methods all have the form "Messages are only printed when the user has enabled xxx logging" but nowhere is explained how "xxx logging enablement" is related to the log level. I would rather expect something like "xxx messages are only logged when the log level is xxx or lower."
Change:
export interface ITaskService { readonly _serviceBrand: undefined; onDidStateChange: Event<ITaskEvent>; <ins> onDidReconnectToTasks: Event<void>; </ins> supportsMultipleTaskExecutions: boolean; configureAction(): Action;

Discussion:
Currently, one can have a task that runs on folder open (startup), but if window is reloaded, they get a notification "The task '<myTask' is already active." with options to terminate or restart the task. It would be great to have an option to never see this notification either as a button or within gear-icon context menu on the notification.
Yeah this is happening because of automatic tasks / reconnected tasks each trying to start the same one. We should ignore the request if it's coming from one or the other source (reconnection or automatic) and the task is already running
Workaround for now is to remove the folderOpen property or disable reconnection
I do not see my task getting run either on first open or window reload
found that this does not work in old Codespaces, which we are tracking here .

create a folder with a task that uses: update an extension and use "Reload window" or use Reload window directly from the command pallette observe that the task now runs twice: <img width="328" alt="image" src=""
Likely a regression from one of the task fixes this iteration.
Not able to reproduce Do you have task.reconnection enabled? Would be helpful to see each of the terminals
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
This problem still exists, I'm afraid I'm not sure the repro steps are as Alex described, but I still get duplicated tasks
It seems for Alex's repro steps to work, the terminal panel needs to be hidden
When the panel is hidden, the tasks don't run at all for me atm. I'm going to merge something that will fix this part of the issue, but in order to truly test it, I'll have to first
Change:
return Promise.resolve(); } <del> return Promise.resolve(method.apply(this, [repository, ...args])); </del> <ins> return Promise.resolve(method.apply(this, [repository, ...args.slice(1)])); </ins> }); }

Discussion:
Similar to the visual-studio feature: Right now the way to do this would be to checkout the remote branch and then create a branch from there !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.678 --- <!-- score: 0.631 --- <!-- score: 0.585 --- <!-- score: 0.58 --- <!-- score: 0.53 --<!-- potentialduplicatescomment --
The command will show you a list of branches. If you pick a remote branch, it will create a local branch and set it to track the remote one. Isn't that enough?
this would require me to first checkout the remote branch
Please try <kbdF1</kbd, , pick a remote branch and let me know if that doesn't create a local branch.
it does create a local branch. I think I didn't explain the feature request correctly for example: When working on a new feature you create a branch from the remote master into your own local branch you have no need to actually create a local version of the branch. I never create a local branch tracking the remote branch
So, you want to create a branch based off a specific remote branch?
Exactly
I don't see a "Create Branch From" command, what happened to it?
The standard command now asks you where the branch should be created.
hey is there a way to set this branch to be the current branch by default?
What does that mean? When running the command, that branch will be checked out.
Sorry for not being very clear! Right now when I run this command I'm prompted to choose which branch to branch off every time. I quite liked it when the command would use the current branch as the branch to branch off of, without me having to specify it. I can see how the new behaviour is useful, but is there a way to set the old behaviour as the default behaviour, so that I don't have to confirm that I want to branch off the current branch when making a new branch?
The current experience auto selects ... so all you have to do is press <kbdEnter</kbdwhen asked which ref the branch should be created from. That is the equivalent of the old behaviour.