jiebi/CodeConvo huggingface dataset:
Change:
} } <ins> /** Action to jump to the parent fold of current line */ class JumpToParentFoldAction extends FoldingAction<void> { constructor() { super({ id: 'editor.jumpToParentFold', label: nls.localize('jumpToParentFold.label', "Jump to Parent Fold"), alias: 'Jump to Parent Fold', precondition: CONTEXT_FOLDING_ENABLED, kbOpts: { kbExpr: EditorContextKeys.editorTextFocus, weight: KeybindingWeight.EditorContrib } }); } invoke(_foldingController: FoldingController, foldingModel: FoldingModel, editor: ICodeEditor): void { let selectedLines = this.getSelectedLines(editor); if (selectedLines.length > 0) { let startLineNumber = getJumpToParentFoldLine(selectedLines[0], foldingModel); if (startLineNumber !== null) { editor.setSelection({ startLineNumber: startLineNumber, startColumn: 1, endLineNumber: startLineNumber, endColumn: 1 }); } } } } /** Action to jump to the previous fold of current line */ class JumpToPreviousFoldAction extends FoldingAction<void> { constructor() { super({ id: 'editor.jumpToPreviousFold', label: nls.localize('jumpToPreviousFold.label', "Jump to Previous Fold"), alias: 'Jump to Previous Fold', precondition: CONTEXT_FOLDING_ENABLED, kbOpts: { kbExpr: EditorContextKeys.editorTextFocus, weight: KeybindingWeight.EditorContrib } }); } invoke(_foldingController: FoldingController, foldingModel: FoldingModel, editor: ICodeEditor): void { let selectedLines = this.getSelectedLines(editor); if (selectedLines.length > 0) { let startLineNumber = getJumpToPreviousFoldLine(selectedLines[0], foldingModel); if (startLineNumber !== null) { editor.setSelection({ startLineNumber: startLineNumber, startColumn: 1, endLineNumber: startLineNumber, endColumn: 1 }); } } } } /** Action to jump to the next fold of current line */ class JumpToNextFoldAction extends FoldingAction<void> { constructor() { super({ id: 'editor.jumpToNextFold', label: nls.localize('jumpToNextFold.label', "Jump to Next Fold"), alias: 'Jump to Next Fold', precondition: CONTEXT_FOLDING_ENABLED, kbOpts: { kbExpr: EditorContextKeys.editorTextFocus, weight: KeybindingWeight.EditorContrib } }); } invoke(_foldingController: FoldingController, foldingModel: FoldingModel, editor: ICodeEditor): void { let selectedLines = this.getSelectedLines(editor); if (selectedLines.length > 0) { let startLineNumber = getJumpToNextFoldLine(selectedLines[0], foldingModel); if (startLineNumber !== null) { editor.setSelection({ startLineNumber: startLineNumber, startColumn: 1, endLineNumber: startLineNumber, endColumn: 1 }); } } } } </ins> registerEditorContribution(FoldingController.ID, FoldingController); registerEditorAction(UnfoldAction); registerEditorAction(UnFoldRecursivelyAction);

Discussion:
It would be useful for navigating code to have a command to jump to previous/next foldable line. This would allow me to easily jump to the lines that I can either fold/unfold.
Awesome! Do I need to update my version to add this? I'm on macos Version: 1.58.2 currently and tried to my shortcuts, but didn't get it to work.
to get it you need to install Insiders.
Ahh I see the tag now, thanks.
Change:
} public withInnerChangesFromLineRanges(): DetailedLineRangeMapping { <del> return new DetailedLineRangeMapping(this.original, this.modified, [ new RangeMapping(this.original.toExclusiveRange(), this.modified.toExclusiveRange()), ]); </del> <ins> return new DetailedLineRangeMapping(this.original, this.modified, [this.toRangeMapping()]); </ins> } }

