jiebi/CodeConvo huggingface dataset:
Code change:
command: 'git.publish', title: l10n.t({ message: '{0} Publish Branch', args: [icon], comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }), tooltip: this.state.isSyncInProgress ? <del> l10n.t({ message: 'Publishing Branch...', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }) : l10n.t({ message: 'Publish Branch', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }), </del> <ins> (this.state.HEAD?.name ? l10n.t({ message: 'Publishing Branch '{0}'...', args: [this.state.HEAD.name], comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }) : l10n.t({ message: 'Publishing Branch...', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] })) : (this.repository.HEAD?.name ? l10n.t({ message: 'Publish Branch '{0}'', args: [this.state.HEAD?.name], comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }) : l10n.t({ message: 'Publish Branch', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] })), </ins> arguments: [this.repository.sourceControl], }, enabled: !this.state.isSyncInProgress

Related discussion:
text: <!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --In the source control, after changes are staged and a commit message is provided, it's no more possible to see easily the current branch name to commit to: ! The validation button displays a pop-up message, but this does not really add value: ! I propose to display the current branch name in this pop-up: ! This would dispel any doubts about the branch on which one commits. By the way, the same is possible for the "Publish Branch" button. Is it the right idea?
I'll submit a PR for this.
Whoaww, great, thanks. I had a look on it, mostly for curiosity, but I am very far from vsc dev currently... I will review with pleasure.
It's ready for review.
It looks so easy! Thanks. Do you think the 'Publish Branch' popup should be relooked too? The branch name appears in the commit textfield, but depending of the sidebar size it's not always visible. !
~That makes sense. I'll update the PR.~ I first thought this was stated in the issue description too, but it wasn't. So, we should hear from on this.
It is, at the end:
I guess I have to compile the whole vscode if I want to live test?...
Yes. If it's your first time, I suggest using GitHub Codespaces or dev containers, instead of compiling/running it on your plain OS environment.
I've updated the PR to include the branch name on the "Publish Branch" button, too.
Ok perfect! I first thought the screenshots were from my issue, just as an illustration... But it's yours in live, so I guess it's ok. I will investigate for a dev container, it may be useful for next PR... Thx for that.
Code change:
command: 'git.publish', title: l10n.t({ message: '{0} Publish Branch', args: [icon], comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }), tooltip: this.state.isSyncInProgress ? <del> l10n.t({ message: 'Publishing Branch...', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }) : l10n.t({ message: 'Publish Branch', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }), </del> <ins> (this.state.HEAD?.name ? l10n.t({ message: 'Publishing Branch '{0}'...', args: [this.state.HEAD.name], comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }) : l10n.t({ message: 'Publishing Branch...', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] })) : (this.repository.HEAD?.name ? l10n.t({ message: 'Publish Branch '{0}'', args: [this.state.HEAD?.name], comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] }) : l10n.t({ message: 'Publish Branch', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] })), </ins> arguments: [this.repository.sourceControl], }, enabled: !this.state.isSyncInProgress

