jiebi/CodeConvo huggingface dataset:
Change:
Testing Clone Open in the latest VS Code Insiders Press F5 to start the extension, and confirm that the "Hello World" command is in the command palette, and the extension gets activated when the command is being invoked. Stop debugging Open and remove the property altogether Press F5 to start the extension The "Hello World" command does not appear in the command palette Is this expected? Adding the back seems to resolve the problem.

Discussion:
} public updateManifest(manifest: IExtensionManifest) { <del> if (!Array.isArray(manifest.activationEvents) || !manifest.contributes) { </del> <ins> if (typeof manifest.main === 'undefined' && typeof manifest.browser === 'undefined') { </ins> return; } <del> if (typeof manifest.main === 'undefined' && typeof manifest.browser === 'undefined') { </del> <ins> if (manifest.activationEvents === undefined) { Object.assign(manifest, { activationEvents: [] }); } if (!Array.isArray(manifest.activationEvents) || !manifest.contributes) { </ins> return; }
Change:
Testing <img width="310" alt="image" src="https://user-"
Same for the picker where the repositories are shown btw.
And also the notification toast. I suggest to use the label service for consistent path formatting.
is the label service available to built-in extensions? If not, it looks like using uses the correct separator though there is a comment in the that the value from this property should not be used for display purposes.
I briefly pinged but there seems to be no API to format labels. I am not sure if or have suggestions for how an extension can render a path label properly according to our "rules".
I missed the comment on about not using it for display. microsoft/vscode-pull-request-github is definitely using that for display in a few quick picks. I don't know of another way to get the correct slashes.
One downside of is that drive letter is lowercased, but for display purposes it should be uppercased.
You can use  for this. It makes the path relative, pretty and can prepend the workspace name (if wanted)
Thank you all! The path itself is extracted from a git error message and decided to call on it after I extract it from the error message. This seems to result in the correct drive letter casing and separator.
And to make things even more fun, I just learned that can only handle as a path separator.
What's the best way to trigger this message? I made a git repo owned by the SYSTEM instead of my user, but did not encounter this warning.
We have tweaked the welcome view and the paths are not being shown any more. Will mark as verified.

Discussion:
// Handle unsafe repository const match = /^fatal: detected dubious ownership in repository at '([^']+)'$/m.exec(ex.stderr); if (match && match.length === 2) { <del> const unsafeRepositoryPath = match[1]; </del> <ins> const unsafeRepositoryPath = path.normalize(match[1]); </ins> this.logger.trace(`Unsafe repository: ${unsafeRepositoryPath}`); // If the unsafe repository is opened after the initial repository scan, and we cannot use the welcome view
Change:
VS Code Insiders, macOS user profile any typescript file. For example -exception in the dev tools console
I can only reproduce with
Thanks for fixing. Somehow that setting was still applied even though I was using a new profile...

Discussion:
} focusSelected(): void { <del> const selection = this._list.getSelection(); if (selection.length === 1) { this._list.setFocus([selection[0]]); </del> <ins> if (this._list.length > 0) { this._list.setFocus([0]); </ins> } }

&& this._state !== State.Empty && this._state !== State.Loading && this._completionModel <ins> && this._list.getFocus().length > 0 </ins> ) { return {
Change:
Testing Quick pick flickers ! First screen (is only visible for ~100 ms on my machine): ! Second screen: !
This looks like
I do not think so, this is different than other issue. I think the flickering is coming from loading the quick pick options. I am showing the quick pick and loading the options by setting the busy flag of quick pick to true. May be I can load the options and show the quick pick, but there might be a delay between clicking the export button and seeing the quick pick
Transferring this to you because, I am loading and showing the check box items async mean while I am using the busy indicator. I assume all quick picks have same issue if the items are shown async.
Looks like the input box is the problem here. Settings Sync likes to hide it and it should really just be hidden before showing.

Discussion:
} // store the scrollTop before it is reset const scrollTopBefore = this.keepScrollPosition ? this.scrollTop : 0; <del> const hideInput = !!this._hideInput && this._items.length > 0; this.ui.container.classList.toggle('hidden-input', hideInput && !this.description); </del> <ins> const hasDescription = !!this.description; </ins> const visibilities: Visibilities = { title: !!this.title || !!this.step || !!this.buttons.length, <del> description: !!this.description, </del> <ins> description: hasDescription, </ins> checkAll: this.canSelectMany && !this._hideCheckAll, checkBox: this.canSelectMany, <del> inputBox: !hideInput, progressBar: !hideInput, </del> <ins> inputBox: !this._hideInput, progressBar: !this._hideInput || hasDescription, </ins> visibleCount: true, count: this.canSelectMany, ok: this.ok === 'default' ? this.canSelectMany : this.ok,

ui.progressBar.getContainer().style.display = visibilities.progressBar ? '' : 'none'; ui.list.display(!!visibilities.list); ui.container.classList.toggle('show-checkboxes', !!visibilities.checkBox); <ins> ui.container.classList.toggle('hidden-input', !visibilities.inputBox && !visibilities.description); </ins> this.updateLayout(); // TODO }
Change:
Testing <img width="271" alt="image" src="https://user-"
butter <img width="547" alt="image" src="https://user-"and this one ends in a period where others don't
<img width="237" alt="image" src="https://user-"This one isn't clear, I guess if true, it will only match when the exit code is non-zero?
And the "matcher" props should state that they accept regex
id of the provider? <img width="181" alt="image" src="https://user-"
I think this is referring to some outdated names, I don't see , and I don't see the named group in the result that the provider gets <img width="555" alt="image" src="https://user-"
I think shouldn't say it is "the regular expression", and it's not clear what and are referring to here. <img width="565" alt="image" src="https://user-"hasn't changed <img width="225" alt="image" src="https://user-"

Discussion:
}], properties: { id: { <del> description: nls.localize('vscode.extension.contributes.terminal.quickFixes.id', "The ID of the quick fix provider."), </del> <ins> description: nls.localize('vscode.extension.contributes.terminal.quickFixes.id', "The ID of the quick fix provider"), </ins> type: 'string', }, commandLineMatcher: { <del> description: nls.localize('vscode.extension.contributes.terminal.quickFixes.commandLineMatcher', "The regular expression to test the command line against."), </del> <ins> description: nls.localize('vscode.extension.contributes.terminal.quickFixes.commandLineMatcher', "A regular expression or string to test the command line against"), </ins> type: 'string', }, outputMatcher: { <del> markdownDescription: nls.localize('vscode.extension.contributes.terminal.quickFixes.outputMatcher', "The regular expression to test the output against, which provides groups to be referenced in terminalCommand and uri.nnFor example:nn `lineMatcher: /git push --set-upstream origin (?<branchName>[^s]+)/;`nn`terminalCommand: 'git push --set-upstream origin ${group:branchName}';`n"), </del> <ins> markdownDescription: nls.localize('vscode.extension.contributes.terminal.quickFixes.outputMatcher', "A regular expression or string to test the output against, which provides groups to be referenced in terminalCommand and uri.nnFor example:nn `lineMatcher: /git push --set-upstream origin (?<branchName>[^s]+)/;`nn`terminalCommand: 'git push --set-upstream origin ${group:branchName}';`n"), </ins> type: 'object', required: ['lineMatcher', 'anchor', 'offset', 'length'], properties: { lineMatcher: { <del> description: 'The command line to match', </del> <ins> description: 'A regular expression or string to test the command line against', </ins> type: 'string' }, anchor: {
Change:
Testing Steps: vscode PR with comments comments.visible to false :bug: =Comments view, comment ranges, plus icon, peek comment widget all seem to be present, even after reloading
I am seeing similar behavior, when I add to my settings and hover over it, it says so I am not sure if I am doing it incorrectly or if it is what SteVen is seeing.
it looks like you have a typo in "visible" making it unknown
yep that was my mistake Thanks for the fix, I got the setting working and found some different behavior from you. The comments disappeared for me after I switched the setting and so it hid PR comments I had in a python file.
I'm not able to reproduce this. Are there any other details of your setup that might be relevant? Worth noting: does not disable the Comments view. If you open the comments view then click on a comment then comment visibility will be toggled back on.
thanks for the explanation, that was my confusion. can we repurpose this issue to address the confusion in the setting description. Perhaps an additional sentence: You can still access comments via the comments view and this setting will be ignored for the remainder of the session if so.

Discussion:
'comments.visible': { type: 'boolean', default: true, <del> description: nls.localize('comments.visible', "Controls the visibility of the comments bar and comment threads in editors that have commenting ranges and comments.") </del> <ins> description: nls.localize('comments.visible', "Controls the visibility of the comments bar and comment threads in editors that have commenting ranges and comments. Comments are still accessible via the Comments view and will cause commenting to be toggled on in the same way running the command "Comments: Toggle Editor Commenting" toggles comments.") </ins> } } });
Change:
VS Code Version: 1.73.1 OS Version: Win 11 Steps to Reproduce: the PeekViewWidget (eg using Peek Definition, or Show Error) text in the title bar is misaligned Fix: I have a PR, it's trivial. !

Discussion:
.monaco-editor .peekview-widget .head .peekview-title { display: flex; <del> align-items: center; </del> <ins> align-items: baseline; </ins> font-size: 13px; margin-left: 20px; min-width: 0;

.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) { font-size: 0.9em; margin-left: 0.5em; <del> text-overflow: ellipsis; overflow: hidden; </del> } .monaco-editor .peekview-widget .head .peekview-title .meta {

} .monaco-editor .peekview-widget .head .peekview-title .dirname { <ins> overflow: hidden; text-overflow: ellipsis; </ins> white-space: nowrap; }

.monaco-editor .peekview-widget .head .peekview-title .codicon { margin-right: 4px; <ins> align-self: center; </ins> } .monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {
Change:
Testing If I run "Continue working on...," I get many development environments to target, but I only see one Continue Working in command for the codespace option.
Verified from the remote repositories options. Looks like 1 and 2 (local folder and local container) still need to add entries to be consistent. <img width="355" alt="image" src="https://user-"
who should add the built-in command?

Discussion:
"continueEditSession": [ { "command": "github.openOnVscodeDev", <del> "when": "github.hasGitHubRepo" </del> <ins> "when": "github.hasGitHubRepo", "qualifiedName": "Continue Working in VS Code for the Web" </ins> } ], "menus": {
Change:
found from TPI: When I am using Typescript, there is a bit of inconsistency with how it defines a "single word". I am not sure if this is intention behavior that I am seeing for which characters get group together or not. For example the chunks for the following text: it is grouped like so: Where is much longer and contains spaces. Not sure what desired behavior is so this could also be expected behavior but wanted to point it out in case there was any inconsistency. Thanks!
This is by design. Either the immediate next word is taken or all the text until the next word. Maybe this should be adjusted, but that depends on how this feature is being used.
Ah yes it makes sense once you explain it. I feel like the is a different thought than maybe the entire . For example if I wanted that line to say then I would have wanted to select through to then type Null instead of selecting then deleting to go back and writing Null. I think either way is fine, it is more just a preference thing and people will quickly adapt to the design as they start using it.
We could additionally split by whitespace, let me reopen this issue for that.
can you verify the fix? Thanks!
Looks great! Thanks for the fix!

Discussion:
const line = firstPart.lines[0]; const langId = this.editor.getModel()!.getLanguageIdAtPosition(ghostText.lineNumber, 1); const config = this.languageConfigurationService.getLanguageConfiguration(langId); <del> const r = new RegExp(config.wordDefinition, config.wordDefinition.flags.replace('g', '')); const m = line.match(r); </del> <ins> const wordRegExp = new RegExp(config.wordDefinition.source, config.wordDefinition.flags.replace('g', '')); const m1 = line.match(wordRegExp); </ins> let acceptUntilIndexExclusive = 0; <del> if (m && m.index !== undefined) { if (m.index === 0) { acceptUntilIndexExclusive = m[0].length; </del> <ins> if (m1 && m1.index !== undefined) { if (m1.index === 0) { acceptUntilIndexExclusive = m1[0].length; </ins> } else { <del> acceptUntilIndexExclusive = m.index; </del> <ins> acceptUntilIndexExclusive = m1.index; </ins> } } else { acceptUntilIndexExclusive = line.length; } <ins> const wsRegExp = /s/g; let m2 = wsRegExp.exec(line); if (m2 && m2.index === 0) { m2 = wsRegExp.exec(line); } if (m2 && m2.index !== undefined) { if (m2.index < acceptUntilIndexExclusive) { acceptUntilIndexExclusive = m2.index; } } </ins> const partialText = line.substring(0, acceptUntilIndexExclusive); this.editor.pushUndoStop();
Change:
Testing an invalid profile file (for example, by deleting a closing ) importing it Bug We show the error notification: ! This doesn't mention anything about profiles. I suggest showing an error that says the profile cannot be read
A similar error shows when you mistype the url for a profile (or are offline). In this case though you see failed: !

Discussion:
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { IWorkspaceTagsService } from 'vs/workbench/contrib/tags/common/workspaceTags'; <ins> import { getErrorMessage } from 'vs/base/common/errors'; </ins> export class UserDataProfilesWorkbenchContribution extends Disposable implements IWorkbenchContribution {

} } } catch (error) { <del> notificationService.error(error); </del> <ins> notificationService.error(localize('profile import error', "Error while importing profile: {0}", getErrorMessage(error))); </ins> } })); disposables.add(quickPick.onDidHide(() => disposables.dispose()));

import { generateUuid } from 'vs/base/common/uuid'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { EditorsOrder } from 'vs/workbench/common/editor'; <del> import { onUnexpectedError } from 'vs/base/common/errors'; </del> <ins> import { getErrorMessage, onUnexpectedError } from 'vs/base/common/errors'; </ins> import { IProgressService, ProgressLocation } from 'vs/platform/progress/common/progress'; import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { IQuickInputService, QuickPickItem } from 'vs/platform/quickinput/common/quickInput';

async handleURL(uri: URI): Promise<boolean> { if (this.isProfileURL(uri)) { <del> await this.importProfile(uri); </del> <ins> try { await this.importProfile(uri); } catch (error) { this.notificationService.error(localize('profile import error', "Error while importing profile: {0}", getErrorMessage(error))); } </ins> return true; } return false;

let profileTemplate: IUserDataProfileTemplate = JSON.parse(profileContent); if (!isUserDataProfileTemplate(profileTemplate)) { <del> this.notificationService.error('Invalid profile content.'); return; </del> <ins> throw new Error('Invalid profile content.'); </ins> } const userDataProfileImportState = disposables.add(this.instantiationService.createInstance(UserDataProfileImportState, profileTemplate));

return await asText(context); } else { const message = await asText(context); <del> this.logService.info(`Failed to get profile from URL: ${resource.toString()}. Status code: ${context.res.statusCode}. Message: ${message}`); </del> <ins> throw new Error(`Failed to get profile from URL: ${resource.toString()}. Status code: ${context.res.statusCode}. Message: ${message}`); </ins> } <del> return null; </del> } private async pickProfileContentHandler(name: string): Promise<string | undefined> {
Change:
Testing For built-in quick fixes, the command is automatically run after selecting it. However, for custom ones, it just emits a ctrl+c and writes out the command without actually running it !
Cannot reproduce on Windows
!
can you reproduce only w the contributed fix or also the builtin ones IE ?
The built-in git one works fine, only the contributed one doesn't. The command being returned is the string . There's no new line at the end of that string, which might(?) be triggering the automatic entering if that's being returned in built-in matchers...
Updated my original comment. It's not an OS thing, just built-in vs contributed
This was working at one pt. Probably a regression when I removed as a property. thanks for the info

Discussion:
): Promise<ITerminalAction[] | undefined> { const fixes: ITerminalAction[] = []; const newCommand = terminalCommand.command; <del> const expectedCommands = []; </del> for (const options of quickFixOptions.values()) { for (const option of options) { if (option.exitStatus === (terminalCommand.exitCode !== 0)) {

run: () => { onDidRequestRerunCommand?.fire({ command: fix.terminalCommand, <del> addNewLine: fix.addNewLine </del> <ins> addNewLine: fix.addNewLine ?? true </ins> }); }, tooltip: label, command: fix.terminalCommand <del> } as ITerminalAction; expectedCommands.push(fix.terminalCommand); </del> <ins> }; </ins> break; } case TerminalQuickFixType.Opener: {

run: () => openerService.open(fix.uri), tooltip: label, uri: fix.uri <del> } as ITerminalAction; </del> <ins> }; </ins> break; } }
Change:
<!-- 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.1 OS Version: macOS 13.0.1 Steps to Reproduce: a VS Code Remote SSH session a .hbs file selected language at the bottom right is "Plain Text" and when clicking it, Handlebars is not available in the list
The extension thinks it needs to be installed on the SSH remote: ! On it's own the handlebars extension doesn't need to be installed on the SSH remote, but the HTML languages features extension appears to be pulling it in with . It seems like this is related to The problem is easily fixed by adding this to handlebars: But that might break
Nice! Thanks for figuring this out! I initially believed this was a feature request to add a builtin handlebars grammar.
The handlebars could run on the renderer, but because it defines it is deduced to run on workspace. If were an internal contribution point, we could define a , but we don't have a way for contributions to declare a contribution point (a contribution contribution) So these are the possible solutions "extensionKind": "ui", "workspace"] as suggests as it overwrites the detected extension kinds Implement a contribution contribution point include the extension also in the server build I go with the first one for now. speak up if you disagree

