jiebi/CodeConvo huggingface dataset:
Change:
* Shortens the paths but keeps them easy to distinguish. * Replaces not important parts with ellipsis. * Every shorten path matches only one original path and vice versa. <ins> * * Algorithm for shortening paths is as follows: * 1. For every path in list, find unique substring of that path. * 2. Unique substring along with ellipsis is shortened path of that path. * 3. To find unique substring of path, consider every segment of length from 1 to path.length of path from end of string *    and if present segment is not substring to any other paths then present segment is unique path, *    else check if it is not present as suffix of any other path and present segment is suffix of path itself, *    if it is true take present segment as unique path. * 4. Apply ellipsis to unique segment according to whether segment is present at start/in-between/end of path. * * Example 1 * 1. consider 2 paths i.e. ['abcd', 'afbcd'] * 2. find unique path of first path, * 	a. 'd' is present in path2 and is suffix of path2, hence not unique of present path. * 	b. 'c' is present in path2 and 'c' is not suffix of present path, similarly for 'b' and 'a' also. * 	c. 'dc' is suffix of path2. *  d. 'bc' is not suffix of present path. *  e. 'ab' is not present in path2, hence unique path is 'ab...'. * 3. for path2, 'f' is not present in path1 hence unique is '...f...'. * * Example 2 * 1. consider 2 paths i.e. ['ab', 'abc']. * 	a. Even if 'b' is present in path2, as 'b' is suffix of path1 and is not suffix of path2, unique path will be '...b'. * 2. for path2, 'c' is not present in path1 hence unique path is '..c'. </ins> */ const ellipsis = 'u2026'; const unc = '';

