jiebi/CodeConvo huggingface dataset:
Change:
export function createServices(remoteCom: IPluginsIPC, initData: IInitData, sharedProcessClient: Client): IInstantiationService { // the init data is not demarshalled initData = marshalling.deserialize(initData); let contextService = new BaseWorkspaceContextService(initData.contextService.workspace, initData.contextService.configuration, initData.contextService.options); let threadService = new PluginHostThreadService(remoteCom); threadService.setInstantiationService(InstantiationService.create({ threadService: threadService })); <del> let telemetryServiceInstance = new ExtHostTelemetryService(threadService); let requestService = new BaseRequestService(contextService, telemetryServiceInstance); </del> <ins> let telemetryService = new ExtHostTelemetryService(threadService); let requestService = new BaseRequestService(contextService, telemetryService); </ins> let modelService = threadService.getRemotable(ExtHostModelService); let pluginService = new PluginHostPluginService(threadService);

Discussion:
I'm not sure if this is an issue in vscode, or typescript, or a DT package, but vscode is complaining about the "funding" field requiring 2 properties, which is incorrect (the other one is "type", and it's optional). <img width="440" alt="Screen Shot 2022-03-14 at 2 36 39 PM" src="https://user-"If this is the wrong place to file it, please point me to the right one :-) Thanks!
(happy to do the work to fix it, too, if someone can point me to where they're defined)
Most likely this is provided by SchemaStore and was just recently UPD. Documentation doesn't have any examples of objects only with field so it's unclear from docs if it's possible to omit field unless you check implementation (or do the implementation ). Maybe it make sense to have at least one object without field in npm docs?
Yes, this needs to be adopted in the SchemaStore. Marking as duplicate of
The docs are irrelevant; to document the types for something, you need to check the actual behavior. Thanks, I’ll follow it there.
Change:
export class CompositeOverflowActivityActionViewItem extends CompoisteBarActionViewItem { <del> private actions: IAction[] = []; </del> constructor( action: CompositeBarAction, private getOverflowingComposites: () => { id: string; name?: string }[],

Discussion:
Explorer focused: ! It's only working for debug: !
It seems to working for me <img width="370" alt="image" src=""Do you have any special theme, or customisations or set up? Probably try trouble shooting?
Also the state can be frozen: ! ! Same thing in dark modern. No errors in console
Here's a repro that seems reliable: the side bar narrow enough to make some of your activity icons get displaced into the ... menu. an option from that menu. Its icon appears and get selected with the underline correct. drag that icon left to position it nearer the start of the set of tabs in order for it not to get displaced onto the ... menu again. It loses its underline and even when you switch to another icon and back to this one it doesn't get underlined.
To reset, move activity bar to side, then back to top again.
Thanks for repro steps
OFF TOPIC. May I ask how to move the activity bar from left to top? Tried searching for settings and Googling, but didn't get any results.
if you're on the Insiders build you can right click the activity bar to change the position
To verify: Move activity bar to top Reduce the width of sidebar so that activity bar actions are exactly fit Switch to Debug view container. All activity bar actions moved to overflow action From overflow action, select explorer Make sure explorer is shown active
Change:
@IViewDescriptorService private readonly viewDescriptorService: IViewDescriptorService, @IContextKeyService protected readonly contextKeyService: IContextKeyService, @IWorkbenchEnvironmentService private readonly environmentService: IWorkbenchEnvironmentService, <ins> @IWorkbenchLayoutService protected readonly layoutService: IWorkbenchLayoutService, </ins> ) { super(); this.location = paneCompositePart.partId === Parts.PANEL_PART

Discussion:
Testing When I dragged one of the icons to the second side bar, I wanted it to be placed before the other icon, however, it was placed behind it even though the bar indicating where it would be placed was in front of the icon. Also I noticed it's not possible to drop an icon on the top part of the side bar when the side bar is empty. It's only possible to drop it on the view part of the side bar. I think it should be possible to drop it everywhere in the second side bar when it is empty. !
I cannot reproduce this. I see it is happening in the recording, but it would be great if you can give me steps you followed to repro. Agreed. This is not new and has been like this before. But, I observed another bug in your recording that dropping the view container is not activating it - this used to be getting activated in older versions. Fixed that.
Change:
} async run(accessor: ServicesAccessor, editSessionId?: string): Promise<void> { <del> await that.progressService.withProgress({ location: ProgressLocation.Notification, title: localize('resuming edit session', 'Resuming edit session...') }, async () => { </del> <ins> await that.progressService.withProgress(resumingProgressOptions, async () => { </ins> type ResumeEvent = {}; type ResumeClassification = { owner: 'joyceerhl'; comment: 'Reporting when the resume edit session action is invoked.';

Discussion:
Testing ! It would be nice if that text is a hyperlink which opens the output channel, similar to above: !
/verified
Change:
import { MergeDiffComputer } from 'vs/workbench/contrib/mergeEditor/browser/model/diffComputer'; import { InputData, MergeEditorModel } from 'vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel'; import { MergeEditorTelemetry } from 'vs/workbench/contrib/mergeEditor/browser/telemetry'; <ins> import { StorageCloseWithConflicts } from 'vs/workbench/contrib/mergeEditor/common/mergeEditor'; </ins> import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { ITextFileEditorModel, ITextFileSaveOptions, ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';

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

"Don't ask again" Cancel The "Don't ask again" choice will be preserved. It should probably be only preserved if I click on "Close with Conflicts". I am not supper passionate about this, but let me know if you would like me to file an issue
Change:
} } this._windowsPromptPollingInProcess = false; <del> if (i === 20) { </del> <ins> if (i >= 50) { </ins> this._logService.debug('CommandDetectionCapability#_handleCommandStartWindows reached max attempts, ', this._cursorOnNextLine(), this._getWindowsPrompt()); } else if (prompt) { // use the regex to set the position as it's possible input has occurred

Discussion:
Repro: (maybe not needed?) terminal some text, note the cursor location an editor the terminal, the cursor is at the start of the textbox !
Works on mac
It also works for me on Windows
any other steps required?
I think the repro is fill the viewport such that there's a scroll bar, then type
Ctrl+c helps make it happen too
Some other repros too: ! ! !
I'm hitting this: Looking into it
Change:
} export function fromFile(id: string, coverage: vscode.FileCoverage): IFileCoverage.Serialized { <ins> types.validateTestCoverageCount(coverage.statementCoverage); types.validateTestCoverageCount(coverage.branchCoverage); types.validateTestCoverageCount(coverage.declarationCoverage); </ins> return { id, uri: coverage.uri,

Discussion:
Refs: [x] anyOS [x] anyOS Complexity: 4 We have at long last finalized the test coverage API. Implementing an extension that produces data for the API from scratch is challenging, and requires domain-specific knowledge, so you might find playing with the selfhost test provider to be the most effective way to test it The new types in the API include: - - - Please: Do some testing that the API and UI functions as you would expect Read through the API and verify that its documentation makes sense to you See that UI interactions work nicely as you would expect (you can use any extension that produces coverage to test this part)
Change:
import { IWorkingCopyEditorHandler, IWorkingCopyEditorService } from 'vs/workbench/services/workingCopy/common/workingCopyEditorService'; import { extname, isEqual } from 'vs/base/common/resources'; import { INotebookService } from 'vs/workbench/contrib/notebook/common/notebookService'; <del> // eslint-disable-next-line local/code-translation-remind </del> import { localize2 } from 'vs/nls'; import { Action2, registerAction2 } from 'vs/platform/actions/common/actions'; import { IEditorResolverService, RegisteredEditorPriority } from 'vs/workbench/services/editor/common/editorResolverService';

Discussion:
was broken for some time and I re-enabled it today. However eslint failures were reported in and and I disabled them. Please have a look and fix the corresponding errors.
- I'm not sure what that rule is - do you know if it's documented somewhere? Also, when I remove that comment and run locally, I don't see any failures.
Tyler helped me find it. I don't see lint warnings for this for some reason, even though I have the installled and enabled
Change:
this._extensionsRecommendationsUrl = product.extensionsGallery.recommendationsUrl; } <ins> this.sessionSeed = +new Date(); </ins> let globallyIgnored = <string[]>JSON.parse(this.storageService.get('extensionsAssistant/ignored_recommendations', StorageScope.GLOBAL, '[]')); this._globallyIgnoredRecommendations = globallyIgnored.map(id => id.toLowerCase());

Discussion:
Testing When I open the Extensions Viewlet and choose from the overflow menu, I get a new/different list every time I execute the command. From a user's perspective, I don't understand why I keep getting a new list. I expect that when I issue the command VS Code shows me all of the recommended extensions. Otherwise, I keep clicking the menu to see what else might be recommended.
The ones that change are the tool based recommendations and the one we infer from telemetry. There is no ranking mechanism for these, and so are shuffled to give all a chance to be shown. What we can do is do the shuffle only once for each VS Code session. Sound ok?
yes, for each session sounds good. i can imagine that if we have not yet done the more costly recommendations then the 2nd or 3rd time i invoke that more are to the list.
I didnt follow that. Are you saying that we should keep adding to the list every time is invoked? Why?
Change:
DeleteRef: { kind: OperationKind.DeleteRef, blocking: false, readOnly: false, remote: false, retry: false, showProgress: true } as DeleteRefOperation, DeleteRemoteTag: { kind: OperationKind.DeleteRemoteTag, blocking: false, readOnly: false, remote: true, retry: false, showProgress: true } as DeleteRemoteTagOperation, DeleteTag: { kind: OperationKind.DeleteTag, blocking: false, readOnly: false, remote: false, retry: false, showProgress: true } as DeleteTagOperation, <del> Diff: { kind: OperationKind.Diff, blocking: false, readOnly: true, remote: false, retry: false, showProgress: true } as DiffOperation, </del> <ins> Diff: { kind: OperationKind.Diff, blocking: false, readOnly: true, remote: false, retry: false, showProgress: false } as DiffOperation, </ins> Fetch: (showProgress: boolean) => ({ kind: OperationKind.Fetch, blocking: false, readOnly: false, remote: true, retry: true, showProgress } as FetchOperation), FindTrackingBranches: { kind: OperationKind.FindTrackingBranches, blocking: false, readOnly: true, remote: false, retry: false, showProgress: true } as FindTrackingBranchesOperation, GetBranch: { kind: OperationKind.GetBranch, blocking: false, readOnly: true, remote: false, retry: false, showProgress: true } as GetBranchOperation,

Discussion:
Testing the action on a commit in incoming/outgoing. Notice the SCM view shows progress. If there's any progress at all to show, it should be in the multi-file diff editor that opens, not SCM. This is very noticeable in empty commits, where clicking the action does nothing other than showing a progress bar. Related to
Change:
import Event, { Emitter } from 'vs/base/common/event'; import Uri from 'vs/base/common/uri'; import { WindowsShellHelper } from 'vs/workbench/parts/terminal/electron-browser/windowsShellHelper'; <del> import XTermTerminal = require('xterm'); </del> <ins> import { Terminal as XTermTerminal } from 'xterm'; </ins> import { Dimension } from 'vs/base/browser/builder'; import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';

Discussion:
Upstream issue: Please verify this on Linux by opening tmux in mouse mode and ensuring regular mouse selection triggers "tmux selection" and shift+mouse selection triggers the regular terminal selection.
I thought I verified this last month?
this was Mac only last month, needs verification on Linux.

Scrolling within the integrated terminal doesn't scroll curses interfaces such as , , , etc. <!-- Use Help Report Issues to prefill these. --- VSCode Version: Version 1.15.0 OS Version: Arch Linux Shell: ZSH (oh-my-zsh) the integrated terminal ( ``) a curses style pager interface (e.g. , , , ) the mouse scrollwheel to try and scroll the pager happens, using keyboard commands to scroll works fine (, , , , arrow keys, etc) a seperate terminal (e.g. or ) step 2 & 3 above as expected; pager scrolls <!-- Launch with to check. --Reproduces without extensions: Yes
This should be fixed in the next version. Note that this only applies to applications that launch the alt buffer however, so it does not apply to . Upstream issue:
Sounds like the upstream issue might be a different one to this. It appears to be about the alternative buffer being rendered twice after a scroll. This is about passing scroll events to pager style programs, such as less and git log.
The reason scroll isn't making it to the terminal app is because the scrollbar is grabbing the event and not passing it to the terminal. When there is no scrollback it gets sent to the terminal correctly.
It works in tmux fine now but not vim yet.
This has been working for a few versions now
Change:
return Math.round(desiredSliderPosition / this._computedSliderRatio); } <ins> public getDesiredScrollTopFromTouchLocation(pageY: number): number { return Math.round((pageY - this.sliderHeight / 2) / this._computedSliderRatio); } </ins> public static create( options: MinimapOptions, viewportStartLineNumber: number,

Discussion:
Issue Type: <bFeature Request</bWhen using a touch screen, I want to be able to interact with VSCode in an intuitive manner. When I touch the minimap, I expect the document to scroll immediately on touch-down, not on touch-up. Mouse-up makes sense for a mouse, but not for a touch. When I touch and drag the minimap, I expect the minimap to scroll with my finger. VS Code version: Code 1.22.1 (, 2018-04-06T02:26:57.615Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.487 --- <!-- score: 0.464 --- <!-- score: 0.449 --<!-- potentialduplicatescomment --
I haven't PR'd vscode before, if anyone who cares about this issue has tips on getting my PR ^^ merged and released I'm happy to put more work into it. I find it very frustrating not having touch-scrolling on the minimap, as I'm so used to it working in old-school Visual Studio!
Change:
border-color: var(--theme-input-focus-border-color); } #container div.output .scrollable { <del> overflow-y: scroll; </del> <ins> overflow-y: auto; </ins> max-height: var(--notebook-cell-output-max-height); } #container div.output .scrollable.scrollbar-visible {

Discussion:
Testing Opened just now and saw the shadow on the top of the executed cell and the scroll bar on the right: ! Similar to this issue I'm on zoom level 1, see my settings here:
Change:
&& typeof (<URI>thing).path === 'string' && typeof (<URI>thing).query === 'string' && typeof (<URI>thing).scheme === 'string' <del> && typeof (<URI>thing).fsPath === 'function' </del> <ins> && typeof (<URI>thing).fsPath === 'string' </ins> && typeof (<URI>thing).with === 'function' && typeof (<URI>thing).toString === 'function'; }

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: 1.53.0 OS Version: macOS 11.1 Steps to Reproduce: custom URI class that implements the default URI in the custom URI into and it returns This is a proposed fix for . If a model is created using a custom URI, it will fail the check because it "tries" to check against various possible types, but it will fail at . The side-effect is that behaves a bit weird and shows markers for all resources, not just for a particular resource/URI. Example: <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Indeed. Nice find.
Change:
*--------------------------------------------------------------------------------------------*/ import DOM = require('vs/base/browser/dom'); <del> import {getBaseThemeId} from 'vs/platform/theme/common/themes'; </del> import lifecycle = require('vs/base/common/lifecycle'); <ins> import nls = require('vs/nls'); </ins> import platform = require('vs/base/common/platform'); import {Action, IAction} from 'vs/base/common/actions'; import {Builder, Dimension} from 'vs/base/browser/builder'; <del> import {KillTerminalAction, CreateNewTerminalAction, SwitchTerminalInstanceAction, SwitchTerminalInstanceActionItem} from 'vs/workbench/parts/terminal/electron-browser/terminalActions'; </del> <ins> import {getBaseThemeId} from 'vs/platform/theme/common/themes'; </ins> import {IActionItem} from 'vs/base/browser/ui/actionbar/actionbar'; import {IConfigurationService} from 'vs/platform/configuration/common/configuration'; <del> import {IKeybindingContextKey} from 'vs/platform/keybinding/common/keybinding'; </del> <ins> import {IContextMenuService} from 'vs/platform/contextview/browser/contextView'; </ins> import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation'; <ins> import {IKeybindingService, IKeybindingContextKey} from 'vs/platform/keybinding/common/keybinding'; </ins> import {IMessageService} from 'vs/platform/message/common/message'; import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry'; <ins> import {ITerminalFont, TerminalConfigHelper} from 'vs/workbench/parts/terminal/electron-browser/terminalConfigHelper'; </ins> import {ITerminalProcess, ITerminalService, TERMINAL_PANEL_ID} from 'vs/workbench/parts/terminal/electron-browser/terminal'; import {IThemeService} from 'vs/workbench/services/themes/common/themeService'; import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace'; <ins> import {KillTerminalAction, CreateNewTerminalAction, SwitchTerminalInstanceAction, SwitchTerminalInstanceActionItem, CopyTerminalSelectionAction, TerminalPasteAction} from 'vs/workbench/parts/terminal/electron-browser/terminalActions'; </ins> import {Panel} from 'vs/workbench/browser/panel'; <del> import {TPromise} from 'vs/base/common/winjs.base'; import {ITerminalFont, TerminalConfigHelper} from 'vs/workbench/parts/terminal/electron-browser/terminalConfigHelper'; </del> <ins> import {Separator} from 'vs/base/browser/ui/actionbar/actionbar'; import {StandardMouseEvent} from 'vs/base/browser/mouseEvent'; </ins> import {TerminalInstance} from 'vs/workbench/parts/terminal/electron-browser/terminalInstance'; <ins> import {TPromise} from 'vs/base/common/winjs.base'; </ins> export class TerminalPanel extends Panel {

Discussion:
Currently events are handled in each terminal instance, this means that event handlers go off for each terminal instances for an event on the terminal panel.
Change:
}); }); <ins> suiteTeardown(function () { disposableStore.dispose(); }); </ins> let modeService: ModeServiceImpl; let snippetService: ISnippetsService; <del> let context: CompletionContext = { triggerKind: CompletionTriggerKind.Invoke }; </del> setup(function () { modeService = new ModeServiceImpl();

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. --Version: 1.49.0-insider Commit: Date: 2020-08-17T17:11:16.078Z (1 day ago) Electron: 9.2.0 Chrome: 83.0.4103.122 12.14.1 V8: 8.3.110.13-electron.0 OS: Darwin x64 19.6.0 Steps to Reproduce: Add the following python snippet: or PowerShell snippet: : which will cause auto-closing pair... (at this point you have where is the cursor) add a or and hit TAB or ENTER on the intellisense item NOTE THE TRAILING . Snippets and auto-closing pairs should play nice together so that the whole experience generates valid code. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Here's a javascript example for array destructuring: which gets you: when you type:
better example! A javascript example for : which gets you: when you type:
for verification, this: should get you: on insert mode replace (default is SHIFT + ENTER)
I'll note that it works fine in non-json files, but is reversed in a json file (as are the insert/replace hints in the suggestion box). W10
that seems like a separate issue not related to this fix. Can you open a new issue?
Yes, I'll open another issue.