Discussion:
"scripts": { "update-grammar": "node ../node_modules/vscode-grammar-updater/bin daaain/Handlebars grammars/Handlebars.json ./syntaxes/Handlebars.tmLanguage.json" }, <ins> "extensionKind": [ "ui", "workspace" ], </ins> "contributes": { "languages": [ {
Change:
Steps to reproduce: in repo run the default build task and wait for it to finish reveal terminal once, hide it again restart the build task (see keyboard config below) via wait for the "Loading..." to show in status bar reload window the loading indicator and the build task indicator are gone Keybinding: !
I bet this is happening because there's still so it's returning here before the can occur which is what we listen to for
This works for me in Insider's now that I fixed the issue with rerunning tasks /duplicate
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for . See also our . Happy Coding!
I can still reproduce it with:
this was fixed yesterday, so should be fixed in today's build. It appears you're using the build from a day ago. Pls reopen if not
This still reproduces for me with the steps outlined in my first comment: open folder only have explorer and editor visible, no terminal our any panel have no build task running close open run default build task (no terminal or panel visible still) wait for that to finish drag the panel area visible from status bar so that it reveals terminals close panel rerun default build task, wait for "building..." reload window notice how the status bar does not show the tasks Video below, this is after I had started a build task that completed: !
returns here when the terminal is reused and likely doesn't have the reconnection properties as a result
after reuse happens, they're deleted in !
If that doesn't fix it, then it's a timing issue because reuseTerminal disposes of the process
I still see this in: ! Steps: open window (no build task running yet) wait for "Loading..." reload window Can you maybe add more logging and I can try to find the reason from the logs?
that commit is from two days ago - the fix was merged yesterday. not sure why this is labeled insider's released by the bot !
Hm ok, weird, will try again then with the next insiders, thanks!
Yes this seems to be working a lot better now . I think I had 1 case without reconnection but that was really quickly triggering a window reload right after , I think that is a corner case not worth pursuing. I will report back when I ever hit this during selfhosting over the next days.

Discussion:
} terminalToReuse.terminal.scrollToBottom(); <ins> launchConfigs.reconnectionProperties = { ownerId: ReconnectionType, data: { lastTask: task.getCommonTaskId(), group, label: task._label, id: task._id } }; </ins> await terminalToReuse.terminal.reuseTerminal(launchConfigs); if (task.command.presentation && task.command.presentation.clear) {