jiebi/CodeConvo huggingface dataset:
Change:
this.initialConfigurations = rawAdapter.initialConfigurations; this._label = rawAdapter.label; this.enableBreakpointsFor = rawAdapter.enableBreakpointsFor; <ins> this.aiKey = rawAdapter.aiKey; </ins> } public get label() {

Discussion:
If this key is set, all telemetry information generated in a debug session of the corresponding debug type will be tagged with that key (so that the data is routed to the correct bucket). what would be a good name for that key? (it should match the name used in other places where this key is used).
this is probably something you want to use...
The functionality for reporting telemetry only supports application insights pipeline, so I suggest calling it something explicit as .
we are not using acronyms in our protocol at all, so not a big fan of , I would rather go with . I would put it as a top level attribute under in the . If this is not provided I would ignore the telemetry event so we never mix the adapter telemtery with our vscode telemetry. What do you think?
yes, put aiKey at the top of . What's about our own debug adapters? Do we get our own keys for them so that their telemetry events go to vscode telemetry?
What we do we with the current adapters telemetry? do we depend on any of them in our current active reporting? If not, let's put them in the standard first party extensions pipeline. Otherwise, we can use the same vscode key, if so I would want make sure that adds standard properties such as machineId and sessionId so the processing scripts can function normally.
For Microsoft owned debug adapters, wouldn't we want their telemetry in the same stream as VS Code so that one could look at all activity for the same session? Or are there other good ways to tie that together?
previously we were reporting telemetry events of all debug adapters to vscode. With the new mechanism we don't do this any more, so we have to make sure that the node-debug adapter (which is shipping with vscode) still gets reported in the same way as before. So I will set the aiKey.
Change:
"onigasm-umd": "^2.2.2", "semver-umd": "^5.5.3", "vscode-textmate": "^4.3.0", <del> "xterm": "4.2.0", </del> <ins> "xterm": "4.2.0-vscode1", </ins> "xterm-addon-search": "0.3.0", "xterm-addon-web-links": "0.2.1" }

