jiebi/CodeConvo huggingface dataset:
Change:
await this.run(args); } <ins> async merge(name: string): Promise<void> { const args = ['merge', name]; await this.run(args); } </ins> async clean(paths: string[]): Promise<void> { const pathsByGroup = groupBy(paths, p => path.dirname(p)); const groups = Object.keys(pathsByGroup).map(k => pathsByGroup[k]);

Discussion:
It does not currently appear possible to merge local git branches in VS Code. Quite a common workflow is to have a "development" branch to develop new features on (or alternatively have feature specific branches). When the development is finished, the development branch is then merged into the "master" branch before release. This can be done via the integrated terminal, but as VS Code's git implementation is so wizzy, it would be great to be able to replicate this workflow using the GUI.
I can't believe there aren't more for this... what are the current alternatives? An extension, or have you guys set up a task for this?
+1, I think that feature might be considered priority for the git extension, it's a really nice implementation and with merging, would be perfect. No news?
It'd be lovely to be able to trigger a merge from the command palette, e.g. cmd + shift + p Select a branch to merge from via search-dropdown Any opportunity to avoid having to dip back into the command line is lovely. Thanks in advance!
Weird it is still not implemented and even weirder since we can create and change branch. It spoils the git integration in Code as if the feature was unfinished. We can still rely on built-in terminal or extension but it is not a consistent Code workflow Same for git stash
I also would like to see a Git Merge implemented eventually without going in the console. you might be interested to know that there's an open PR to which will hopefully land soon. There's actually also a PR for but changes were asked over a month ago and it wasn't done yet, so it might not land.
Fixed in
Change:
"main": "./out/node/htmlServerMain", "dependencies": { "@vscode/l10n": "^0.0.11", <del> "vscode-css-languageservice": "^6.2.2", </del> <ins> "vscode-css-languageservice": "^6.2.3", </ins> "vscode-html-languageservice": "^5.0.4", "vscode-languageserver": "^8.1.0-next.6", "vscode-languageserver-textdocument": "^1.0.8",

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.74.2 OS Version: Windows 10 Steps to Reproduce: a CSS file suggestion is shown, but is not enough. ! There should be more keywords below: - () () (safe <content-position, like ) (unsafe <content-position, like ) See: Same issue happens for and Thank you.
Tested in but not seeing the suggestions !
Change:
import { binarySearch } from 'vs/base/common/arrays'; import { Event } from 'vs/base/common/event'; import { URI } from 'vs/base/common/uri'; <del> import { Range } from 'vs/editor/common/core/range'; </del> <ins> import { Position } from 'vs/editor/common/core/position'; </ins> import { IModelDeltaDecoration } from 'vs/editor/common/model'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { ITestMessage } from 'vs/workbench/contrib/testing/common/testTypes';

Discussion:
Using the test-provider-sample, adding newlines on a line marked as a test duplicates the test icon: ! It sorts itself out on the next update (at least in the sample, I'm still investigating to figure out if there's another issue, or that's in my extension). But it still looks bad - especially if a language is debouncing edits and/or discovery may be slow.. You can make the issue more pronounced (as I did for the GIF) by updating the test-provider-sample to have a delay in its updates:
I was able to repro the full issue I'm seeing in Dart (where the icons never disappear) using the sample too: ! My changes to the sample are here: I changed it so that tests can span multiple lines (since the original code split on lines then searched each line) and use the full range as the for the test. Now when pressing in the test, the original issue (VS Code duplicate the icons) still occurs, but also after the updates, since the range computed by the provider doesn't change from the range VS Code currently has (at least that's my guess), there's no update to the gutter icons so they no longer get cleaned up.
That's correct, we let the editor do its default decoration tracking until an update is received from the extension. for testing decorations, I already set , but is there a similar option to avoid extending the range over lines when edited? Or, alternatively, a way to only apply the glyphMarginClassName to the first line of the range. Reference:
You can create two decorations per test. One which has a range, a hover message, etc. And another one which renders the glyph margin with a collapsed range (perhaps the start position of the range). If you use for the second one, given it begins as a collapsed range, it will never grow, it will always remain a collapsed range.
Change:
const expected = [{ profileName: 'Git Bash', path: _paths[0], args: ['--login'], isAutoDetected: undefined, overrideName: undefined }]; assert.deepStrictEqual(profiles, expected); }); <del> test.skip('should detect cmd prompt', async () => { const _paths = ['C:WINDOWSSystem32cmd.exe']; </del> <ins> test.skip('should allow source to have args', async () => { </ins> const config: ITestTerminalConfig = { profiles: { windows: { <del> 'Command Prompt': { path: _paths } </del> <ins> 'PowerShell NoProfile': { source: ProfileSource.Pwsh, args: ['-NoProfile'], overrideName: true } </ins> }, linux: {}, osx: {}, }, displayDetectedWslProfiles: false }; <del> const profiles = await detectAvailableProfiles(true, undefined, config as ITerminalConfiguration, undefined, undefined, createStatProvider(_paths)); const expected = [{ profileName: 'Command Prompt', path: _paths[0] }]; </del> <ins> const profiles = await detectAvailableProfiles(true, undefined, config as ITerminalConfiguration, undefined, undefined, undefined); const expected = [{ profileName: 'PowerShell NoProfile', path: 'C:Program FilesPowerShell7pwsh.exe', overrideName: true, isAutoDetected: undefined, args: ['-NoProfile'] }]; </ins> assert.deepStrictEqual(expected, profiles); }); <del> } ); </del> <ins> test.skip('configured args should override default source ones', async () => { const _paths = [`C:Program FilesGitbinbash.exe`]; const config: ITestTerminalConfig = { profiles: { windows: { 'Git Bash': { source: ProfileSource.GitBash, args: [] } }, linux: {}, osx: {} }, displayDetectedWslProfiles: false }; const profiles = await detectAvailableProfiles(true, undefined, config as ITerminalConfiguration, undefined, undefined, createStatProvider(_paths)); const expected = [{ profileName: 'Git Bash', path: _paths[0], args: [], isAutoDetected: undefined, overrideName: undefined }]; assert.deepStrictEqual(profiles, expected); }); }); </ins> } else if (isMacintosh) { suite.skip('detectAvailableOsxProfiles', async () => { test('should detect bash, zsh, tmux, fish', async () => {

Discussion:
fixed with
To verify on Windows: a new terminal profile with source set to powershell a -NoProfile arg sure it launches a no profile pwsh session
Change:
appendLinesToResult(input2Lines, baseRange.input2Range); } else if (baseRange.input2Diffs.length === 0) { appendLinesToResult(input1Lines, baseRange.input1Range); <ins> } else if (baseRange.isEqualChange) { appendLinesToResult(input1Lines, baseRange.input1Range); </ins> } else { appendLinesToResult(baseLines, baseRange.baseRange); }

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.73.0 OS Version: WindowsNT x64 10.0. Steps to Reproduce: a struct with some fields and functions in one branch the same struct in another branch, with a minor difference in one of the fields. the branches and open the merge editor. Accept Combination. On this example, is on the left side and on the right side. I'd expect "Accept Combination" to have only a single copy for the matching lines, and duplicate only the different line (and then I'd choose which one to keep), but it duplicates the entire struct. !
I also see that deleted/deleted is considered a conflict. I see no reason why. !
I also had duplicated code on two occasions when rebasing after the new VSCode update (and that's why I searched for this issue here). It seems that it kept the old code and the new code and didn't complain or considered a change/conflict. I still haven't used , so this duplication happened without using this new feature. In both situations, I had to manually remove the old code. If I find this situation again I will add here its screenshots.
Thanks,
Thank you!
Verification steps: Use the command to open that JSON and notice that conflicts with equal changes on both sides are auto-resolved.
Change:
import './inputClipboardActions'; import './selectionClipboard'; import './sleepResumeRepaintMinimap'; <ins> import './startDebugTextMate'; </ins>

Discussion:
I noticed a dependency from : Is this something we could change so that we do not depend on node directly?
You can use to create the logger instead of creating it using spdlog directly. It will make sure it creates proper logger in the given environment. See how it is being used by other components, for eg output channels:
thanks, I opened a PR. Can you check if the logger creation is proper? It is my understanding I need to create the file first? Happens here:
I do not think creating the file is necessary - Underlying logger will take care of it.
Ok I think I saw an unrelated error then because we seem to try to read from this file directly after starting to log.
Change:
const contentWidget = this._getOrCreateContentWidget(); <del> if (this._isHoverSticky && contentWidget.isVisibleFromKeyboard()) { // Sticky mode is on and the hover has been shown via keyboard // so moving the mouse has no effect return; } </del> if (contentWidget.maybeShowAt(mouseEvent)) { this._glyphWidget?.hide(); return;

Discussion:
This is a regression of <!-- 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.74.1 arm64 OS Version: macOS 13.0.1 Steps to Reproduce: Set this settings Trigger the hover via keyboard cmd + k, cmd + I The hover disappears on minimal movement. I'm expecting to disable the hover via mouse and use only with keyboard. refs
Change:
instantiationService.stub(IWorkspaceTrustRequestService, new TestWorkspaceTrustRequestService(true)); instantiationService.stub(INotebookExecutionStateService, new TestNotebookExecutionStateService()); instantiationService.stub(IKeybindingService, new MockKeybindingService()); <ins> instantiationService.stub(INotebookCellStatusBarService, new NotebookCellStatusBarService()); </ins> return instantiationService; }

Discussion:
From
The core might have heuristics of if/when should be called, maybe this test can be turned into a unit test first?
Was just looking at this. That might make sense too, but it also seems to make sense to test this as an API contract.
Is it going to make a difference if I move off the deprecated WorkspaceEdit api?
The issue you have mentioned with the editor service, I wonder if that could be in play here because this failure is just implying that the cell did not get rendered and initially request statusbar items. This test also doesn't make sense because it's just awaiting the same promise twice
Change:
this._decorationAddon.dispose(); this._decorationAddon = undefined; } <ins> return; </ins> } if (this._decorationAddon) { this._decorationAddon.dispose();

Discussion:
Notice how the command is getting created in the console but not in the UI: !
registerDecoration is getting called with the initial command's marker every time
that's bc IE isn't happening !
today, the decoration isn't even showing up for the first command/placeholder
Hoping this will be fixed when and related fixed land
Seems related to , the decoration addon is disposed of immediately on creation now: ! Working on a fix
Change:
protected onTabContextMenu(editor: EditorInput, e: Event, node: HTMLElement): void { // Update contexts based on editor picked and remember previous to restore <del> const currentResourceContext = this.resourceContext.get(); </del> this.resourceContext.set(EditorResourceAccessor.getOriginalUri(editor, { supportSideBySide: SideBySideEditor.PRIMARY } ?? null)); <del> const currentPinnedContext = !!this.editorPinnedContext.get(); </del> this.editorPinnedContext.set(this.tabsModel.isPinned(editor)); <del> const currentEditorIsFirstContext = !!this.editorIsFirstContext.get(); </del> this.editorIsFirstContext.set(this.tabsModel.isFirst(editor)); <del> const currentEditorIsLastContext = !!this.editorIsLastContext.get(); </del> this.editorIsLastContext.set(this.tabsModel.isLast(editor)); <del> const currentStickyContext = !!this.editorStickyContext.get(); </del> this.editorStickyContext.set(this.tabsModel.isSticky(editor)); <del> const currentGroupLockedContext = !!this.groupLockedContext.get(); </del> this.groupLockedContext.set(this.tabsModel.isLocked); <del> const currentEditorCanSplitContext = !!this.editorCanSplitInGroupContext.get(); </del> this.editorCanSplitInGroupContext.set(editor.hasCapability(EditorInputCapabilities.CanSplitInGroup)); <del> const currentSideBySideEditorContext = !!this.sideBySideEditorContext.get(); </del> this.sideBySideEditorContext.set(editor.typeId === SideBySideEditorInput.ID); <del> const currentEditorAvailableEditorIds = this.editorAvailableEditorIds.get() ?? ''; </del> applyAvailableEditorIds(this.editorAvailableEditorIds, editor, this.editorResolverService); // Find target anchor

Discussion:
Version: 1.85.0 Electron: 25.9.7 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows x64 10.0. ( I am using a Python interpter ) Steps to Reproduce: Have at least 1 tab/file open the tab ( at the top ) : The run button disappears It's a very very minor bug and simply you just open another file to have it reappear. !
Thanks for reporting this! It lead to fixing this and other bugs we had :)
I am glad to hear!
Change:
title: { value: localize('workbench.action.terminal.goToRecentDirectory', "Go to Recent Directory..."), original: 'Go to Recent Directory...' }, f1: true, category, <del> precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated) </del> <ins> precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated), keybinding: { primary: KeyMod.CtrlCmd | KeyCode.KeyG, when: TerminalContextKeys.focus, weight: KeybindingWeight.WorkbenchContrib } </ins> }); } async run(accessor: ServicesAccessor): Promise<void> {

Discussion:
Forking off from Basic idea is have something similar to alt+f1 in the editor, but in the terminal and explain it in the textarea's aria-label
This will be testable on Monday. On Windows/Linux: On macOS:
/closedWith
Change:
this._contentHoverWidget.focus(); } <ins> public focusHoverPartWithIndex(index: number): void { this._renderedContentHover?.focusHoverPartWithIndex(index); } </ins> public scrollUp(): void { this._contentHoverWidget.scrollUp(); }