Related discussion:
text: Verification steps: Commit action button Open a folder/workspace that contains a git repository using VS Code Insiders Make a change to a file, and save the file Switch to the "Source Control" view and hover over the "Commit" action button Confirm that the tooltip of the action read Publish Branch action button Open a folder/workspace that contains a git repository using VS Code Insiders Create a new branch Switch to the "Source Control" view and hover over the "Publish Branch" action button Confirm that the tooltip of the action read
Hi, Both verification steps are working. Thanks. Version: 1.75.0-insider Commit: Date: 2023-01-20T05:23:42.626Z Electron: 19.1.9 Chromium: 102.0.5005.194 16.14.2 V8: 10.2.154.23-electron.0 OS: Linux x64 6.0.0-0..6-amd64 Sandboxed: Yes
Do we need to submit a PR to include this in the release notes?
Thanks for the nudge. Added
Code change:
} public asUrl(filepath: string): Uri { <del> if (filepath.startsWith(TypeScriptServiceClient.WALK_THROUGH_SNIPPET_SCHEME_COLON)) { </del> <ins> if (filepath.startsWith(TypeScriptServiceClient.WALK_THROUGH_SNIPPET_SCHEME_COLON) || (filepath.startsWith('untitled:') && this._apiVersion.has213Features()) ) { </ins> return Uri.parse(filepath); } return Uri.file(filepath);

Related discussion:
text: Steps to Reproduce: an untitled file with JS mode code with errors/warnings on one =crash ! Is the resource scheme file but the URI untitled? Looks like it
Looks like is registered this as a file resource where are is not having any issues.
Thanks for the investigation. should fix this
Code change:
// Actions const registry = Registry.as<IWorkbenchActionRegistry>(ActionExtensions.WorkbenchActions); <del> // Show Search and Find in Files are redundant, but we can't break keybindings by removing one. So it's the same action, same keybinding, registered to different IDs. // Show Search 'when' is redundant but if the two conflict with exactly the same keybinding and 'when' clause, then they can show up as "unbound" - #51780 registry.registerWorkbenchAction(SyncActionDescriptor.from(OpenSearchViewletAction), 'View: Show Search', CATEGORIES.View.value); </del> <ins> // View: Show Search is used for the keybindings in the View menu and the sidebar #115556, but it should only be enabbled when search.mode == view, or else it will steal priority over opening a search editor #115511 const SEARCH_MODE_CONFIG = 'search.mode'; registry.registerWorkbenchAction( SyncActionDescriptor.from( OpenSearchViewletAction, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_F }, ContextKeyAndExpr.create([Constants.SearchViewVisibleKey.toNegated(), ContextKeyEqualsExpr.create(`config.${SEARCH_MODE_CONFIG}`, 'view')])), 'View: Show Search', CATEGORIES.View.value); // Find in Files by default is the same as View: Show Search, but can be configured to open a search editor instead with the `search.mode` binding </ins> KeybindingsRegistry.registerCommandAndKeybindingRule({ description: { description: nls.localize('findInFiles.description', "Open the search viewlet"),

Related discussion:
text: Just to confirm that if you are aware that this change will not show the keybinding for Search view anymore at following places: <img width="367" alt="image" src="https://user-"<img width="161" alt="image" src="https://user-"Not sure if it is intended. Originally posted by in
Code change:
currentLineIsEmptyOrWhitespace = strings.lastNonWhitespaceIndex(currentLine) === -1; } <del> const deletionRange = new Range(currentLineNumber + 1, 1, lineCount + 1, 1); </del> <ins> const deletionRange = model.validateRange(new Range(currentLineNumber + 1, 1, lineCount + 1, 1)); </ins> if (!deletionRange.isEmpty()) { model.pushEditOperations(prevSelection, [EditOperation.delete(deletionRange)], edits => prevSelection); }

Related discussion:
text: This was also discussed in and apparently fixed in , but I'm still experiencing this. Steps to reproduce: to in settings. a file, and add the following contents: Ensure that there's an empty newline at the end. Save it. Then hit Undo. Nothing will happen. Hit Undo again, then it will work as expected. You can even hit Save multiple times, and each time will add one extra step to the Undo list. So hit Save 10 times, then you can hit Undo 10 times and nothing will happen. Could you take a look at this if possible?
Code change:
shellLaunchConfig.args = windowsShellArgs ? combinedShellArgs.join(' ') : combinedShellArgs; if (task.command.presentation && task.command.presentation.echo) { if (needsFolderQualification && workspaceFolder) { <del> shellLaunchConfig.initialText = taskShellIntegrationStartSequence + formatMessageForTerminal(nls.localize({ </del> <ins> shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence + formatMessageForTerminal(nls.localize({ </ins> key: 'task.executingInFolder', comment: ['The workspace folder the task is running in', 'The task command line or label'] <del> }, 'Executing task in folder {0}: {1}', workspaceFolder.name, commandLine), { excludeLeadingNewLine: true }) + taskShellIntegrationOutputSequence; </del> <ins> }, 'Executing task in folder {0}: {1}', workspaceFolder.name, commandLine), { excludeLeadingNewLine: true }) + this.taskShellIntegrationOutputSequence; </ins> } else { <del> shellLaunchConfig.initialText = taskShellIntegrationStartSequence + formatMessageForTerminal(nls.localize({ </del> <ins> shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence + formatMessageForTerminal(nls.localize({ </ins> key: 'task.executing', comment: ['The task command line or label'] <del> }, 'Executing task: {0}', commandLine), { excludeLeadingNewLine: true }) + taskShellIntegrationOutputSequence; </del> <ins> }, 'Executing task: {0}', commandLine), { excludeLeadingNewLine: true }) + this.taskShellIntegrationOutputSequence; </ins> } } else { <del> shellLaunchConfig.initialText = taskShellIntegrationStartSequence + taskShellIntegrationOutputSequence; </del> <ins> shellLaunchConfig.initialText = this.taskShellIntegrationStartSequence + this.taskShellIntegrationOutputSequence; </ins> } } else { const commandExecutable = (task.command.runtime !== RuntimeType.CustomExecution) ? CommandString.value(command) : undefined;

Related discussion:
text: VS Code Version: insiders/from sources Task terminals don't respect setting so decorations cannot be disabled.
thanks for creating this issue. I remember noticing this then got distracted by some other issue
we're separating the task decorations from terminal decorations (shell integration), so will have a setting
Verified that works
Code change:
return normalizeLink(vscode.Uri.parse(link).with({ scheme: vscode.env.uriScheme }).toString()); } <ins> // Support file:// links if (isOfScheme(Schemes.file, link)) { // Ensure link is relative by prepending `/` so that it uses the <base> element URI // when resolving the absolute URL return normalizeLink('/' + link.replace(/^file:/, 'file')); } </ins> // If original link doesn't look like a url with a scheme, assume it must be a link to a file in workspace if (!/^[a-z-]+:/i.test(link)) { // Use a fake scheme for parsing