Discussion:
This increases the amount of work done when typing commands to be significantly more. Upstream:
Can't really verify this issue without debugging into the code, inside (formatted) you will see an function, the args are start/end. Add a breakpoint to that function and verify the args are a range for a single like (eg. 15, 15) after typing a single character into the terminal. Here is the failing case where the terminal is re-rendering lines 0-15: ! Use the canvas renderer to verify.
A better way to verify: to DOM renderer paint flashing: ! you type into the prompt only a single line will flash
Verified in latest (). Can this issue be closed?
Change:
async updateOutput(cell: CodeCellViewModel, output: IInsetRenderOutput, offset: number): Promise<void> { this._insetModifyQueueByOutputId.queue(output.source.model.outputId, async () => { <del> if (this._isDisposed || !this._webview) { </del> <ins> if (this._isDisposed || !this._webview || cell.isOutputCollapsed) { </ins> return; }

Discussion:
Type: <bBug</bWhen a notebook updates text in a collapsed cells unexpected things happen. The Jupyter Notebook renders the output while still showing that the output is collapsed. Node.JS Notebooks and httpBook show empty cells and will only show the output again when expanded, collapsed, expanded again In the the result looks like this: ! Issue created to hopefully follow up Extension version: 2023.9. VS Code version: Code 1.83.1 (Universal) (, 2023-10-10T23:46:55.789Z) OS version: Darwin arm64 23.0.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Change:
private readonly _rootDomNode: HTMLElement; private _previousState: StickyScrollState<T, TFilterData, TRef> | undefined; <del> private _mouseUpTimerDisposable = new MutableDisposable(); </del> constructor( container: HTMLElement,

Discussion:
Testing Repro: a node in a tree that is fairly deep. a parent node. that there's a slight flicker. Consecutive collapse/expands don't have that, only the first. ]()
Change:
"colors": { // Base // "foreground": "", <del> "focusBorder": "#D3AF86", </del> <ins> "focusBorder": "#b49471", </ins> // "contrastActiveBorder": "", // "contrastBorder": "", // "widget.shadow": "",

Discussion:
+F to open the editor find widget. Focus should be on the find input box. case-sensitive search. to the case-sensitive search button. :bug: Keyboard focus is on that element, but it's not clear that keyboard focus is on that element. !
works fine on my machine with Light+ and Dark+ theme, what theme are you using? ! !
Thanks! I guess the problem depends on the theme. The problem seems to occur on at least Quiet Light, Solarized Light, and Monokai.
Can confirm the the issue in those themes on my windows machine. I never sent a pull request to vscode but that seems easy to solve, the question is what highlight color would fit best each theme, i might take a look later unless there are some rules about how to set some of the theme colors... the colors effecting this seem to be "focusBorder" and "inputOption.activeBorder" I would love to offer some new colors later today/tomorrow and pull request them
I propose giving a bit of contrast to the "focusBorder" I think that focus border should have a bit of contrast from background as this is marking elements the user needs to spot quickly, even in themes with less contrast light quiet light i think this is best to increase contrast in those areas, this is only showing for elements put in focus and wont change the feeling of the theme by much. Here are the new colors i propose and will commit and pull request later if those look acceptable For Quiet Light: ! For Solarized Light: ! For Monokai: !
Change:
async $provideShare(handle: number, shareableItem: IShareableItemDto, token: CancellationToken): Promise<UriComponents | undefined> { const provider = this.providers.get(handle); <del> const result = await provider?.provideShare({ selection: Range.to(shareableItem.range), resourceUri: URI.revive(shareableItem.resourceUri) }, token); </del> <ins> const result = await provider?.provideShare({ selection: Range.to(shareableItem.selection), resourceUri: URI.revive(shareableItem.resourceUri) }, token); </ins> return result ?? undefined; }

Discussion:
Testing My extension's provider is not receiving the within the passed to its I think this's caused by this -

Testing takes a but doesn't respect the selector's . I created an extension which uses Share Provider API, but its share contribution wasn't being invoked. It seems the language isn't being passed - see 3rd arg being an empty string .
I observe the same, using: registers the share provider, however as soon as I add a language, this is no longer the case
Change:
// }, { id: 'commandPalette', <del> arrow: '&nwarr;', </del> <ins> arrow: 'u2196', // &nwarr; </ins> label: localize('welcomeOverlay.commandPalette', "Find and run all commands"), command: ShowAllCommandsAction.ID }, { id: 'notifications', <del> arrow: '&cudarrr;', </del> <ins> arrow: 'u2935', // &cudarrr; </ins> arrowLast: true, label: localize('welcomeOverlay.notifications', "Show notifications"), command: 'notifications.showList'

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --The next step in resolving . The Trusted Types violation here is setting an HTMLElement’s text content by assigning it to . Because in all of the cases the HTMLElement is already created with function, the idea is to pass the text as its argument. That is to replace: with .
Change:
MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: SPLIT_EDITOR_IN_GROUP, title: localize('splitInGroup', "Split in Group") }, group: '5_split', order: 50, when: ActiveEditorCanSplitInGroupContext }); MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: JOIN_EDITOR_IN_GROUP, title: localize('joinInGroup', "Join in Group") }, group: '5_split', order: 50, when: SideBySideEditorActiveContext }); MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: MOVE_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, title: localize('moveToNewWindow', "Move into New Window") }, group: '6_new_window', order: 10 }); <ins> MenuRegistry.appendMenuItem(MenuId.EditorTitleContext, { command: { id: COPY_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, title: localize('copyToNewWindow', "Copy into New Window") }, group: '6_new_window', order: 20 }); </ins> // Editor Title Menu MenuRegistry.appendMenuItem(MenuId.EditorTitle, { command: { id: TOGGLE_DIFF_SIDE_BY_SIDE, title: localize('inlineView', "Inline View"), toggled: ContextKeyExpr.equals('config.diffEditor.renderSideBySide', false) }, group: '1_diff', order: 10, when: ContextKeyExpr.has('isInDiffEditor') });