Discussion:
Type: <bBug</bStep 1: Create a file named with this content: Step 2: create an empty file named Step 3: Move with a terminal in the folder containing the files and run Step 4: Click on the arrow button and see that it doesn't work ! VS Code version: Code 1.88.1 (, 2024-04-10T17:41:02.734Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (38)</summaryExtensionVersion ------ vscode-nginx-conf0.3.5 swagger-viewer3.1.2 freezed0.9.6 ccs-flutter-color1.2.4 dart-code3.86.0 flutter3.86.0 jquerysnippets0.0.1 es7-react-js-snippets4.4.3 vscode-html-css2.0.9 copilot1.180.0 copilot-chat0.14.1 vscode-github-actions0.26.2 vscode-pull-request-github0.86.1 gc-excelviewer4.2.59 todo-tree0.0.226 vscode-nginx-conf-hint0.3.1 latex-workshop9.20.0 vscode-edit-csv0.9.1 plantuml2.18.1 vscode-peacock4.2.2 dotenv1.0.1 vscode-docker1.29.0 debugpy2024.5. isort2023.13. python2024.5. vscode-pylance2024.4.102 remote-containers0.354.0 cpptools1.19.9 vscode-thunder-client2.21.11 nginx-formatter0.0.13 vscode-xml0.26.1 vscode-yaml1.14.0 scala0.5.7 markdown-preview-enhanced0.8.13 even-better-toml0.19.2 vscode-icons12.7.0 vscode-nginx0.7.2 txt-syntax0.2.2 </details
working on this
Oh wow I did not realize this was fixed. I've been working on it and just submitted a PR for a similar issue.
My solution was also very similar.
sorry! It was tricky to fix though.
Change:
contextmenu: IEditorOption<EditorOption.contextmenu, boolean>; copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>; cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>; <del> cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>; </del> <ins> cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, 'on' | 'off' | 'explicit'>; </ins> cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>; cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>; cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;

Discussion:
Type: <bBug</bthe set to the cursor around with arrows. Animation is there. something. Animation is not there. VS Code version: Code - Insiders 1.75.0-insider (, 2022-12-12T05:36:38.306Z) OS version: Darwin arm64 22.1.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (42)</summaryExtensionVersion ------ better-comments3.0.2 vscode-nginx-conf0.1.3 ng-template15.0.2 vscode-tailwindcss0.9.1 better-toml0.3.2 npm-intellisense1.4.3 vscode-eslint2.3.0 vscode-quick-select0.2.9 xml2.5.1 gitlens13.1.1 scroll-faster0.2.2 prettier-vscode9.10.3 vscode-jest-runner0.4.59 auto-rename-tag0.1.10 shell-format7.2.2 macros1.2.1 vscode-pull-request-github0.57. vscode-postfix-ts1.11.3 Angular213.0.0 center-editor-window2.3.0 graphql-for-vscode1.15.3 vscode-clangd0.1.23 ts-error-translator0.5.1 dotenv1.0.1 vscode-docker1.23.1 black-formatter2022.7. isort2022.9. python2022.21. vscode-pylance2022.12.21 vscode-typescript-next5.0. vsliveshare1.0.5788 prisma4.7.1 vscode-yaml1.10.1 better-pageup-pagedown0.0.1 rust-analyzer0.4.1316 vs-code-prettier-eslint5.0.4 justfile2.1.0 vscode-scss-formatter2.4.4 shellcheck0.29.1 vscode-input-sequence0.2.0 errorlens3.6.0 vscode-lldb1.8.1 (1 theme extensions excluded) </details<!-- generated by issue reporter --
Maybe related to /assign
This was an intentional change to disable the animation when typing/deleting.

