jiebi/CodeConvo huggingface dataset:
Change:
import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService'; import { IPaneCompositePartService } from 'vs/workbench/services/panecomposite/browser/panecomposite'; import { ViewContainerLocation } from 'vs/workbench/common/views'; <del> import { StopWatch } from 'vs/base/common/stopwatch'; </del> import { TelemetryTrustedValue } from 'vs/platform/telemetry/common/telemetryUtils'; import { isWeb } from 'vs/base/common/platform'; <ins> import { createBlobWorker } from 'vs/base/browser/defaultWorkerFactory'; </ins> /* __GDPR__FRAGMENT__ "IMemoryInfo" : {

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.3 OS Version: 22.10 Steps to Reproduce: Vscode Fibonacci numbers are computed, blocking the renderer process for ~130ms ! Maybe the computation of fibonacci numbers could be removed alltogether (preferred) or there could be a setting to disable the computation of fibonacci numbers? The code for computing the fibonacci numbers is here:
I wonder if the baseline could reliably be computed in a worker
We do that to have a baseline performance number that's comparable across machines. It comes far after startup but does compute with other stuff. I like the idea of moving this to a worker but we can also use a lower value. I have chosen 24th because it's one frame (~15ms) on my laptop
Pushed a change to move this into a worker. I have also experimented with some const-time workload, like SHA1 loops for 15ms but got very varying results between 150 and 800 iterations. Sticking to fib for now but it doesn't block the renderer anymore
Change:
const editorService = accessor.get(IEditorService); const fileConfigurationService = accessor.get(IFilesConfigurationService); <del> const entries: IOutputChannelQuickPickItem[] = outputService.getChannelDescriptors().filter(c => c.file && c.log) .map(channel => (<IOutputChannelQuickPickItem>{ id: channel.id, label: channel.label, channel })); const argName = args && typeof args === 'string' ? args : undefined; </del> let entry: IOutputChannelQuickPickItem | undefined; <del> if (argName) { entry = entries.find(e => e.id === argName); </del> <ins> const argName = args && typeof args === 'string' ? args : undefined; const extensionChannels: IOutputChannelQuickPickItem[] = []; const coreChannels: IOutputChannelQuickPickItem[] = []; for (const c of outputService.getChannelDescriptors()) { if (c.file && c.log) { const e = { id: c.id, label: c.label, channel: c }; if (c.extensionId) { extensionChannels.push(e); } else { coreChannels.push(e); } if (e.id === argName) { entry = e; } } </ins> } if (!entry) { <del> entry = await quickInputService.pick(entries, { placeHolder: nls.localize('selectlogFile', "Select Log File") }); </del> <ins> const entries: QuickPickInput[] = [...extensionChannels.sort((a, b) => a.label.localeCompare(b.label))]; if (entries.length && coreChannels.length) { entries.push({ type: 'separator' }); entries.push(...coreChannels.sort((a, b) => a.label.localeCompare(b.label))); } entry = <IOutputChannelQuickPickItem | undefined>await quickInputService.pick(entries, { placeHolder: nls.localize('selectlogFile', "Select Log File") }); </ins> } if (entry) { const resource = assertIsDefined(entry.channel.file);

Discussion:
Type: <bBug</b! I think the log files are listed in the order the LogOutputChannels got created. Unless this is intentional / important I suggest we sort them alphabetically. I also propose adding the contributing extension's ID as the description element of the list item for LogOutputChannels created by extensions. VS Code version: Code - Insiders 1.87.0-insider (, 2024-02-13T05:47:27.450Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
Changed it to show in the same way like in the output channel dropdown !
This is a little confusing because a provider that shows in the Output view dropdown might not show in "Developer: Open Log File...". I assume this is because Output has all output channels and "Open Log File" only has log output channels. I specifically noticed this with ESLint.
Thats right. Not all output channels are logs.
Change:
return; } <del> if (e.browserEvent.defaultPrevented) { return; } </del> super.onDoubleClick(e); } }

