jiebi/CodeConvo huggingface dataset:
Code change:
column = model.getLineMaxColumn(lineNumber); } } else if (wordNavigationType === WordNavigationType.WordAccessibility) { <ins> if (movedDown) { // If we move to the next line, pretend that the cursor is right before the first character. // This is needed when the first word starts right at the first character - and in order not to miss it, // we need to start before. column = 0; } </ins> while ( nextWordOnLine <del> && nextWordOnLine.wordType === WordType.Separator </del> <ins> && (nextWordOnLine.wordType === WordType.Separator || nextWordOnLine.start + 1 <= column ) </ins> ) { // Skip over a word made up of one single separator <ins> // Also skip over word if it begins before current cursor position to ascertain we're moving forward at least 1 character. </ins> nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new Position(lineNumber, nextWordOnLine.end + 1)); } if (nextWordOnLine) { <del> column = nextWordOnLine.end + 1; </del> <ins> column = nextWordOnLine.start + 1; </ins> } else { column = model.getLineMaxColumn(lineNumber); }

Related discussion:
text: Issue Type: <bBug</b(I have fixed this myself and will send a pull request in a minute) Steps to reproduce: accessibility mode in settings. a new document and type: to the beginning and press Ctrl+Right. Expected behavior: Cursor should jump to the letter w - that is the beginning of the second word. This behavior would be consistent with word navigation in most other Windows programs, e.g. notepad, MS Word, Visual Studio - just to name a few. Actual behavior: Cursor jumps to the space immediately after the first word, and the screenreader announces "Hello". The biggest problem with this behavior is that screenreader users would have to relearn how they make small edits in text files. For example, if I want to delete the word "world" in my example, I would go to the beginning of the line and press Control+Right until my screenreader announces the word I'm interested in. And then, assuming that cursor at this point is at the beginning of the word, I would press delete 5 times. However, in VSCode the cursor would be at the end of the word, and I would end up deleting wrong part of the line. VS Code version: Code - Insiders 1.40.0-insider (, 2019-10-25T14:03:31.497Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </detailsExtensions: none <!-- generated by issue reporter --
FYI, I found related discussion here: , but that thread is now locked.
Code change:
if (selectedDiffs_.length > 0) { const selections = this._editors.modifiedSelections.read(reader); <del> const btn = new RevertButton(selections[selections.length - 1].positionLineNumber, this._widget, selectedDiffs_.flatMap(d => d.rangeMappings), true); </del> <ins> const btn = store.add(new RevertButton(selections[selections.length - 1].positionLineNumber, this._widget, selectedDiffs_.flatMap(d => d.rangeMappings), true)); </ins> this._editors.modified.addGlyphMarginWidget(btn); glyphWidgetsModified.push(btn); }

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.85.0 OS Version: Ubuntu 23.04 a file with contents a file with contents the explorer, right click on file and select the explorer, right click on file and select , opening the diff editor the diff editor that , and event listeners have been but not been removed The issue is not present in VS Code 1.84.2. It seems to be caused by
Code change:
rcedit "^0.3.0" rimraf "^2.4.2" semver "^4.3.4" <ins> sumchecker "^3.0.1" </ins> temp "^0.8.3" vinyl "^3.0.0" vinyl-fs "^3.0.3"

Related discussion:
text: Today when running out of sources and/or building, we get some components from online resources such as GitHub or our Marketplace. We should add SHA256 checksum verification to these: [x] [x] built-in extensions [x] electron
Adding the foundation for this for and extensions in
Code change:
const myToken = new CancellationTokenSource(); this._pendingUpdate.set(model.id, myToken); <del> this._editorWorkerService.computeMoreMinimalEdits(model.uri, [{ text: value, range: model.getFullModelRange() }]).then(edits => { </del> <ins> try { const edits = await this._editorWorkerService.computeMoreMinimalEdits(model.uri, [{ text: value, range: model.getFullModelRange() }]); </ins> // remove token this._pendingUpdate.delete(model.id);

Related discussion:
text: Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.77.2 OS Version: Windows 10 It seems that when refreshing () the in a short period, the second refresh is not actually performed. I have provided an example repo and a video demonstrating the issue. Basically we have a that shadows the active editor so whenever a user changes the active editor we update the read only document. However, if the user changes the editors quickly enough then the second change is dropped... Steps to Reproduce: the extension the command "Open Read Only Document" tabs quickly and see how it falls behind even though the content is up to date https://user- The content is actually set but it seems the second is dropped. Because if you refresh the document manually it shows the correct content (see the video above). The issue seems to happen more frequently if the content of the file(s) is large.
I found out why it happens and attempted a fix (with explanation) in
Pinging so it does not get lost
Code change:
.quick-input-header { display: flex; <del> padding: 8px 6px 0px 6px; margin-bottom: -2px; </del> <ins> padding: 8px 6px 6px 6px; </ins> } .quick-input-widget.hidden-input .quick-input-header {

Related discussion:
text: I just now noticed how the progress bar was a the very end of the quick pick but not below input box, I think it should be below input box because the progress is for what I typed. Steps: have some history entries in Cmd+P picker be on a slow OS (Windows) start to type and notice progress bar is below the history entries //cc
Seems like this might have been a regression at some point. for relocating it back near the input.
I like where it is now. To me it says "the results are still populating".
The reason I do not like it: the progress bar is at a non-deterministic location depending on the number of items the progress bar indicator is away from the location that triggers it (the input box)
Code change:
} export interface IMessage { <del> readonly content: string; </del> <ins> readonly content?: string; </ins> readonly formatContent?: boolean; // defaults to false readonly type?: MessageType; }

Related discussion:
text: Type: <bBug</ba file for which a DocumentSymbolProvider will return some items, for example on the filename in the breadcrumb, then type Ctrl/Cmd+F. The list filter widget looks OK, though it hides the first filename in the list ( ought to help with this once merged). the same but one item to the right in the breadcrumb. The filter widget is transparent. ! VS Code version: Code - Insiders 1.71.0-insider (, 2022-08-22T05:16:19.478Z) OS version: Windows_NT x64 10.0. Modes: Sandboxed: Yes <!-- generated by issue reporter --
/assign
Easier steps: <kbdCtrl F</kbdon an outline breadcrumb
I still see this. It looks like the background of the find widget gets removed, but the contents still scroll up out of the breadcrumbs widget
Did you test this in dev? Because we still didn't get an Insiders build with the fix.
Code change:
} export interface IMessage { <del> readonly content: string; </del> <ins> readonly content?: string; </ins> readonly formatContent?: boolean; // defaults to false readonly type?: MessageType; }

Related discussion:
text: Originally posted by in
This also happens if step 5 is omitted and Search mode is used. The problem seems to be that to put the 'No elements found.' warning message under the find-in-list's input widget a ContextView is created immediately below it. But when find is occurring in a breadcrumb list, that list is itself in a ContextView which gets hidden and cleared immediately before the one for the warning message is shown. The warning message appears in the top left of the VS Code window in a very narrow column. See below, where I open , click on the filename in the breadcrumb to get a list of sibling filenames, then type "z" which isn't present in any of the filenames. !
Code change:
UpdateAction, ReloadAction, EnableDropDownAction, DisableDropDownAction, ExtensionStatusLabelAction, SetFileIconThemeAction, SetColorThemeAction, RemoteInstallAction, ExtensionStatusAction, LocalInstallAction, ToggleSyncExtensionAction, SetProductIconThemeAction, ActionWithDropDownAction, InstallDropdownAction, InstallingLabelAction, UninstallAction, ExtensionActionWithDropdownActionViewItem, ExtensionDropDownAction, <del> InstallAnotherVersionAction, ExtensionEditorManageExtensionAction, WebInstallAction, SwitchToPreReleaseVersionAction, SwitchToReleasedVersionAction </del> <ins> InstallAnotherVersionAction, ExtensionEditorManageExtensionAction, WebInstallAction, SwitchToPreReleaseVersionAction, SwitchToReleasedVersionAction, MigrateDeprecatedExtension </ins> } from 'vs/workbench/contrib/extensions/browser/extensionsActions'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElement';

Related discussion:
text: Code, search for "bracket pair colorizer" how it is nicely rendered as deprecated on install -notice dialog The dialog should offer a third button to configure built-in settings instead. Same if an extension had an alternative extension. Example: ! fyi
I assume you want the extra button to replicate this link in the hover tip, right? ! As an aside, any doc yet about how an extension gets tagged as deprecated?
yes, a button that will replicate that behaviour correct. No docs yet written. I plan to add them soon. The process is to write an email to us or to ping us on GitHub. In the future we will have a more straightforward approach when MP adds UI.
I feel, the third option would be a general options like More Information... clicking on this shall open the extension editor. This will be consistent and useful so that user will get enough info before taking an action
"More Information..." might work, but in order to have one less hop we could render: "Install EXTENSION_NAME Instead" "Enable Native Settings Instead" That would just do the action right straight away. I am not sure if those button names are too long. So just a suggestion. Whatever you prefer...
Yah I see your point, but going to extension editor gives user more information and an opportunity to look at the alternative extension before installing. And also I do not like that this button changes with extension. More Information... would be consistent.
That's fair. We can start with your proposal and see how it goes. My only concern with "More Information" is that the user might think it is more information about the deprecation. While we actually want to guide the user to a solution. So it is something like "More about the alternative". I am not sure if there is a good button label to represent this.
<img width="308" alt="image (1)" src="https://user-"
Changed the second button as follows ! !
Awesome!!
Code change:
import { ICodeEditorService } from 'vs/editor/common/services/codeEditorService'; import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService'; <del> import { IEditorOptions, Position as EditorPosition } from 'vs/platform/editor/common/editor'; </del> <ins> import { Position as EditorPosition, ITextEditorOptions } from 'vs/platform/editor/common/editor'; </ins> import { MainThreadTextEditor } from './mainThreadEditor'; import { ITextEditorConfigurationUpdate, TextEditorRevealType, IApplyEditsOptions, IUndoStopOptions } from 'vs/workbench/api/node/extHost.protocol';

Related discussion:
text: For
Verify: write an extension that exercises the following APIs by passing in a selection as option and verify the selection is revealed and showing up in the opened editor: command API Provide a property of type to get it. !
Code change:
// Store into config object URL this.configuration = { <ins> zoomLevel: data.zoomLevel, </ins> appRoot: this.environmentService.appRoot, windowId: 0, userEnv: {},

Related discussion:
text: Type: <bBug</bIssue Reporter, e.g. from off Command Palette. the first dropdown to VS Code version: Code - Insiders 1.92.0-insider (, 2024-07-24T07:50:18.385Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
good catch, thanks! looks like an issue with the refactor
Code change:
} else if (!edit.newResource && edit.oldResource) { edits.push(new DeleteEdit(edit.oldResource, edit.options ?? {}, false)); } else if (edit.newResource && !edit.oldResource) { <del> edits.push(new CreateEdit(edit.newResource, edit.options ?? {}, undefined)); </del> <ins> edits.push(new CreateEdit(edit.newResource, edit.options ?? {}, edit.options.contentsBase64 ? decodeBase64(edit.options.contentsBase64) : undefined)); </ins> } }

Related discussion:
text: Add support for setting the contents of files created by workspace edits My proposed would be to add a option to : For , we want to support copying images from desktop into with drag and drop. Right now we have to use the apis to create the image file Using a workspace edit would let us express the entire operation in a single , which will play more nicely with undo/redo
Looks like support for this may already exist internally: However getting a of new file data from the extension host to the main process may be tricky. We can only efficiently serialize a if it is a top level argument to an RPC call or if the entire object is wrapped in a (which has a perf cost). Open to ideas on how to handle this
I do like the and believe the cost is manageable - we don't send edits is large frequencies and of large sizes. I can take a look at this but it honestly is stretch for June - there is some debt in how workspace edits are represented on the wire and I would take this issue as a reason to clean things up
work started here: I didn't bother with or hoisting the data to the top but instead it uses quick and dirty base64 encoding. I'd suggest we go with that and see how it works out over time.
Code change:
if (initialName !== value && this.userDataProfilesService.profiles.some(p => p.name === value)) { return { content: localize('profileExists', "Profile with name {0} already exists.", value), <del> type: MessageType.ERROR </del> <ins> type: MessageType.WARNING </ins> }; } return null;

Related discussion:
text: <!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --when you import a profile file, vscode will create a new profile but not overwrite current one or merge it to current one Actually I don't need so many profiles, the default profile is enough for me. sometimes I just want to import a keybinding settings from some one, and keep my other settings after I import it, WHAT HAPPEND!!!, all my other settings and extension are gone!!! This is unreasonable! what vscode should do is merging(or overwriting) new keybinding to my old one!! <!-- Describe the feature you'd like. --
Can I have a try on this? I'm new to contributing to this repo but want to try out stuff and get along with starting out at the same time..
Edit: Ignore this, I misread this with other issue
Just wondering is not this same as Can you please distinguish your ask from the other?
partially like But I request more flexibility: Suppose current profile is profile X (X can be default or user profile) when I import A profile, that will be: A.keybinding, A.UI, A.extensions ..... and I choose A.keybindings only to import what I expect: there are 2 options for user when importing: option 1 - merge to current profile, (so X profile's keybindings overwritten but other part of settings kept) option 2 - or create a new profile partially basing on what imported (this is what VSCode currently does )
<!-- -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!
<!-- -c9e0-7adb-d31b- --:slightlysmilingface: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our . Happy Coding!
?
Code change:
if (initialName !== value && this.userDataProfilesService.profiles.some(p => p.name === value)) { return { content: localize('profileExists', "Profile with name {0} already exists.", value), <del> type: MessageType.ERROR </del> <ins> type: MessageType.WARNING </ins> }; } return null;

Related discussion:
text: I would think this is not a good one to start at and recommend to look for issues labelled with or
I really want to try out.. just to experience and I think I would be able to do it. Even if it's not a good first issue I have contributed to other open source repos. Can I?
Sure, here is the starting point
Thanks a lot for this I was checking your PR with the user-profile feature implementation.. For now I'm just figuring out stuff that is already present. Just a single doubt that I had was about the merging of profiles.. would the editor be like a merge editor that opens whenever we get a merge conflict on git..? Or something else with checkboxes on which settings to get imported from each of the sides(current and imported one)? I'll try my best
For the sake of simplicity, during conflicts, I would simply override with the new one.
Also
Note to self: see for manual workaround.
You can now import and replace any existing profile (including Default profile) from new Profiles Editor UI
To verify: Create a profile A and configure with some settings and extensions Export the profile A to the disk Change some settings and extensions in the profile Import the profile A You should be able to import the profile with name A replacing the existing profile
When I export the profile, install some new extensions, then import the profile with the same name, I would expect the installed extensions to disappear from my extensions list, but that doesn't seem to be the case
It is working for me, ie., I only see the extension from the imported profile. After importing, extensions are getting replaced. Can you please share the exact steps to repro?
Using vscode 1.92.2, I can't figure out how to get to that UI. Where do I find it?
search settings for "profiles experimental"
Thank you!
Code change:
* created with all its APIs available for use by extensions. When using the Terminal object * of a TerminalRenderer it acts just like normal only the extension that created the * TerminalRenderer essentially acts as a process. For example when an <del> * [Terminal.onData](#Terminal.onData) listener is registered, that will fire when * [TerminalRenderer.write](#TerminalRenderer.write) is called. Similarly when </del> <ins> * [Terminal.onDidWriteData](#Terminal.onDidWriteData) listener is registered, that will fire * when [TerminalRenderer.write](#TerminalRenderer.write) is called. Similarly when </ins> * [Terminal.sendText](#Terminal.sendText) is triggered that will fire the <del> * [TerminalRenderer.onInput](#TerminalRenderer.onInput) event. </del> <ins> * [TerminalRenderer.onDidAcceptInput](#TerminalRenderer.onDidAcceptInput) event. </ins> * * **Example:** Create a terminal renderer, show it and write hello world in red * ```typescript

Related discussion:
text: re see
same for
Same is true for Wanted to reuse the issue but didn't read all comments. Ignore mine. already mentioned it.
I'll change them to ,
Code change:
import {SyncDescriptor} from 'vs/platform/instantiation/common/descriptors'; import {KeyMod, KeyChord, KeyCode} from 'vs/base/common/keyCodes'; import {CloseEditorsInGroupAction, CloseEditorsInOtherGroupsAction, CloseAllEditorsAction, MoveGroupLeftAction, MoveGroupRightAction, SplitEditorAction, KeepEditorAction, CloseOtherEditorsInGroupAction, OpenToSideAction, <del> NavigateBetweenGroupsAction, FocusFirstGroupAction, FocusSecondGroupAction, FocusThirdGroupAction, EvenGroupWidthsAction, MaximizeGroupAction, MinimizeOtherGroupsAction, FocusPreviousGroup, FocusNextGroup, ShowEditorsInLeftGroupAction, </del> <ins> NavigateBetweenGroupsAction, FocusActiveGroupAction, FocusFirstGroupAction, FocusSecondGroupAction, FocusThirdGroupAction, EvenGroupWidthsAction, MaximizeGroupAction, MinimizeOtherGroupsAction, FocusPreviousGroup, FocusNextGroup, ShowEditorsInLeftGroupAction, </ins> toEditorQuickOpenEntry, CloseLeftEditorsInGroupAction, CloseRightEditorsInGroupAction, OpenNextEditor, OpenPreviousEditor, NavigateBackwardsAction, NavigateForwardAction, ReopenClosedEditorAction, OpenPreviousRecentlyUsedEditorInGroupAction, NAVIGATE_IN_LEFT_GROUP_PREFIX, OpenPreviousEditorFromHistoryAction, ShowAllEditorsAction, NAVIGATE_ALL_EDITORS_GROUP_PREFIX, ClearEditorHistoryAction, ShowEditorsInCenterGroupAction, MoveEditorRightInGroupAction, NAVIGATE_IN_CENTER_GROUP_PREFIX, ShowEditorsInRightGroupAction, NAVIGATE_IN_RIGHT_GROUP_PREFIX, RemoveFromEditorHistoryAction, FocusLastEditorInStackAction, OpenNextRecentlyUsedEditorInGroupAction, MoveEditorToLeftGroupAction, MoveEditorToRightGroupAction, MoveEditorLeftInGroupAction

Related discussion:
text: In order to create custom keybindings to toggle focus between the editor and something such as the terminal panel, a command to focus the active/most recently used editor group needs to be . I believe this is the best that can be accomplished currently: Focuses the first group, meaning if the second or third editor groups were focused this would feel wrong: Or this which focused the most recently used editor group but opens the last editor/file in the group: Some context on request:
isn't that as easy as providing a global command that just puts focus into the active editor? E.g. ? PR welcome if you wanna give it a try.
yes, I expect it to be pretty easy.
got a better name than ?
works for me
Code change:
return; } <ins> if (ref !== undefined && typeof ref !== 'string') { console.warn('Failed to open URI:', uri); return; } </ins> let cloneUri: Uri; try { let rawUri = Array.isArray(data.url) ? data.url[0] : data.url;

Related discussion:
text: <!-- 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. --vscode- a directory to clone your repo into cloned repo :bug: branch context is not preserved This impacts Continue Working On--branch context is preserved for Clone in Container and Create New Codespace. I propose adding a new optional query parameter to the uri handler here: and passing that to the command as an optional argument here Then after cloning here: and before opening the repo in a new window, we would perform the ref checkout:
will you create a test plan item/verification steps for this feature?
yes I will!