See
okay, that makes perfect sense. closing.
Also having the same issue. Has there been a fix?
We have intentionally removed animating the cursor when typing for which explicitly asks us to do that. But I think some folks actually prefered the old behavior of animating also when typing?
Yes, I love the animating when typing.
A good common ground could be that it becomes a setting to also have the caret animated while typing
I've pushed a change where there will be 3 possible values for : off: Smooth caret animation is disabled explicit: Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture. This should cover users who don't want it like in issue on: Smooth caret animation is always enabled
thank you for the changes. I noticed now cursorSmoothCaretAnimation is turned on by default and can't be turned off at all. Looks like a bug.
see which is already fixed.
Change:
}; } async function main(arch = process.arch) { <del> const version = product.electronRepository ? '22.4.5' : util.getElectronVersion(); </del> <ins> const version = product.electronRepository ? '22.4.7' : util.getElectronVersion(); </ins> const electronPath = path.join(root, '.build', 'electron'); const versionFile = path.join(electronPath, 'version'); const isUpToDate = fs.existsSync(versionFile) && fs.readFileSync(versionFile, 'utf8') === `${version}`;

Discussion:
This works on web e.g. but does not work in desktop, either with a desktop git clone or with RemoteHub. The last time this happened it was due to a regression in the list of enabled codecs for our Electron builds.
Sorry for the breakage, the changes from has not been to Electron = 22 versions yet. It will be addressed in new builds this week.
Addressed in
Reopening because of
Change:
const variableResolver = terminalEnvironment.createVariableResolver(lastActiveWorkspace, this._configurationResolverService); const env = terminalEnvironment.createTerminalEnvironment(shellLaunchConfig, envFromConfigValue, variableResolver, isWorkspaceShellAllowed, this._productService.version, this._configHelper.config.detectLocale, baseEnv); <del> if (!shellLaunchConfig.strictEnv) { </del> <ins> if (!shellLaunchConfig.strictEnv && !shellLaunchConfig.hideFromUser) { </ins> this._extEnvironmentVariableCollection = this._environmentVariableService.mergedCollection; this._register(this._environmentVariableService.onDidChangeCollections(newCollection => this._onEnvironmentVariableCollectionChange(newCollection))); // For remote terminals, this is a copy of the mergedEnvironmentCollection created on

Discussion:
Run "Remote-SSH: Connect to Host" An empty remote window opens The terminal is shown (We force this for empty remote windows) After a second, the panel is closed Setting a bp shows that this happens because the terminal process died
Any OS info? Curious why this is forced?
Just Ubuntu. I think we did that to help avoid people being confused in an empty remote window. It just shows them what they are connected to.
Enabling trace logs should show how the terminal was created, maybe an invalid launch config is passed in initially before the connectionis ready?
Change:
} } <del> class MdRendererContrib extends Disposable implements IOutputRendererContribution { getType() { return RenderOutputType.Mainframe; } getMimetypes() { return [Mimes.markdown, Mimes.latex]; } constructor( public notebookEditor: INotebookDelegateForOutput, @IInstantiationService private readonly instantiationService: IInstantiationService, ) { super(); } render(output: ICellOutputViewModel, item: IOutputItemDto, container: HTMLElement, notebookUri: URI): IRenderOutput { const disposable = new DisposableStore(); const str = getStringValue(item); const mdOutput = document.createElement('div'); const mdRenderer = this.instantiationService.createInstance(MarkdownRenderer, { baseUrl: dirname(notebookUri) }); mdOutput.appendChild(mdRenderer.render({ value: str, isTrusted: true, supportThemeIcons: true }, undefined, { gfm: true }).element); container.appendChild(mdOutput); disposable.add(mdRenderer); return { type: RenderOutputType.Mainframe, disposable }; } } </del> class ImgRendererContrib extends Disposable implements IOutputRendererContribution { getType() { return RenderOutputType.Mainframe;

Discussion:
VS Code version: 1.63.0-insider Jupyter Extension version : v2021.10. Python Extension version : v2021.12.-dev OS : Windows 11 Python and/or Anaconda version: 3.9.7 Type of virtual environment used : N/A Jupyter server running: Local Render correctly the Markdown text using the default renderer: ! This is the correct rendering for this: ! a new Jupyter notebook a new cell code with the following Python: Ctrl-Enter to render cell Via "Choose Output Minetype", selecting the "non default" renderer (i.e. the one with "(vscode.markown-language-feature") for Markdown: ! Gives the expected result: ! Also, I could not find a setting allowing me to make the functioning "Output Mimetype" the default... Thanks!
The actual repro attached.
this might be another example of the wrong renderer being chosen.
I get the correct default renderer first time now. text/plain is the only other output option. !
Change:
/** * Checks if this kind intersects `other`. * <ins> * The kind `"text.plain"` for example intersects `text`, `"text.plain"` and `"text.plain.list"`, * but not `"unicorn"`, or `"textUnicorn.plain"`. * </ins> * @param other Kind to check. */ intersects(other: DocumentDropOrPasteEditKind): boolean;

Discussion:
Testing I cloned the vscode-extension-samples repository and tried to return two edits instead of one. Only the first one appears to take effect. I am wondering if this is expected? I guess I was expecting both edits to be applied since it is possible to return an array from the method.
The thought occurred to me that the edits would appear in the paste widget, and I verified this was indeed the case. I guess, by reading the TS docs I didn't catch on that this would happen
Aside from the above comment, on reading the JS Docs, the following thoughts came to mind: For the class , I was looking at the method . Consider the following code: Do the kinds and intersect here? Or is the intersection evaluated per part, so that the above do not intersect but the below kinds do? I noticed the refers to file dropping in its JS Doc. I was wondering if this is intended? The JS Doc above the field says . The same line more-or-less can be found under .
This is expected. Each is one potential way of applying the paste. We only apply one at a time and the first one is auto applied , the kinds are scoped hierarchies of parts. When we talk about intersection, only the second example would return true. The first one would not as the two top level parts and are not the same. I'll add an example in the docs to make this more clear it applies but for pasting files. I'll change the word
Change:
const prefix = line.slice(0, position.character); const match = prefix.match(/^s*//+s?(@[a-zA-Z-]*)?$/); if (match) { <del> return directives.map(directive => { </del> <ins> return this.directives.map(directive => { </ins> const item = new vscode.CompletionItem(directive.value, vscode.CompletionItemKind.Snippet); item.detail = directive.description; item.range = new vscode.Range(position.line, Math.max(0, position.character - (match[1] ? match[1].length : 0)), position.line, position.character);

Discussion:
Following up on microsoft/TypeScript, is now a valid completion directive. It should be recommended over in the editor walkthrough that mentions comment directives.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.668 --<!-- potentialduplicatescomment --
Change:
} } <del> private updateTarget(settingsTarget: SettingsTarget): TPromise<void> { </del> <ins> public updateTarget(settingsTarget: SettingsTarget): TPromise<void> { </ins> const isSameTarget = this.settingsTarget === settingsTarget || settingsTarget instanceof URI && this.settingsTarget instanceof URI && this.settingsTarget.toString() === settingsTarget.toString(); if (!isSameTarget) { this.settingsTarget = settingsTarget;

Discussion:
Issue Type: <bFeature Request</bTesting Just a thought: When I see "Modified in: Workspace" I might want to go there and check. I'd keep font and color as they are and add an underline and pointer cursor to "Workspace" on hover. VS Code version: Code - Insiders 1.27.0-insider (, 2018-08-29T05:12:15.247Z) OS version: Darwin x64 17.7.0 <!-- generated by issue reporter --
Good idea!
I would take a PR for this "Modified in: Workspace" - the word Workspace is underlined When clicked, it switches to the Workspace scope, and copies the setting key into the search bar, so the view is filtered to just that one setting
I'm interested in looking into this if that is alright.
Change:
getReconnectedTerminals(reconnectionOwner: string): ITerminalInstance[] | undefined; getActiveOrCreateInstance(options?: { acceptsInput?: boolean }): Promise<ITerminalInstance>; <ins> revealTerminal(source: ITerminalInstance, preserveFocus?: boolean): Promise<void>; </ins> revealActiveTerminal(preserveFocus?: boolean): Promise<void>; moveToEditor(source: ITerminalInstance, group?: GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE | AUX_WINDOW_GROUP_TYPE): void; moveIntoNewEditor(source: ITerminalInstance): void;

Discussion:
Type: <bBug</bPreparation: create the following file: the terminals panel, create a new shell terminal it to the main editor area to make it a full-size terminal open an editor tab (any file will do, including Command-N) sure the panel is closed (press Command-J to close it if it is open) the above task (e.g. with Command-P, then type ) Expected: the panel opens and shows the running task Actual: the editor terminal is brought to the front, and the panel stays closed VS Code version: Code - Insiders 1.92.0-insider (, 2024-07-11T05:03:58.450Z) OS version: Darwin arm64 23.5.0 Modes: <details<summarySystem Info</summary </detailsExtensions disabled <!-- generated by issue reporter --
In this scenario, focus also fails.
I can confirm that fixes the problem for me. Thanks!
Change:
} } <ins> export class RevertRangesAction extends baseeditor.EditorInputAction { static ID = 'workbench.action.git.revertRanges'; static LABEL = nls.localize('revertSelectedLines', "Revert Selected Lines"); private editorService: IWorkbenchEditorService; private editor: editorbrowser.IDiffEditor; constructor(editor: tdeditor.TextDiffEditor, @IWorkbenchEditorService editorService: IWorkbenchEditorService) { super(RevertRangesAction.ID, RevertRangesAction.LABEL); this.editorService = editorService; this.editor = editor.getControl(); this.editor.onDidChangeCursorSelection(() => this.updateEnablement()); this.editor.onDidUpdateDiff(() => this.updateEnablement()); this.class = 'git-action revert-ranges'; } public isEnabled(): boolean { if (!super.isEnabled()) { return false; } if (!this.editorService) { return false; } const changes = this.editor.getLineChanges(); const selections = this.editor.getSelections(); if (!changes || !selections || selections.length === 0) { return false; } return getSelectedChanges(changes, selections).length > 0; } public run(): TPromise<any> { const selections = this.editor.getSelections(); const changes = getSelectedChanges(this.editor.getLineChanges(), selections); const {original, modified} = this.editor.getModel(); const revertEdits = getChangeRevertEdits(original, modified, changes); modified.pushEditOperations(selections, revertEdits, () => selections); modified.pushStackElement(); return TPromise.wrap(null); } private updateEnablement(): void { this.enabled = this.isEnabled(); } } </ins> class FileEditorActionContributor extends baseeditor.EditorInputActionContributor { private instantiationService: IInstantiationService;

Discussion:
There's probably already a feature request for this but I can't find it. I want to be able to select a change in the diff editor and revert it, same as how I can stage it. In SourceTree this is called "discard selected lines" although "revert" seems better, unless it's "discard selected changes". I'm working on a PR for this.
I think it is connected with
Change:
return this._bodyInsights.value.needsClipboard; } <ins> get usesSelection(): boolean { return this._bodyInsights.value.usesSelection; } </ins> static compare(a: Snippet, b: Snippet): number { if (a.snippetSource < b.snippetSource) { return -1;

Discussion:
Snippets that use the SELECTION variable should be grouped into a new "Surround With..."-command, e.g support selection with try-catch or if-else. We should also consider not showing such snippets in IntelliSense because the selection is always where users are typing.
closing this in favour of
After and given that a dedicated command is more visible we should add this
hi, Thanks for your adding support for outside code and could please add some identification for those snippet support and/or when users are using command e.g.: when using insert snippet, users never know which snippet is outside-code supported there is the ui: ! and the snippet code from C# official extension ! for that reason, I have to add some tip/text for the name of snippet when I develop the snippet extension. after that, user could know that which is outside code supported. ! I could do it for myself and my extension, I there are many snippets that have no tip or identification Please add some identification for those outside code supported in UI when users using insert snippet. that will be useful and helpful for user to distinguish
! maybe some icon for text is good
BTW, there is another issues related to this. please
hi, should I file a new issue?
To verify open a typescript files select some code select F1 Surround with Snippet try-catch ensure the selected code is surrounded by the snippet
Verification looked good with both TS and CS files.
Change:
this.queryLocal().then(() => { this.resetIgnoreAutoUpdateExtensions(); this.eventuallyCheckForUpdates(true); <del> // Always auto update builtin extensions if (!this.isAutoUpdateEnabled()) { </del> <ins> // Always auto update builtin extensions in web if (isWeb && !this.isAutoUpdateEnabled()) { </ins> this.autoUpdateBuiltinExtensions(); } });

Discussion:
Ability to update built in extensions
This is a pre-request to enable built-in extension to on-board to
Disabled updating builtin extensions in stable
Change:
// task.json variable suggestions context.subscriptions.push(registerVariableCompletions('**/tasks.json')); <ins> // Workspace file launch/tasks variable completions context.subscriptions.push(registerVariableCompletions('**/*.code-workspace')); </ins> // keybindings.json/package.json context key suggestions context.subscriptions.push(registerContextKeyCompletions()); }

Discussion:
Type: <bBug</bThere are missing completions inside files which do appear inside the folder. For example, here are the completions in a file: ! Versus the one in a file: ! VS Code version: Code - Insiders 1.73.0-insider (, 2022-10-24T05:31:12.081Z) OS version: WindowsNT x64 10.0. Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (9)</summaryExtensionVersion ------ vscode-eslint2.2.6 todo-tree0.0.219 reg1.1.0 csharp1.25.0 material-icon-theme4.21.0 msbuild-project-tools0.4.9 intellicode-api-usage-examples0.2.6 vscodeintellicode1.2.29 volar1.0.9 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
do you know where these variable completions come from? I think they are sort of generic for every string in and I think they should show up in the workspace config too.
they come from here: Makes sense to me to add them in .code-workspace.
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Was there any information you wanted me to provide? It seems like a solution was proposed by
Change:
if (link) { collector.addRule(`.monaco-editor .monaco-hover a { color: ${link}; }`); } <ins> const linkHover = theme.getColor(textLinkActiveForeground); if (linkHover) { collector.addRule(`.monaco-editor .monaco-hover a:hover { color: ${linkHover}; }`); } </ins> const hoverForeground = theme.getColor(editorHoverForeground); if (hoverForeground) { collector.addRule(`.monaco-editor .monaco-hover { color: ${hoverForeground}; }`);

Discussion:
editor hover over any link correctly uses and ignores ! VS Code version: Code - Insiders 1.56.0-insider (, 2021-04-16T11:25:09.662Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.57 --<!-- potentialduplicatescomment --
can you explain the issue/feature to me a bit more? The way I am understanding it right now, is the behavior I am seeing, so I think I am misunderstanding something. I have this in my settings. This is what I see. Where/when am I expected to see the blue text? <img width="939" alt="Screen Shot 2021-05-07 at 6 43 02 PM" src="https://user-"
when you mouseover the link, like here: !
thanks for clarifying, submitted a PR for this.