Discussion:
Testing on Linux Open a hover with multiple parts Tab to focus one of the hover parts Open accessible view/help Esc to close it Now the whole hover is focused, instead of the individual part I'd focused
Verified with GitLens's editor hover
Change:
); } if (state.input2) { <del> result.push(command(localize('remove', "$(error) Remove {0}", model.input2.title), async () => { </del> <ins> result.push(command(localize('remove', "Remove {0}", model.input2.title), async () => { </ins> transaction((tx) => { model.setState( modifiedBaseRange,

Discussion:
Testing I think the merge editor CodeLens actions are the only examples I've seen of icons being used—not sure they are obvious/big enough to really be of much value here. Is there any prior art for using them? <img width="269" alt="CleanShot 2022-09-27 at 11 42 19 src="https://user-"<img width="244" alt="CleanShot 2022-09-27 at 11 43 33 src="https://user-"
I can remove them. Personally I like them, as they give a non-textual clue about what is going to happen.
Why don't we start with the minimal text and then we can always choose to add them (or something else) back. Harder to remove things once they are in.
Change:
this.registerContinueInLocalFolderAction(); this.registerShowEditSessionViewAction(); <ins> this.registerShowEditSessionOutputChannelAction(); </ins> this.registered = true; } <ins> private registerShowEditSessionOutputChannelAction() { this._register(registerAction2(class ShowEditSessionOutput extends Action2 { constructor() { super(showOutputChannelCommand); } run(accessor: ServicesAccessor, ...args: any[]) { const outputChannel = accessor.get(IOutputService); void outputChannel.showChannel(Constants.editSessionsLogChannelId); } })); } </ins> private registerShowEditSessionViewAction() { const that = this; this._register(registerAction2(class ShowEditSessionView extends Action2 {

Discussion:
Testing ! It would be nice if that text is a hyperlink which opens the output channel, similar to above: !
/verified
Change:
import { IListOptions, IListStyles, List } from 'vs/base/browser/ui/list/listWidget'; import { IProgressBarStyles, ProgressBar } from 'vs/base/browser/ui/progressbar/progressbar'; import { IToggleStyles, Toggle } from 'vs/base/browser/ui/toggle/toggle'; <del> import { Action } from 'vs/base/common/actions'; </del> import { equals } from 'vs/base/common/arrays'; import { TimeoutTimer } from 'vs/base/common/async'; import { Codicon } from 'vs/base/common/codicons';

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.85.1 OS Version: Ubuntu 23.04 Steps to Reproduce: the command palette using ctrl+shift+p (or cmd+shift+p on mac) the escape key, closing the command palette 7 times that instance count has increased by 7, instance count has increased by 211, instance count has increased by 240 and instance count has increased by 302. The total disposable count has increased by 1137 from to . One class that has increased the most in the above test was . Looking where relates to the quick input I found this code in where actions are created: Perhaps it could be this code that causes the to be created. It seems the actions aren't registered/disposed like other disposables.
Thanks for reporting this! I think I've cleaned up the ... now we use the simpler non-disposable kind... I'll chip away at the rest over time.
Thanks a lot, I see now: No more Actions are leaked (211 -0) Disposable stores are 211 less leaked (240 -29) Emitter are 211 less leaked (302 -91) MutableDisposable instance count still increases (7 -7) I'll try to find more information for the MutableDisposables and DisposableStores where exactly they are created! Thanks again! Edit: The MutableDisposables are created in : They are kept alive by a 200ms timeout and disposed after 200ms so it's no problem: Just the test executing too fast / finishing before the MutableDisposables were disposed. :)
Change:
bindings "^1.2.1" nan "^2.1.0" <del> windows-process-tree@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/windows-process-tree/-/windows-process-tree-0.2.0.tgz#04dc0507df292a7984daf0d35861bd1ebaff7ae8" </del> <ins> windows-process-tree@0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/windows-process-tree/-/windows-process-tree-0.2.1.tgz#d750f8592bd956e89f8dc565bc47be6430d3df6e" </ins> dependencies: nan "^2.6.2"

Discussion:
After updating the module to support getting memory, cpu, and command line for each process on windows (), the module can be used in more places within VSCode [x] Update existing version of the module that's being used in the terminal [x] Use the module in place of the PowerShell script in
Change:
private _currentItemIds: string[] = []; private _showedExecutingStateTime: number | undefined; <del> private _clearExecutingStateTimer: IDisposable | undefined; </del> <ins> private _clearExecutingStateTimer = this._register(new MutableDisposable()); </ins> constructor( private readonly _notebookViewModel: INotebookViewModel,

Discussion:
[X] Notebooks (.ipynb files) [ ] Interactive Window and/or Cell Scripts (.py files with #%% markers) When a cell successfully executes, I get a little green check mark to indicate success. Sometimes these marks keep getting instead of just re-using the first one. So I end up with 15+ checks across the bottom of my cell. This looks weird. ! Version: 1.70.1 (user setup) Commit: Date: 2022-08-10T06:08:33.642Z Electron: 18.3.5 Chromium: 100.0.4896.160 16.13.2 V8: 10.0.139.17-electron.0 OS: WindowsNT x64 10.0. 2022.7.110 (12 Aug 2022) No response No response No response_ Local
Thanks for filing this. Have not seen something like this before. I'll look at reproing it. Anything in particular that triggers this behavior? Or just something that shows up to you relatively often?
I've just started noticing it recently. I have not recognized a pattern yet. But I do frequently have exceptions, so maybe having something around it fail and then succeed gets it in a weird state? I'll try to pay more attention to when it starts happening.
I also restart my kernel a lot, which may have something to do with it too.
Hm, we had these issues in the past, but I thought all the bugs were squashed Edited - actually, I was just able to repro this by scrolling around while executing a cell. Not a recent regression