Related discussion:
text: <!-- 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.51.1 OS Version: on both Fedora 32 and Linux Mint 20 Steps to Reproduce: clone issuesvscode1400markdownPreviewRootRelativeImg . doesn't display in ! <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes This issue had already occurred in past: In the latest insiders vs-code build - it's not fixed as well.
I took a look at this and found that the issue is that the resource vscode-webview-resource uri is invalid, is missing before I was looking how to fix it but I can't find the place where the gets mapped to a can you give me some code pointers?
here is my quick and dirty fix for this issue:
Start by looking in the markdown link normalizer I believe this is passed the raw image links and tries to transform them into url that VS Code can render in the preview
Thanks and after spending some more time looking at this I think I found a proper fix for it
Code change:
?? element.separator?.id ?? element.separator?.label ?? ''; <del> } </del> <ins> }, </ins> }, alwaysConsumeMouseWheel: true }

Related discussion:
text: <!-- 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.88.0-insider OS Version: MacOs Steps to Reproduce: In the python and python debugger extension we use the QuickPick, we add an option to accept the value in the input. It was working in stable, but in insiders it doesn't work. Steps: a picker some text in the input box, make sure that it match with one option at first. enter, to select the text in the input box. last value that appeared in the list is the one that is selected. You can check the implementation . I was debugging the code a little bit, and found that in stable when you press enter, the function is called. But in insider when you press enter instead of call that function, the function is called.
Verification: Install Python extension Open a python workspace with no Open the debug pane and click the "create a file" Choose Python Debugger Choose Django Type ONLY 'b' and notice that "Browse Files" becomes the active item Type then, 'z' and notice that the list is empty hit ENTER and notice that the gets created with "bz" in the
The fix fully resolves as well!
Resolves my issue as well.
Code change:
}), true); }); <ins> test('isUriComponents', function () { assert.ok(isUriComponents(URI.file('a'))); assert.ok(isUriComponents(URI.file('a').toJSON())); assert.ok(isUriComponents(URI.file(''))); assert.ok(isUriComponents(URI.file('').toJSON())); assert.strictEqual(isUriComponents(1), false); assert.strictEqual(isUriComponents(true), false); assert.strictEqual(isUriComponents("true"), false); assert.strictEqual(isUriComponents({}), false); assert.strictEqual(isUriComponents({ scheme: '' }), true); // valid components but INVALID uri assert.strictEqual(isUriComponents({ scheme: 'fo' }), true); assert.strictEqual(isUriComponents({ scheme: 'fo', path: '/p' }), true); assert.strictEqual(isUriComponents({ path: '/p' }), false); }); test('from, from(strict), revive', function () { assert.throws(() => URI.from({ scheme: '' }, true)); assert.strictEqual(URI.from({ scheme: '' }).scheme, 'file'); assert.strictEqual(URI.revive({ scheme: '' }).scheme, ''); }); </ins> test('Unable to open '%A0.txt': URI malformed #76506, part 2', function () { assert.strictEqual(URI.parse('file://some/%.txt').toString(), 'file://some/%25.txt'); assert.strictEqual(URI.parse('file://some/%A0.txt').toString(), 'file://some/%25A0.txt');

Related discussion:
text: Following test throws: I found this while investigating At that point the editor component is quite broken because of a lot of errors being thrown. Notice how not even a tab shows for the editor: <img width="1058" alt="image" src="https://user-"
that should already throw because at least a scheme is needed. It doesn't because was designed to be the runtime counter part of which never produces such output so some IPC deserialisation cost can be saved.
, that works for me and will also throw when we get bad objects into such as the from
Yeah, my plan is to add an argument like we have in other URI-places. It will default to true and only IPC should be relaxed
Not doing that because it actually already exists as . I believe the adoption/migration task is to use instead of whenever getting uri components from storage or esp from command arguments. Tho, there is one special case for which is that it automatically uses when the scheme is missing. We could make that configurable but a check for might make this obsolete
Closing this after and the ask to use when creating uri from "untrusted" sources
I will see to adopt , I forgot we had it
Code change:
} getFileBasedRecommendations(): IExtensionRecommendation[] { <del> return Object.keys(this._fileBasedRecommendations) .sort((a, b) => { if (this._fileBasedRecommendations[a].recommendedTime === this._fileBasedRecommendations[b].recommendedTime) { if (!product.extensionImportantTips || caseInsensitiveGet(product.extensionImportantTips, a)) { return -1; } if (caseInsensitiveGet(product.extensionImportantTips, b)) { return 1; } </del> <ins> return [...this.getRestoredRecommendationsByReason(ExtensionRecommendationReason.File), ...Object.keys(this._fileBasedRecommendations).sort((a, b) => { if (this._fileBasedRecommendations[a].recommendedTime === this._fileBasedRecommendations[b].recommendedTime) { if (!product.extensionImportantTips || caseInsensitiveGet(product.extensionImportantTips, a)) { return -1; </ins> } <del> return this._fileBasedRecommendations[a].recommendedTime > this._fileBasedRecommendations[b].recommendedTime ? -1 : 1; }).map(extensionId => (<IExtensionRecommendation>{ extensionId, sources: this._fileBasedRecommendations[extensionId].sources })); </del> <ins> if (caseInsensitiveGet(product.extensionImportantTips, b)) { return 1; } } return this._fileBasedRecommendations[a].recommendedTime > this._fileBasedRecommendations[b].recommendedTime ? -1 : 1; })] .map(extensionId => (<IExtensionRecommendation>{ extensionId, sources: this._fileBasedRecommendations[extensionId] ? this._fileBasedRecommendations[extensionId].sources : this._sessionRestoredRecommendations[extensionId.toLowerCase()] ? this._sessionRestoredRecommendations[extensionId.toLowerCase()].sources : [] })); </ins> } getOtherRecommendations(): TPromise<IExtensionRecommendation[]> {

Related discussion:
text: Issue Type: <bBug</bOpen extension recommendations Click on one In the editor, click the ignore recommendation button Note that the extension is removed from the recommended extension list as expected Click on the undo button in the editor Note that the recommended extension is not placed back in the list. VS Code version: Code - Insiders 1.25.0-insider (, 2018-06-26T05:18:23.085Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (15)</summaryExtensionVersion ------ html-snippets0.2.1 jshint0.10.19 vscode-eslint1.4.12 tslint1.0.33 vscode-great-icons2.1.35 vscode-gutter-preview0.12.2 vscode-azureappservice0.8.1 vscode-cosmosdb0.7.2 azure-account0.4.1 csharp1.15.2 vs-keybindings0.2.0 team1.136.0 debugger-for-chrome4.7.0 addDocComments0.0.8 cordova-tools1.4.0 </details<!-- generated by issue reporter --! Testing:
Note: this only applies to non-workspace recommendations. Will look into
Closed with
Code change:
run: () => { sendTelemetry('accept'); this.telemetryService.getTelemetryInfo().then(info => { <del> this.openerService.open(URI.parse(`${this.productService.cesSurveyUrl}?o=${encodeURIComponent(platform)}&v=${encodeURIComponent(this.productService.version)}&m=${encodeURIComponent(info.machineId)}`)); </del> <ins> let surveyUrl = `${this.productService.cesSurveyUrl}?o=${encodeURIComponent(platform)}&v=${encodeURIComponent(this.productService.version)}&m=${encodeURIComponent(info.machineId)}`; const usedParams = this.productService.surveys ?.filter(surveyData => surveyData.surveyId && surveyData.languageId) // Counts provided by contrib/surveys/browser/languageSurveys .filter(surveyData => this.storageService.getNumber(`${surveyData.surveyId}.editedCount`, StorageScope.GLOBAL, 0) > 0) .map(surveyData => `${encodeURIComponent(surveyData.languageId)}Lang=1`) .join('&'); if (usedParams) { surveyUrl += `&${usedParams}`; } this.openerService.open(URI.parse(surveyUrl)); </ins> this.skipSurvey(); }); }

Related discussion:
text: If the knows which languages a user tried in their first day, it could unlock more specific questions to further improve the language onboarding experience. How though. tracks the edited count for languages that run surveys; which are the languages we care most about right now. Only issue is that the storage key isn't exported, so the doesn't know about it. any general thoughts on the idea, and best practices on how to make the storage keys known to the ces survey code; so they can be read and attached as params to the survey URL?
The CES code already has access to the same . Can't you copy the maps the surveys to storage service keys over to CES and read them from there?
Sure, was mainly worried that this creates some copy/pasta. Will take that approach for an initial pull request draft and gather feedback.
No worries. We can also extract the common code to a new file, sibling to those two.
are there verification steps for this?
Sorry that they are so complex and time-intensive. I can also verify that I see survey responses from insiders that include the language data. a fresh VS Code Insiders instance , ensure that you are in the treatment group a Java file and save it. VS Code open for 1 hour to trigger the new-user survey popup and click to open the survey that the URL it opened contains
Ok, see you in an hour!
The treatment service does not seem to like me, for some reason. Unmarking as verified for someone else to give it a shot. Note that you need to repeatedly open VS Code windows with new user-data-dir's until you get into the treatment.
Also attempted this but no survey after an hour. Confirmed I did get an initial
when the experiment enables the survey you should also get a event? Did that work?
Testing again
Worked! [redacted]&javaLang=1