Discussion:
Testing I am wondering if there should be a context menu action for this? !
Yeah, I actually decided to do a bit more: Editor Tab Container Context Menu: <img width="447" alt="image" src=""Empty Editor Group Context Menu: <img width="458" alt="image" src="" to open an empty aux window
Change:
return { files: parseInt(files), insertions: parseInt(insertions ?? '0'), deletions: parseInt(deletions ?? '0') }; } <del> interface LsTreeElement { </del> <ins> export interface LsTreeElement { </ins> mode: string; type: string; object: string;

Discussion:
Verification steps: Open a folder/workspace that contains a git repository Modify an existing file, and save it Add a new file, add some contents to it, and save it Invoke the "Git: Stash (Include Untracked)" command, and create a new stash Invoke the "Git: View Stash", and pick the stash that you have created Confirm that all files from the stash have the correct content
Change:
function isKernelSourceQuickPickItem(item: IQuickPickItem): item is KernelSourceQuickPickItem { return 'command' in item; } <del> type KernelQuickPickItem = IQuickPickItem | InstallExtensionPick | KernelPick | GroupedKernelsPick | SourcePick | KernelSourceQuickPickItem; </del> <ins> function supportAutoRun(item: QuickPickInput<IQuickPickItem>): item is IQuickPickItem { return 'autoRun' in item && !!item.autoRun; } type KernelQuickPickItem = (IQuickPickItem & { autoRun?: boolean }) | InstallExtensionPick | KernelPick | GroupedKernelsPick | SourcePick | KernelSourceQuickPickItem; </ins> const KERNEL_PICKER_UPDATE_DEBOUNCE = 200; export type KernelQuickPickContext =

Discussion:
When we only have a couple of notebook controllers created for a notebook type, without any kernel detection task or kernel source commands, the "Select Another Kernel" should not show.
I have no kernels in the MRU, clicking Select Kernel brings me to this quickpick, and clicking the back button here does nothing--I think it shouldn't be shown in this scenario ! I have the Jupyter extension installed but not the Python extension installed, with the MRU picker enabled, the Select Kernel dropdown spins forever like this: !
Change:
styleSheetContent: this.styleSheetContent, watch: this.watch, extensionData: ExtensionData.toJSONObject(this.extensionData), <ins> iconDefinitions, iconFontDefinitions </ins> }); storageService.store(ProductIconThemeData.STORAGE_KEY, data, StorageScope.PROFILE, StorageTarget.MACHINE); }

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 <!-- 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.0 OS Version: Windows 11 21H2 Steps to Reproduce: a window another window with and observe that product icon themes don't load immediately and you are shown the default ones for a short while. https://user- The video above contains an example of this issue happening. If it matters, I am using the Fluent Icons product icon theme.
Why does this have the feature request label? This is a bug.
Change:
constructor() { const defaults: InternalParameterHintOptions = { enabled: true, <del> cycle: false </del> <ins> cycle: true </ins> }; super( EditorOption.parameterHints, 'parameterHints', defaults,

Discussion:
This is a tiny suggestion but I run into it constantly. Often, I instinctively hit the up arrow to scroll through suggestions only for the little dialog/popup to disappear entirely rather than wrapping around to the other side of the list. For instance, if a function has 8+ overloads, I have to hit down arrow 7 times exactly. If I hit more than that, the whole thing closes and I have to start over. Talking about this popup specifically: Would be nice if it wrapped around, so I can access the last suggestion just by hitting up arrow, or don't accidentally lose my place by going too far.
Repro after pressing down a few times: !
TIL exists for this.
Huh. Why is it defaulted to off? That seems counter-intuitive, since it is by default cycle in VS.
I prefer true as well and just set it. thoughts on whether this should be off by default?
I think parameter hints is owned by
it actually moved to me when Pine left, I haven't done much on it though.
Aha! I wasn't sure anymore and just looked at who has the most items assigned with that label :). Yes, I think changing to be by default would be an improvement. Other places like suggestions (arrow down) or find matches (F3) cycle by default.
To verify: The default should be true Switch it and ensure both values work
Change:
} } <ins> public reuseTerminal(shell?: IShellLaunchConfig): void { // Kill and clean up old process if (this._process) { this._process.removeAllListeners('exit'); if (this._process.connected) { this._process.kill(); } this._process = null; } lifecycle.dispose(this._processDisposables); this._processDisposables = []; // Ensure new processes' output starts at start of new line this._xterm.write('nx1b[G'); // Initialize new process this._createProcess(this._contextService.getWorkspace(), shell.name, shell); this._process.on('message', (message) => this._sendPtyDataToXterm(message)); // Clean up waitOnExit state if (this._isExiting && this._shellLaunchConfig.waitOnExit) { this._xterm.setOption('disableStdin', false); this._isExiting = false; } // Set the new shell launch config this._shellLaunchConfig = shell; } </ins> // TODO: This should be private/protected // TODO: locale should not be optional public static createTerminalEnv(parentEnv: IStringDictionary<string>, shell: IShellLaunchConfig, cwd: string, locale?: string): IStringDictionary<string> {

Discussion:
From
For January we decided to keep the task in the core. So there is no need to make this 'public' API now. May be it would be good to first experiment a little with the new API.
just to make sure, were you thinking of using a prompt (press any key to close) that can be reused? Or a terminal that executes something, the pty process dies and just sits there ("dead") until another task command is sent?
I would like to achieve the following: create a new terminal and allow terminal reuse (could be an additional option) without actually running a terminal right away (if necessary we could run it as well) run a command in the terminal. This will create the actual shell process. Usually the shell would be started with /c receive an exit event when the shell exists reuse the terminal to run another command in the terminal which creates a new shell process. Use case if for a build task: if the user runs the build tasks 3 times in a row I would like to have one terminal (e.g. on entry in the drop down in the terminal pane) which contains the output of all three task runs.
I have one additional question. Does the terminal require to run a shell or would the terminal be able to run any other arbitrary process (for example a ).
I got it working to run an arbitrary program. Only drawback is that I needed to specify the full path to the program (e.g. ). Any idea why this is the case?
do you mean the shell path you're using is and it's not working like that? I guess the resolution stuff is contained within , I would think it would probably be safest to always wrap the command within or . Wrapping the command means the process will die when it finishes so I don't see a downside?
the only problem is argument passing with spaces contained. If you call node directly then you pass the args as a string[]. If you call the for example you need to construct a single string with proper arg quoting to ensure everything works when for example the command to call contains spaces. And you save a process :-)
could this be useful for Python terminal execution?
Change:
autoForwardAction: PortAutoForwardAction; /** <del> * @deprecated */ constructor(port: number, autoForwardAction: PortAutoForwardAction); /** </del> * Creates a new PortAttributes object * @param port the port number * @param autoForwardAction the action to take when this port is detected

Discussion:
Testing When I try to return , , and aren't working for me. an extension as described in and create a ports attribute provider. the following to return one of the above actions: running the command, we just get a notification. :bug: I'm not sure whether this is happening because I'm in a devcontainer.
Hmm, I'm still seeing this in an alpine devcontainer. The previews/browsers should open immediately upon detection, right?
Verified using different verif steps than above.
Change:
registerEditorContribution(FindController); registerEditorAction(StartFindAction); <ins> registerEditorAction(StartFindWithSelectionAction); </ins> registerEditorAction(NextMatchFindAction); registerEditorAction(PreviousMatchFindAction); registerEditorAction(NextSelectionMatchFindAction);

Discussion:
VSCode Version: Code 1.17.2 (, 2017-10-16T13:47:41.889Z) OS Version: Darwin x64 17.0.0 Extensions: ExtensionVersion ------ unity-tools0.1.9 unity-debug1.2.1 vscode-eslint1.3.2 python0.7.0 cpptools0.14.0 csharp1.12.1 mono-debug0.15.7 vscode-arduino0.2.9 Steps to Reproduce: the user setting "": false, text in a document command-e command-f Expected results: VS Code matches the standard Mac text find behavior, where command-e populates the search pasteboard with the current selection, but doesn't show the find panel. Pressing command-f thereafter shows the find panel, revealing what I put in there with command-e. Actual results: pressing command-e shows the find panel and doesn't populate the search pasteboard Plx to allow me to match the macOS standard behavior! Is my favest! <!-- Launch with to check. --Reproduces without extensions: Yes
Change:
} getFilterStats(): { total: number, filtered: number } { <ins> // This could be called before the tree is created when setting this.filterState.filterText value </ins> return { <del> total: this.tree.getNode().children.length, filtered: this.tree.getNode().children.filter(c => c.visible).length </del> <ins> total: this.tree?.getNode().children.length ?? 0, filtered: this.tree?.getNode().children.filter(c => c.visible).length ?? 0 </ins> }; }

Discussion:
I frequently use the debug console in VS Code to get output from my application but it's often cluttered with various log messages from services that I cannot control. These unwanted entries are easily filtered in the text field "Filter (e.g. text, !exclude)" box. I would like a setting to configure this default filter text per workspace. Currently I have to manually configure this filter each time I start VS Code. I could not find this in either default settings or through an extension.
This is a fair feature request, however we do not have it on our immediate plan. Thus assigning to backlog and we might add this in the future. Thanks I would actually prefer if we would just preserve the filter across vscode reloads. I am open to Pull Requests that solve this. Code pointer
Great. I would be fine with it being preserved through reloads
Created PR fixing this
thanks a lot for that I have commented on the PR.
I am trying to verify this feature right now, but it isn't persisting upon reload on my side (running off of latest commit on main). Steps: extension filter to debug console debugging command palette to reload console's filter is empty again. Is my flow correct?
thanks for trying to verify this. However this fix is not yet released. Sorry for not specifying. Though we have this label that should help with that. So I will close this issue, and it would be great if you can try it out again tomorrow. Thank you!
Change:
fileComments: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileComments.d.ts', fileSearchProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider.d.ts', findTextInFiles: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles.d.ts', <del> formatMultipleRanges: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.formatMultipleRanges.d.ts', </del> fsChunks: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts', handleIssueUri: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.handleIssueUri.d.ts', idToken: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.idToken.d.ts',

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --With set to , VSCode will sequentially send requests to its provider(s). It'd be nice if the whole list of ranges could be sent at once instead of sequentially, allowing the formatter to handle this batch as it sees fit. This could be achieved by modifying to take an additional optional metadata parameter that the provider can use to express support for this mode.
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to 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!
Would the team be open to PR for this change? I'm happy to provide one.
To give additional context, we've had user reports like this: When a file has lots of modified chunks, we see lots of round-trips to the server. Batching the requests can provide a very important performance improvement in some cases.
<!-- -a7ce-58b9-b1f9- --This feature request has not yet received the 20 community it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our . Happy Coding!
feedback from API sync, have explicit optional function
fyi this is done and LSP adoption is welcome
already provided a PR for LSP.
To verify: make sure API has a new optional function and make sure it's properly documented (extra) write a dummy extension that implements this and make sure it's called