Discussion:
When opening as quickpick with , the latest Insiders builds only handle click events on the checkbox and not on the row item. In Stable, clicking on the row works as expected. This sounds very similar to and might have the same cause. <!-- 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?: Unsure, probably 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.75.0-insider, Commit: OS Version: Windows11(.963), macOS Ventura 13.1; using the VS Code in the web Steps to Reproduce: a quick pick UI with multiple selection options Try to click a row and observe that the selection doesn't change on the checkbox and observe the selection does change This bug was observed with the Codespaces extension, but should happen for any extension/UI using multi-select quick picks.
can you update to the latest Insiders from today and try again?
Sure! It's still broken with the latest insiders: Version: 1.75.0-insider (Universal) Commit: Date: 2023-01-09T05:30:04.983Z Electron: 19.1.8 Chromium: 102.0.5005.167 16.14.2 V8: 10.2.154.15-electron.0 OS: Darwin arm64 22.2.0 Sandboxed: Yes https://user- Here's Stable for comparison: https://user-
Yes, more fallout from , apologies
Change:
import { IWordAtPosition } from 'vs/editor/common/core/wordHelper'; import { ILanguageFeaturesService } from 'vs/editor/common/services/languageFeatures'; import { ModelDecorationInjectedTextOptions } from 'vs/editor/common/model/textModel'; <del> import { LinkOpener } from 'vs/editor/contrib/links/browser/links'; </del> export class GotoDefinitionAtPositionEditorContribution implements IEditorContribution {

Discussion:
The content of the line: Open definition does nothing !
Also happens on Mac with Cmd+Click. Makes it very difficult to navigate my documentation.
I believe this is a result of fixing Markdown has a link provider and a definition provider. However in this case, the definition provider returns since we are not on a reference link
revert of the bad change is up
Change:
} const parsedInclude = include ? parseSearchExcludeInclude(GlobPattern.from(include)) : undefined; <del> const excludePatterns = include ? globsToISearchPatternBuilder(options.exclude) : undefined; </del> <ins> const excludePatterns = globsToISearchPatternBuilder(options.exclude); </ins> return { options: {

Discussion:
Testing I had this code: But I still got results from a workspace folder: ! Full Extension:
I happen to want to report the same problem When there is only one item in the exclude string, the exclusion is correctly applied. When the exclude string contains more than one item, the exclusion is not applied. !
I think that your issue is a duplicate of
Seems that this only happens when is not defined. Strange.
Change:
cursor: pointer; } <del> .monaco-workbench .simple-find-part .button.disabled { opacity: 0.3; </del> <ins> .monaco-workbench div.simple-find-part div.button.disabled { opacity: 0.3 !important; </ins> cursor: default; } <ins> div.simple-find-part-wrapper div.button { border-radius: 5px; } </ins>

Discussion:
And instead pass in (or don't) a new option for the type
so the complexity here is that we can't reference the keybinding service within the super call to the constructor and need to do that to provide the options to the find input object that's read only.
the alternative would be to pass in the options from both the terminal view and terminal editor (redundant)
going to pass in an options object and handle the keybinding in simple find widget
Spent awhile on this, don't think we will get to it
Change:
// -- bracket selections async function assertRanges(provider: SelectionRangeProvider, value: string, ...expected: IRange[]): Promise<void> { <ins> let index = value.indexOf('|'); value = value.replace('|', ''); </ins> let model = modelService.createModel(value, new StaticLanguageSelector(mode.getLanguageIdentifier()), URI.parse('fake:lang')); <del> let pos = model.getPositionAt(value.indexOf('|')); </del> <ins> let pos = model.getPositionAt(index); </ins> let all = await provider.provideSelectionRanges(model, [pos], CancellationToken.None); let ranges = all![0];

Discussion:
Issue Type: <bBug</bany file which contains word consisting of letters with underscores (f.e. helloworld). For simplicity let's assume only one underscore is present. cursor in various places of this word and activate expand selection command (either via keyboard shortcut or keybinding) : 3a. cursor is not near underscore (underscore is not immediately to the left or right of cursor) - part of the word selected, bounded by word beginning/end and underscore - OK 3b. underscore is immediately left to the cursor - part of word to the right of cursor is selected - OK 3c. underscore is immediately right to the cursor - the whole word is selected - UNEXPECTED. For 3c I expected only part of the word selected as well, not the whole word. VS Code version: Code 1.42.0 (, 2020-02-06T10:51:34.058Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (10)</summaryExtensionVersion ------ quick-open-prefill-selection0.0.1 vscode-eslint2.0.15 gitlens10.2.1 EditorConfig0.14.4 vscode-great-icons2.1.47 intellij-idea-keybindings0.2.37 camelcasenavigation1.1.1 material-icon-theme3.9.3 partial-diff1.4.1 terminal-tabs0.2.0 (5 theme extensions excluded) </details<!-- generated by issue reporter --
Tried to fix this in the PR PS - this is my first PR for a OSS, ever... please forgive me for any mistake or misconduct.
Change:
public deserialize(instantiationService: IInstantiationService, serializedEditorInput: string): EditorInput | undefined { const terminalInstance = JSON.parse(serializedEditorInput); terminalInstance.resource = URI.parse(terminalInstance.resource); <del> const editor = this._terminalEditorService.getOrCreateEditorInput(terminalInstance); return editor; </del> <ins> return this._terminalEditorService.reviveInput(terminalInstance); </ins> } private _toJson(instance: ITerminalInstance): SerializedTerminalEditorInput {

Discussion:
Context: Essentially instead of creating s we will assign URIs to the shell launch configs and only create the terminals when the input is created.
This should also include the fix for splitCwd support in terminal editors:
Change:
if (typeof base === 'string') { this.base = base; <ins> } else if (URI.isUri(base)) { this.baseFolder = base; this.base = base.fsPath; </ins> } else { this.baseFolder = base.uri; this.base = base.uri.fsPath;

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --This would prevent needing to convert the to a string only for it to be parsed back into a later on, and is friendlier to developers.
proposed or finalized?
Change:
info!(self.log, "Successfully registered service..."); <ins> if let Err(e) = proxy.reload().await { warning!(self.log, "Error issuing reload(): {}", e); } </ins> // note: enablement is implicit in recent systemd version, but required for older systems // https://github.com/microsoft/vscode/issues/167489#issuecomment-1331222826 proxy

Discussion:
This used to work on the same machine however. Not sure when it stopped. Or why.
Please run
that worked! Wonder if the CLI should do it automatically?
BTW I also noticed how it returns exit code 0 (success) even when it failed like that. Perhaps you should avoid just issuing a warning in case some of these operations fails.
Thanks a ton,
Change:
private async commitWithAnyInput(repository: Repository, opts?: CommitOptions): Promise<void> { const message = repository.inputBox.value; const getCommitMessage = async () => { <del> if (message) { return message; } </del> <ins> let _message: string | undefined = message; if (!_message) { let value: string | undefined = undefined; </ins> <del> let value: string | undefined = undefined; </del> <ins> if (opts && opts.amend && repository.HEAD && repository.HEAD.commit) { value = (await repository.getCommit(repository.HEAD.commit)).message; } </ins> <del> if (opts && opts.amend && repository.HEAD && repository.HEAD.commit) { value = (await repository.getCommit(repository.HEAD.commit)).message; </del> <ins> _message = await window.showInputBox({ value, placeHolder: localize('commit message', "Commit message"), prompt: localize('provide commit message', "Please provide a commit message"), ignoreFocusOut: true }); </ins> } <del> return await window.showInputBox({ value, placeHolder: localize('commit message', "Commit message"), prompt: localize('provide commit message', "Please provide a commit message"), ignoreFocusOut: true }); </del> <ins> return _message ? repository.cleanUpCommitEditMessage(_message) : _message; </ins> }; const didCommit = await this.smartCommit(repository, getCommitMessage, opts);

Discussion:
VSCode Version: 1.1.1 OS Version: OS X Steps to Reproduce: into a merge conflict accepting Git's default message. It's equal to is no way to do that!
Will mention that it's also equivalent to and saving the default message that shows up in your editor - hence a very common workflow
My workaround is to invoke from a terminal. Maybe if the commit message field is empty, VSCode could just call as well and leave it up to user's configuration what happens (in my case, it would open a text editor from my system variable, which is fine).
Has the pull request been reviewed yet? Can it be pulled in?
Verification: When having a merge commit, VS Code should now automatically populate the input box with the default git merge commit message, so the user can just accept it.
Change:
Name[ru]=Новое окно Name[zh_CN]=新建窗口 Name[zh_TW]=開新視窗 <del> Exec=/usr/bin/@@NAME@@ --new-window %U </del> <ins> Exec=/usr/share/@@NAME@@/@@NAME@@ --new-window %U </ins> Icon=@@NAME@@

Discussion:
Testing Open the integrated terminal Change the setting Observe: setting is not applied until a restart of VSCode

I've seen this a few times: ! It seems to disappear after a while, maybe it's to do with .local desktop entry or bin command running instead of real command?

Integrated terminal master issue: Open question: Currently pressing <kbdesc</kbdwill hide the terminal, this can be a problem for some terminal programs, for example . Perhaps this should be configurable?
Thinking about desktop terminals, such as iTerm, I can only close them via a global shortcut, an button or running in the shell. <kbdEscape</kbdshould not bubble outside to the workbench.
Marked as candidate as it's a very simple change that's been reported a bunch of times.
Cherry picked to release/1.2
Change:
], "action": "comment", "addLabel": "info-needed", <del> "comment": "Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, `.gif` files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.nnIf the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (`Developer: Toggle Screencast Mode` in the command palette).nnHappy coding!" </del> <ins> "comment": "Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, `.gif` files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.nnIf the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (`Developer: Toggle Screencast Mode` in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.nnHappy coding!" </ins> }, { "__comment__": "Allows folks on the team to label issues by commenting: `label My-Label` ",

Discussion:
When the /gifPlease command is used the issue owner sometimes replies to the GH notification email and attaches their files. The attachment gets lost. Please update the instructions to say that files must be submitted via the GH website.
Change:
private createTree(container: HTMLElement, viewState?: IAsyncDataTreeViewState): void { const overflowWidgetsDomNode = $('.scm-overflow-widgets-container.monaco-editor'); <del> this.inputRenderer = this.instantiationService.createInstance(InputRenderer, this.layoutCache, overflowWidgetsDomNode, (input, height) => { this.tree.updateElementHeight(input, height); }); </del> <ins> this.inputRenderer = this.instantiationService.createInstance(InputRenderer, this.layoutCache, overflowWidgetsDomNode, (input, height) => { try { // Attempt to update the input element height. There is an // edge case where the input has already been disposed and // updating the height would fail. this.tree.updateElementHeight(input, height); } catch { } }); </ins> this.actionButtonRenderer = this.instantiationService.createInstance(ActionButtonRenderer); this.listLabels = this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this.onDidChangeBodyVisibility });

Discussion:
Open a workspace with multiple git repositories In the "Source Control Repositories" view select the third repository Reload the window multiple times and notice the following error in the dev tools console
Change:
query?: string; filterResultCount?: number; experimentInfo?: string; <ins> restrictedMode?: boolean; </ins> } export class IssueReporterModel {

Discussion:
When I report an issue from our issue reporter from an untrusted workspace, there is no info about this in the GH issue.
Marking as important to make sure we care about this before enabling trust by default to not make our life harder for triaging issues than it needs to be.
Two examples: in an effort to make the smallest change this late in the game, I’ve put it in System Info however when you report a performance issue, we also have a section called “Workspace Info” that shows up that gives details on the workspace (like number of files, etc). I think it should eventually go there
lol jk sent a PR putting it next to the OS which I don't love... but the change is small and it means the user can't not tell us their WT situation which is good.
Change:
import { getContextForTestItem, ITestService, testsInFile } from 'vs/workbench/contrib/testing/common/testService'; import { IncrementalTestCollectionItem, InternalTestItem, IRichLocation, ITestMessage, ITestRunProfile, TestDiffOpType, TestMessageType, TestResultItem, TestResultState, TestRunProfileBitset } from 'vs/workbench/contrib/testing/common/testTypes'; import { EditorLineNumberContextMenu, GutterActionsRegistry } from 'vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu'; <ins> import { isMacintosh } from 'vs/base/common/platform'; </ins> const MAX_INLINE_MESSAGE_LENGTH = 128;

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/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.76.0 OS Version: Mac OS Ventura 13.2.1 +click on the "play" icon next to a test (e.g. in ). Screenshot: <img width="583" alt="image" src="https://user-"Will bring up the context menu, like ctrl+clicking on a file tab header will. Executes the primary left-click action, which is to run the test with defaults.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.76.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
It reproduces exactly the same in 1.76.0. I have edited the bug description.
sending this your way since you're redoing the context menus here
Seems like ctrl+click in the gutter shows the context menu everywhere except for test decorations so I think this was just never implemented, therefore marking as feature request.
Wow, thanks for the super quick turnaround!
Change:
import { CancellationTokenSource } from 'vs/base/common/cancellation'; import { Emitter } from 'vs/base/common/event'; <del> import { Disposable, DisposableStore, IDisposable } from 'vs/base/common/lifecycle'; </del> <ins> import { DisposableStore, IDisposable } from 'vs/base/common/lifecycle'; </ins> import { ILogService } from 'vs/platform/log/common/log'; import { ExtHostContext, ExtHostSpeechShape, MainContext, MainThreadSpeechShape } from 'vs/workbench/api/common/extHost.protocol'; import { IKeywordRecognitionEvent, ISpeechProviderMetadata, ISpeechService, ISpeechToTextEvent } from 'vs/workbench/contrib/speech/common/speechService';

Discussion:
Testing Kept playing with "hey code", at one point the EH restarted (unsure why but likely due to speech). Anyways, the console showed the error below which likely means some didn't dispose something. Once you are in this state speech is broken
Steps open vscode, start speech F1 restart EH error shows, speech is broken
I always keep forgetting this in , we should probably have some kind of lint rule...