Discussion:
/cc Notice the middle tab is truncated as , it should be ! All folders share the same grandparent: !
Change:
@INotificationService private notificationService: INotificationService, @IContextMenuService private contextMenuService: IContextMenuService, @IContextKeyService contextKeyService: IContextKeyService, <del> @IConfigurationService private configurationService: IConfigurationService </del> <ins> @IConfigurationService private configurationService: IConfigurationService, @IAccessibilityService private accessibilityService: IAccessibilityService </ins> ) { super();

Discussion:
[x] Indicate when a document has commentable ranges Aria status when a document is opened [x] Add keyboard shortcut for adding a comment [x] Provide commands to go to next and previous commentable range [x] Add an accessible help menu to the comment widget Esc dismisses widget Lists go to next/previous commentable range commands + keyboard shortcuts Lists command and keyboard shortcut to add a comment Lists keyboard shortcut to execute the comment primary action and what the primary action is [x] The Comments view should respect the enter/space = reveal+focus/reveal [x] Make the comment widget toolbar always visible when in screen reader mode
Related to
is the last part of this, and it's almost done!
Mr.KITSANAPAN MEEKEAW
Change:
protected _modifyText(text: string, wordSeparators: string): string { return (text .replace(/(p{Ll})(p{Lu})/gmu, '$1_$2') <del> .replace(/([^b_])(p{Lu})(p{Ll})/gmu, '$1_$2$3') </del> <ins> .replace(/(p{Lu}|p{N})(p{Lu})(p{Ll})/gmu, '$1_$2$3') </ins> .toLocaleLowerCase() ); }

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. --- VS Code Version: 1.55 OS Version: MacOS Big Sur The unit testing readme instructions for running unit tests from node is missing the --ui tdd flag and doesn't work without it. <!-- 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 direct to the extension publisher. The 'Help Report Issue' dialog can assist with this. --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.453 --<!-- potentialduplicatescomment --
This is about
Yeah see pull request sorry. I just lumped it into something else.
Change:
"test.tsx": "_react_2", "re": "_reasonml", "r": "_R", <del> "rmd": "_rmd", </del> <ins> "rmd": "_R", </ins> "erb": "_html_erb", "erb.html": "_html_erb", "html.erb": "_html_erb",

Discussion:
accepted a couple of update PRs recently. Can you please sync extensions/theme-seti/icons? Meanwhile, I noticed that file was falsely classified as type file. I am not sure if that's a real issue in the latest vscode release candidate, or just a non-reproducible problem caused by some peculiarity in my vscode dev env. Can you please take a look?
Also something worth mentioning is that WebP images lack the image icon whereas WebM videos does indeed have the video icon. Adding lines: and does indeed solves the issue.
can you please file a separate issue? Thanks.
NP sir .
thanks! While testing your PR, can you also please check the icon for file? There shouldn't be no icon assigned to it. Otherwise, that's a regression and I am happy to file an issue.
we don't have any references to files in our seti-ui directory and nearly all of our code is pulled directly from the seti repo, so i'm unsure where this is coming from. Please file a separate issue and can look into it. EDIT: after looking into this, it appears that files are : ! And we have refs for mod files in our built-in xml extension: So there is a clash there. I'd suggest you make a request on the seti-ui theme to set files to a go icon so there are no conflicts.
Verification steps: ensure that the following updates are reflected in the file explorer for file icons: use the new logo files point to the R icon files point to the TypeScript icon !
Change:
return; } <del> const commitHash = (gitRepo.state.HEAD?.ahead === 0) ? `/blob/${gitRepo.state.HEAD?.commit}` : ''; </del> <ins> const blobSegment = (gitRepo.state.HEAD?.ahead === 0) ? `/blob/${linkType === 'headlink' ? gitRepo.state.HEAD.name : gitRepo.state.HEAD?.commit}` : ''; </ins> const fileSegments = fileAndPosition.type === LinkType.File ? (useSelection ? `${uri.path.substring(gitRepo.rootUri.path.length)}${rangeString(fileAndPosition.range)}` : '') : (useSelection ? `${uri.path.substring(gitRepo.rootUri.path.length)}${notebookCellRangeString(fileAndPosition.cellIndex, fileAndPosition.range)}` : ''); <del> return `${hostPrefix}/${repo.owner}/${repo.repo}${commitHash </del> <ins> return `${hostPrefix}/${repo.owner}/${repo.repo}${blobSegment </ins> }${fileSegments}`; }

Discussion:
a desktop clone open with some uncommitted changes Continue Edit Session open on :bug: edit session is not applied The reason for this is that we are opening a permalink instead of preserving the current branch checkout so the edit session identifier doesn't match up and the edit session doesn't get applied. This used to work and regressed with the edit session identifier API work, which applies stricter checks to edit session identities. Thanks for finding this in !
not seeing a command
sorry, that should have been , not
Change:
} createExtensionConfiguration(): interfaces.IExtensionConfiguration { <ins> // PRAGMATIC way to avoid conflicting with the new merge editor: when git opts into // using the merge editor we disable this extension - for the merge editor but also // for "other" editors const gitConfig = vscode.workspace.getConfiguration('git'); if (gitConfig.get<boolean>('experimental.mergeEditor')) { return { enableCodeLens: false, enableDecorations: false, enableEditorOverview: false }; } </ins> const workspaceConfiguration = vscode.workspace.getConfiguration(ConfigurationSectionName); const codeLensEnabled: boolean = workspaceConfiguration.get('codeLens.enabled', true); const decoratorsEnabled: boolean = workspaceConfiguration.get('decorators.enabled', true);

Discussion:
We have the extension which highlights git merge markers (using codelens and decorations) and we adds conflict navigation commands. This conflicts with the new merge editor and we should find ways to suppress it when merge is being used, e.g hide commands based on the context key
fyi - we did push some pragmatic changes to the merge-conflict extension to disable itself when the user enables the experimental git merge editor...
Change:
await this.clipboardService.writeText(keybinding.keybindingItem.command); } <ins> async copyKeybindingCommandLabel(keybinding: IKeybindingItemEntry): Promise<void> { this.selectEntry(keybinding); this.reportKeybindingAction(KEYBINDINGS_EDITOR_COMMAND_COPY_COMMAND_LABEL, keybinding.keybindingItem.command, keybinding.keybindingItem.keybinding); await this.clipboardService.writeText(keybinding.keybindingItem.commandLabel); } </ins> focusSearch(): void { this.searchWidget.focus(); }

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. --Currently, for copying a command like on the "Keyboard Shortcuts" page, there're two options: Copies Command ID Copies But really, quite often, we just want to copy , and there's no option for that. Therefore, I'm making a feature request for it.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.526 --- <!-- score: 0.46 --- <!-- score: 0.447 --<!-- potentialduplicatescomment --
Hey I see this is assigned to you, I opened a PR to address this. It is my 1st PR so any constructive feedback would be appreciated ;-)
I hope this works for you? :smile_cat:
Sorry for the late response, but I don't know how to test this though.
Planning to look at this PR in July milestone.
Thanks for the PR - I did some small fine tunings after. !
To verify: Open Keyboard Shortcuts editor Right click on an entry and make sure you have an action to copy the command title Make sure this action works as expected
Change:
}); } <ins> private toRelativePath(extensionsProfileLocation: URI, extensionLocation: URI): string | undefined { // Extension Profile location scheme is always vscode-userdata and Extension location scheme is always file // Hence we need to convert the Extension Profile location scheme to file to resolve the relative path const parent = this.uriIdentityService.extUri.dirname(extensionsProfileLocation).with({ scheme: Schemas.file }); if (this.uriIdentityService.extUri.isEqualOrParent(extensionLocation, parent)) { return this.uriIdentityService.extUri.relativePath(parent, extensionLocation); } return undefined; } private resolveExtensionLocation(extensionsProfileLocation: URI, path: string): URI { // Extension Profile location scheme is always vscode-userdata and Extension location scheme is always file // Hence we need to convert the Extension Profile location scheme to file to resolve extension location return this.uriIdentityService.extUri.joinPath(this.uriIdentityService.extUri.dirname(extensionsProfileLocation), path).with({ scheme: Schemas.file }); } </ins> private _migrationPromise: Promise<IStoredProfileExtension[] | undefined> | undefined; private async migrateFromOldDefaultProfileExtensionsLocation(): Promise<IStoredProfileExtension[] | undefined> { if (!this._migrationPromise) {

Discussion:
Type: <bBug</bThe experimental "user profiles" feature uses absolute paths which break when using a (which is done by creating a "data/" folder in VSC's root directory). These paths seem to be stored in "data/user-", at least in part. This makes VSC forget any extensions installed on the default profile as well as any other profiles. It also prevents VSC from finding the settings for any non-default profiles: When trying to edit the settings for a non-default profile, a new "" file is created where VSC expects the file to be. It displays an error message instead if the expected path is invalid (ex. portable installation's drive letter changed). Steps to Reproduce: a portable (.zip) version of VSCode and extract to a folder. an empty "data/" folder inside that folder. VSC and install any extension with the default profile. a second profile. Change some of its settings and install any extension. VSC and move the VSC folder to another location. VSC again. VS Code version: Code - Insiders 1.74.0-insider (, 2022-11-03T18:43:35.409Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Change:
// noop } <del> const [refs, remotes, submodules, rebaseCommit] = await Promise.all([this.repository.getRefs(), this.repository.getRemotes(), this.repository.getSubmodules(), this.getRebaseCommit()]); </del> <ins> const [refs, remotes, submodules, rebaseCommit] = await Promise.all([this.repository.getRefs(sortBranchListByCommitterDate), this.repository.getRemotes(), this.repository.getSubmodules(), this.getRebaseCommit()]); </ins> this._HEAD = HEAD; this._refs = refs;

Discussion:
I agree that sometimes it is more useful to but I often feel that it makes it hard to find branches when a naming scheme like "user/feature" is used and I want to quickly find all branches of a user. Even without that scheme there are good reasons why having an alphabetical sort option makes sense, if only for personal preference. To avoid a religious discussion, could the sort order be made into a config option?
, working on this :)
Change:
import { ThemeColor } from 'vs/platform/theme/common/themeService'; import { withNullAsUndefined } from 'vs/base/common/types'; import { Promises } from 'vs/base/common/async'; <ins> import { EditorGroupColumn } from 'vs/workbench/services/editor/common/editorGroupColumn'; import { ViewColumn } from 'vs/workbench/api/common/extHostTypeConverters'; </ins> export interface IExtHostTerminalService extends ExtHostTerminalServiceShape, IDisposable {

Discussion:
I noticed terminals can accept : Note that this does not map 1 to 1 to , you have to: offset properly: convert properly: //cc
Steps: open 2 empty editor groups, focus the first group execute a command that triggers below code [1] terminal opens in first group not second
Moving to September. //cc
Change:
return new vscode.FoldingRange(start, end, kind); } <del> private static readonly foldEndPairCharacters = ['}', ']', ')', '`']; </del> <ins> private static readonly foldEndPairCharacters = ['}', ']', ')', '`', '>']; </ins> private adjustFoldingEnd(range: vscode.Range, document: vscode.TextDocument) { // workaround for #47240

Discussion:
Issue Type: <bFeature Request</bWhen foldind HTML tags inside JSX code, the closing tag is hidden and sometimes this make the understanding of the code a little bit confusing. Also, copying the folded code becomes a bit difficult. I was wondering if its possilble to make it work like in HTML, where when you fold a tag it is possible to see both opening and closing tags. Imagine that we have this JSX code: When we fold the tag, it is displayed like this: In HTML the code will be like this, showing the closing tag: so its easier to copy the code and understand the structure VS Code version: Code 1.59.1 (, 2021-08-19T11:54:37.513Z) OS version: Linux x64 5.11.0-31-generic Restricted Mode: No <!-- generated by issue reporter --
Relevant code:
Hi, would love to take this on as my first contribution!
Change:
} else { const rootPath = vscode.workspace.workspaceFolders[0].uri; const fileSystem = vscode.workspace.fs; <del> _emmetHelper.updateExtensionsPath(extensionsPath, fileSystem, rootPath, _homeDir).then(null, (err: string) => vscode.window.showErrorMessage(err)); </del> <ins> helper.updateExtensionsPath(extensionsPath, fileSystem, rootPath, _homeDir).catch(err => vscode.window.showErrorMessage(err.message)); </ins> } } }

Discussion:
Testing an html file, try triggering emmet Bug According to , I should see an error notification. However I don't see any error or notifications
I also don't see error for an invalid (if it isn't valid json for example)
Also get no errors in Linux.
+1 WSL
The reason seems like to be on the which has not be loaded when the extension first activate.
And the should be an error object instead of a string.
closedWith
I'll reopen the issue because I think the error handling changed afterwards, and I'd like to look into the implementation again during a later iteration.
Change:
export interface ThemableDecorationRenderOptions { /** * Background color of the decoration. Use rgba() and define transparent background colors to play well with other decorations. <del> * Alternativly a color from the color registry an be [referenced](#ColorIdentifier). </del> <ins> * Alternatively a color from the color registry can be [referenced](#ThemeColor). </ins> */ backgroundColor?: string | ThemeColor;

Discussion:
In the latest update (Version 0.10.3 (0.10.3) on Mac ), typing a number with a decimal autocompletes suggestions for other libraries in Example attached shows attempt to type "0.1" and "1.1" "Power0" autocompletes with ease from tweenMax Seems to be no way past this without removing quickSuggestions. TSD has : !
Yes, this is quite bad. Duplicate of
Change:
'[a]: <b c>', '[b]: <cd>', )); <del> assert.strictEqual(links.length, 2); const [link1, link2] = links; assertRangeEqual(link1.range, new vscode.Range(0, 6, 0, 9)); assertRangeEqual(link2.range, new vscode.Range(1, 6, 1, 8)); </del> <ins> assertLinksEqual(links, [ new vscode.Range(0, 6, 0, 9), new vscode.Range(1, 6, 1, 8), ]); </ins> }); test('Should only find one link for reference sources [a]: source (#141285)', async () => {

Discussion:
Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.61.2 OS Version: macOS Big Sur Steps to Reproduce: a new markdown file. ! But according to it isn't necessary to escape spaces when the text is enclosed in :
Removing help wanted since this is a bit more complicated than anticipated
Thanks!
Change:
super({ id: 'breadcrumbs.focusAndSelect', title: { <del> value: localize('cmd.focus', "Focus Breadcrumbs"), original: 'Focus Breadcrumbs' </del> <ins> value: localize('cmd.focusAndSelect', "Focus and Select Breadcrumbs"), original: 'Focus and Select Breadcrumbs' </ins> }, precondition: BreadcrumbsControl.CK_BreadcrumbsVisible, keybinding: { weight: KeybindingWeight.WorkbenchContrib, primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Period, when: BreadcrumbsControl.CK_BreadcrumbsPossible, <del> } </del> <ins> }, f1: true </ins> }); } run(accessor: ServicesAccessor, ...args: any[]): void {

Discussion:
Type: <bBug</bThe documentation suggests using the "Focus Breadcrumbs" command (bound to and by default) here: However, the command is missing from the command pallette (/). This makes it harder to discover and to learn the keybinding. Looking at the keyboard bindings list, the command lacks an English name, which seems to indicate it has been (accidentally?) removed from the command pallette. This reproduces on Insiders and on the October 2022 (Version: 1.73.1). VS Code version: Code - Insiders 1.74.0-insider (Universal) (, 2022-11-11T05:18:46.092Z) OS version: Darwin arm64 21.6.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
+1 for adding them to the command palette. Current is used but would be better here
<!-- -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!
Ill submit the PR.
To verify check the the command palette has command for Focus Breadcrumbs, and Focus and Select Breadcrumbs
Notice that you have to first open a persistent document: !
Change:
"newUntitledIpynb.shortTitle": "Jupyter Notebook", "openIpynbInNotebookEditor.title": "Open IPYNB File In Notebook Editor", "cleanInvalidImageAttachment.title": "Clean Invalid Image Attachment Reference", <del> "copyOutputToClipboard.title": "Copy Output to Clipboard", </del> <ins> "copyCellOutput.title": "Copy Output", </ins> "markdownAttachmentRenderer.displayName": { "message": "Markdown-It ipynb Cell Attachment renderer", "comment": [

Discussion:
It should be just "Copy Output", the "to Clipboard" is obvious? This then aligns with other copy actions across the product Testing
Change:
if (!controller) { return Promise.resolve(); } <del> controller.nextCommentThread(); </del> <ins> controller.nextCommentThread(true); </ins> }, weight: KeybindingWeight.EditorContrib, primary: KeyMod.Alt | KeyCode.F9,

Discussion:
Screen reader users like want to navigate between editor ranges that have comments. I think this makes sense. the recording I will share describes this in more detail.
I just realized that these already exist, and .
I respectfully think that we have miscommunication here. I am requesting a feature going to the next commented area. The commands that you are referring to are moving between commentable range, instead of commented area. The closest commands are alt+F9 () and alt+shift+F9 (). However, these commands directly and automatically opens the comment widget. I just want to jump to the next commented lines and manually open the applied comments manually if I need to review.
Ah, yes makes sense thanks for reminding me!
Change:
} onceDocumentLoaded(() => { <del> const scrollTo = !isNaN(state.line) ? state.line : state.scrollProgress; </del> <ins> const scrollProgress = state.scrollProgress; </ins> <del> if (typeof scrollTo === 'number' && !settings.settings.fragment) { </del> <ins> if (typeof scrollProgress === 'number' && !settings.settings.fragment) { </ins> doAfterImagesLoaded(() => { scrollDisabledCount += 1; <del> window.scrollTo(0, scrollTo * document.body.clientHeight); </del> <ins> window.scrollTo(0, scrollProgress * document.body.clientHeight); </ins> }); return; }

Discussion:
Repro long markdown file preview to side Bug This scrolls to the bottom of the markdown preview
Introduced by
Reopening to track candidate
Fix merged into 1.74. Closing for verification
Marking as verified based on Greg's testing
Change:
this._textModelDisposables.clear(); this._textModel = m; if (this._textModel) { <del> // Init language from text model // The language defined in the cell might not be supported in the editor so the text model might be using the default fallback // If so let's not modify the language if (!(this._languageService.isRegisteredLanguageId(this.language) === false && (this._textModel.getLanguageId() === PLAINTEXT_LANGUAGE_ID || this._textModel.getLanguageId() === 'jupyter'))) { this.language = this._textModel.getLanguageId(); } </del> <ins> this.setRegisteredLanguage(this._languageService, this._textModel.getLanguageId(), this.language); </ins> // Listen to language changes on the model <del> this._textModelDisposables.add(this._textModel.onDidChangeLanguage(e => { this.language = e.newLanguage; })); </del> <ins> this._textModelDisposables.add(this._textModel.onDidChangeLanguage((e) => this.setRegisteredLanguage(this._languageService, e.newLanguage, this.language))); </ins> this._textModelDisposables.add(this._textModel.onWillDispose(() => this.textModel = undefined)); this._textModelDisposables.add(this._textModel.onDidChangeContent(() => { if (this._textModel) {

Discussion:
Currently if we don't find language provider for cells, we would fall back to , this will make the document dirty immediately. We should actually respect the language metadata, show a warning on the cell status bar language picker and ask users to install language extensions for it.