jiebi/CodeConvo huggingface dataset:
Change:
import { IModelService } from 'vs/editor/common/services/modelService'; import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; import { isEqualOrParent, isEqual, joinPath, dirname, extname, basename, toLocalResource } from 'vs/base/common/resources'; <del> import { posix } from 'vs/base/common/path'; </del> import { getConfirmMessage, IDialogService, IFileDialogService, ISaveDialogOptions, IConfirmation } from 'vs/platform/dialogs/common/dialogs'; import { IModeService } from 'vs/editor/common/services/modeService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';

Discussion:
vscode with no folder (purple status bar) untitled file, save as file how the simple dialog offers me the root path. This is wrong imho, you should offer the home directory, or at least something wich I choose the last time
Could we keep the Untitled URI scheme here? All file scheme URIs are absolute. Which means that the remote file picker would have to use a heuristic like checking for "Untitled-" in the path to tell that the user home should be used.
Feel free to change. is the expert on the untitled URIs...
the URI only seems to be used in combination of the dialog itself (both native and custom - ), so I think we can preserve the if you deal with the untitled case in both worlds.
Change:
this.webview?.focus(); } <del> focusOutput(cellId: string, viewFocused: boolean) { </del> <ins> focusOutput(cellOrOutputId: string, viewFocused: boolean) { </ins> if (this._disposed) { return; }

Discussion:
follow up after a notebook cell that displays multiple images down and select 'copy output to clipboard' on the last image :bug: the first image is selected and the notebook scrolls to reveal it
Change:
actionHandler: { callback: (link) => { openLinkFromMarkdown(this.openerService, link, message.isTrusted); <ins> this.editorContainer.style.borderBottomLeftRadius = '2px'; this.editorContainer.style.borderBottomRightRadius = '2px'; </ins> this.contextViewService.hideContextView(); }, disposables: disposables

Discussion:
Source control warning not aligned on the right hand side with the input field: <img width="473" alt="image" src="https://user-"
Draft PR here but I feel that there is a better way. For whatever reason the editor within SCM input is not as wide as the input it is rendered in—or something like that. Open to ideas!
Here is the updated layout: <img width="567" alt="image" src="https://user-"
Change:
import { Disposable, DisposableStore } from 'vs/base/common/lifecycle'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; <del> import { registerEditorContribution } from 'vs/editor/browser/editorExtensions'; </del> <ins> import { registerEditorContribution, ServicesAccessor } from 'vs/editor/browser/editorExtensions'; </ins> import { IEditorContribution } from 'vs/editor/common/editorCommon'; import { ILanguageFeaturesService } from 'vs/editor/common/services/languageFeatures'; import { EditorOption, RenderLineNumbersType } from 'vs/editor/common/config/editorOptions'; import { StickyScrollWidget, StickyScrollWidgetState } from './stickyScrollWidget'; import { StickyLineCandidateProvider, StickyRange } from './stickyScrollProvider'; import { IModelTokensChangedEvent } from 'vs/editor/common/textModelEvents'; <ins> import { Action2, MenuId, registerAction2 } from 'vs/platform/actions/common/actions'; import { localize } from 'vs/nls'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; </ins> class StickyScrollController extends Disposable implements IEditorContribution {

Discussion:
Type: <bFeature Request</bThere is a bit of space at the start of the breadcrumb which could accommodate a pin / pinned codicon with which to toggle the stickyScroll setting. ! When no DocumentSymbolProvider is available the space could either be blank or could show the pin codicon if the setting is currently false and the pinned-dirty if true, with a hover tip explaining why sticky scrolling isn't happening for the current document. /assign VS Code version: Code - Insiders 1.71.0-insider (, 2022-08-10T05:17:53.560Z) OS version: Windows_NT x64 10.0. Modes: Sandboxed: Yes <!-- generated by issue reporter --
Thanks for the idea, I will bring it up in the UX Sync today
<!-- -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!
<img width="661" alt="Screenshot 2022-08-16 at 10 40 37" src="https://user-"I would go with the more traditional entry in the "View"-menu first, similar to existing action. The pin/unpin icon in breadcrumbs might be seen as noisy for when you don't want to use sticky scroll (appears like an ad) This is how it is done for the We can also combine this with and add context menu entries for breadcrumbs and sticky-scroll to toggle them in-place
I'll look into this
Change:
return new Range(startLineNumber, 1, endLineNumber + 1, 1); } <del> private addDecoration(range: Range, hoverMessage: MarkdownString): void { </del> <ins> private addDecoration(range: Range, hoverMessage: MarkdownString | undefined): void { </ins> const newDecorations: IModelDeltaDecoration = { range: range,

Discussion:
If I hover over a path in TypeScript and hold Ctrl, and empty line appears at the bottom of the tooltip where the preview would normally be (because presumably, the definition being used to support go-to-definition returns a range of line 0, col 0 to line 0 col 0): https://user- In the case where there's no normal hover text, this can result in an "empty hover" instead, as seen here in Dart (top left of "example"): !
Are you saying that you have a go-to-definition provider for that path but no hover provider (or no hover provider result) Please provide repo steps and a minimal code sample that allows to reproduce this.
the first example above is using TypeScript, but here's some code to repro in an extension: The important thing here is that the definition provider is returning an empty range for the . This is what TypeScript is doing for a definition on an Import filename (because it wants to provide a Cmd+Click, but there is no actual symbol definition). If you hover over something in an untitled file with the code above, hold hold Cmd and move the mouse, you'll see an extra "empty" area to the hover. https://user- If there is no hover at all (comment out the hover provider) then you get just an empty box. when holding Cmd: https://user-
Change:
"when": "config.git.enabled && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/" } ], <ins> "editor/context": [ { "command": "git.stageSelectedRanges", "group": "2_git@1", "when": "config.git.enabled && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/" }, { "command": "git.unstageSelectedRanges", "group": "2_git@2", "when": "config.git.enabled && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/" }, { "command": "git.revertSelectedRanges", "group": "2_git@3", "when": "config.git.enabled && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/" } ], </ins> "scm/change/title": [ { "command": "git.stageChange",

Discussion:
Is this still open? I would like to work on this. I am new to the code and would probably need some help.
sure looks like it is.
Change:
"vscode-oniguruma": "1.7.0", "vscode-regexpp": "^3.1.0", "vscode-textmate": "9.0.0", <del> "xterm": "5.3.0-beta.7", "xterm-addon-canvas": "0.5.0-beta.2", "xterm-addon-image": "0.4.2", "xterm-addon-search": "0.13.0-beta.2", "xterm-addon-serialize": "0.11.0-beta.2", </del> <ins> "xterm": "5.3.0-beta.17", "xterm-addon-canvas": "0.5.0-beta.5", "xterm-addon-image": "0.4.3", "xterm-addon-search": "0.13.0-beta.4", "xterm-addon-serialize": "0.11.0-beta.4", </ins> "xterm-addon-unicode11": "0.5.0", <del> "xterm-addon-webgl": "0.16.0-beta.2", "xterm-headless": "5.3.0-beta.7", </del> <ins> "xterm-addon-webgl": "0.16.0-beta.4", "xterm-headless": "5.3.0-beta.17", </ins> "yauzl": "^2.9.2", "yazl": "^2.4.3" },

Discussion:
Testing Enabled smooth scrolling, reloaded the window but it looks like smooth scrolling is not working in the following scenarios: page up/page down while jumping between search results
Upstream:
try try
Change:
fi fi <del> # Shell integration was disabled by the shell, exit without warning assuming either the shell has # explicitly disabled shell integration as it's incompatible or it implements the protocol. if [ -z "$VSCODE_SHELL_INTEGRATION" ]; then builtin return fi </del> # Apply EnvironmentVariableCollections if needed if [ -n "${VSCODE_ENV_REPLACE:-}" ]; then IFS=':' read -rA ADDR <<< "$VSCODE_ENV_REPLACE"

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. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- 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. --Extension version: 2024.1. VS Code version: Code 1.86.0 (, 2024-01-31T10:27:46.147Z) Opening on behalf of , and Steps to Reproduce: environment variable PATH in environment collection with using options: of in zsh, notice how appears exactly once despite prepending it twice environment variable PATH in environment collection with the same value using options: of in zsh Notice how the value is not prepended, both of them which suggests that automatic shell integration fails to prepend to . Relevant details: <details </summary<p</p</detailsShell integration is activated according to screenshot: !
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.86.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Btw, both 633 and 133 shell integration sequences were not reported via the terminal data write event, so automatic shell integration may not be working, despite saying it's activated?
Yes, exactly this is happening on my system!
Since shell integration is getting activated, but the sequences are not coming through, the only thing I can imagine is that somewhere within our script, there's an error getting thrown so it exits before our sequences are put into place. I see that you have powerlevel 10k sourced within your . does commenting out these lines fix it?

reminded me that powerlevel 10k will disable our shell integration script from running by design as there were problems with the interplay of that and our shell integration.
We should be good to move the env stuff above the p10k exit to fix this problem:
Verified via code review
Change:
} }); <ins> KeybindingsRegistry.registerCommandAndKeybindingRule({ id: 'scm.clearInput', weight: KeybindingWeight.WorkbenchContrib, when: ContextKeyExpr.has('scmRepository'), primary: KeyCode.Escape, handler: async (accessor) => { const scmService = accessor.get(ISCMService); const contextKeyService = accessor.get(IContextKeyService); const context = contextKeyService.getContext(getActiveElement()); const repositoryId = context.getValue<string | undefined>('scmRepository'); const repository = repositoryId ? scmService.getRepository(repositoryId) : undefined; repository?.input.setValue('', true); } }); </ins> const viewNextCommitCommand = { description: { description: localize('scm view next commit', "Source Control: View Next Commit"), args: [] }, weight: KeybindingWeight.WorkbenchContrib,

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. --A reboot of , the original issue hasn't been solved in 3 YEARS!. Since both Search and Extensions panel support pressing to clear text input, I think it makes sense for the Source Control panel to have this feature as well. A GIF demonstrates what I mean: !
as far as I can tell does not clear the extension/search field out of the box and keybindings have to be configured for that behaviour. Could you please confirm that you have explicitly set up those keybindings? Thank you!
Yes, through keybindings, but the scm input box doesn't have a command to bind to, that's the issue.
Verifications steps: Open a folder/workspace that contains a git repository Make changes to one or more file Enter a commit message Press ESC and confirm that the commit message is cleared
Change:
return lineColumnInfo; } <del> const matches: string[] | null = getLocalLinkRegex(this._os).exec(link); </del> <ins> const matches: string[] | null = getLocalLinkRegex(this._os).exec(sanitizedLink); </ins> if (!matches) { return lineColumnInfo; }

Discussion:
My project is under https://user- Reproduce steps: vscode open a folder which file path contains space, for example: an integrated terminal the path link Versions:
nice I can repro with the space in the name, thanks for following up
I can still repro with Windows.
I looked into this, and it will be tricky because we currently use space as one of the characters which indicates the end of a path. One idea would be to check if such a link exists (using our original regex) and if not, use regex on the subsequent sequence - then concatenating the two results for First result would be doesn't exist process exists
https://user- Look the above video, I have several questions. path is not a existed path in the disk, but also clickable. I click the , it open a file which is not why the whole string is recogonized to a path? the real path is:
this is actually about when the parents of the link have a space, it's expected currently that an absolute path with a space won't work.
is it expected that a local link with a space somewhere within the path is not detected? that is the case currently - verified via adding a test to
absolute paths (eg. ) won't work because of Relative paths without spaces with absolute ancestors that have spaces (eg. inside ) should work but don't in some cases.
When verifying, make sure to test both on a Windows machine and a non-Windows machine.
Doesn't work for me on a Mac, I guess thats probably because I still haven't got the fix in the latest insider build.
are you on ?
Worked for me on macOS. Don't have a Windows machine to try this out so someone else will need to verify on Windows.
Yes, I'm on that same version. Here's what it looks like for me on a Mac with spaces !
still not work in latest version: https://user-
For absolute paths, see I wasn't able to get to work, though. It'd open the file, but place the cursor at the beginning.
please provide some more details, it works for me: !
This is the behaviour with version 1.70.0 After ctrl+clik a popup appears at the top of the screen and I have to hit enter to go to the suggested file:line.
I can repro that on Windows, Remote-WSL and macOS.

The file must not be in the root directory for this to happen. !
let's track that problem in and as this issue is becoming quite unwieldy/unfocused.
created to track the problem related to quotes you're seeing. Could you re-verify this if all good outside of these 3 issues I created? It's difficult to manage this issue as it's so general.
Change:
const defaultStyles = newDocument.createElement('style'); defaultStyles.id = '_defaultStyles'; <del> const vars = Object.keys(initData.styles).map(function(variable) { </del> <ins> const vars = Object.keys(initData.styles).map(function (variable) { </ins> return `--${variable}: ${initData.styles[variable]};`; }); defaultStyles.innerHTML = `

Discussion:
! It looks surprisingly good in this screenshot, but in reality it's way worse. Contrast ratio: background: , color:
It doesn't make much sense to me. Background color changes ... color stays the same. If background is close to blue () =links become low contrast ! If background is close to orange () =code samples become low contrast !
Change:
import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; import { Action } from 'vs/base/common/actions'; import { mnemonicButtonLabel } from 'vs/base/common/labels'; <ins> import { isMacintosh } from 'vs/base/common/platform'; </ins> export interface IDialogOptions { cancelId?: number;

Discussion:
Testing Mac, Insiders here's the code from my extension to get a modal dialog: Native: ! Custom: ! I actually like the fact that the button is always rightmost in the custom dialog, not sure why it is like it is in the native one.
I believe the layout is platform dependent. I don't think we need to adopt this behavior. thoughts?
I think we should try to stay close to platform expectations so that people on their OS feel familiar.
Change:
return; } <del> uriEdit.label = pasteEdit.label; </del> <ins> uriEdit.label = pasteUrlSetting === PasteUrlAsFormattedLink.Smart ? vscode.l10n.t('Smartly Insert Link') : pasteEdit.label; </ins> uriEdit.additionalEdit = pasteEdit.additionalEdits; return uriEdit; }

Discussion:
Type: <bBug</ba md file: a url inside the fence code blocks the paste as widget that shows up bug <img width="745" alt="Screenshot 2023-07-25 at 3 31 41 PM" src=""The paste as widget says that the url was pasted as a markdown link but really from the user's point of view it was just pasted the link as plain text Some ideas on how to fix this if smart paste detects that we aren't actually going to insert a markdown link: Don't return any result from . This will prevent the paste as widget from showing upshould always return an edit that inserts a markdown link. However if smart paste detects that we are not in a valid link location (such as inside a code block) the markdown link pasting should be deprioritized so that the default paste happens first. Take a look at for this VS Code version: Code - Insiders 1.81.0-insider (Universal) (, 2023-07-25T08:15:40.243Z) OS version: Darwin x64 22.5.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
I still see this: !
So the new functionality is supposed to have the 'Smartly Insert Link' label which was previously the 'Insert as Markdown Link' label. This is a fix so that neither paste function is deprioritized and the labels still make sense to the user!
Change:
import { WorkbenchCompressibleObjectTree, IOpenEvent } from 'vs/platform/list/browser/listService'; import { IConfigurationService, ConfigurationTarget, IConfigurationChangeEvent } from 'vs/platform/configuration/common/configuration'; import { disposableTimeout, ThrottledDelayer } from 'vs/base/common/async'; <del> import { ITreeNode, ITreeFilter, ITreeSorter, ITreeContextMenuEvent } from 'vs/base/browser/ui/tree/tree'; </del> <ins> import { ITreeNode, ITreeFilter, ITreeSorter, ITreeContextMenuEvent, ITreeDragAndDrop, ITreeDragOverReaction } from 'vs/base/browser/ui/tree/tree'; </ins> import { ResourceTree, IResourceNode } from 'vs/base/common/resourceTree'; import { ISplice } from 'vs/base/common/sequence'; import { ICompressibleTreeRenderer, ICompressibleKeyboardNavigationLabelProvider } from 'vs/base/browser/ui/tree/objectTree';

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --I frequently use the drag-and-drop feature from the Explorer view to open files into specific panes. It would be really nice if this functionality was supported in the Source Control panel as well. I imagine it working like: Drag from filename into pane opens diff in that pane Drag from file icon into pane opens original file in that pane with reversed behavior if .
Not sure if this belongs here, or would be better a new feature request: If I have already two panels open next to each other, opening the git diff in one panel is pretty small and no fun to read, e.g.: ! For me it would be nice, if the first two panels would be used for the diff In IntelliJ the diffs opens in a detached popup, which I can move around and resize individually. I also like this feature a lot
please open a new issue -- although note, that the behavior you describe is unlikely to change, as that is how tab management works in VS Code.
One additional use case: I just enabled drag and drop into the SCM input box. It would be nice if we could drag and drop files from the SCM panel into the box to insert this file path (this already works with files from the explorer)
Change:
return; } <del> const languageId = languageService.getLanguageIdByLanguageName(lang); </del> <ins> const languageId = languageService.getLanguageIdByLanguageName(lang) ?? languageService.getLanguageIdByLanguageName(lang.split(/s+|:|,|(?!^){|?]/, 1)[0]); </ins> const html = await tokenizeToString(languageService, code, languageId); callback(null, `<code>${html}</code>`); });

Discussion:
The extension preview page does not ignore arguments after the initial whitespace separated languageId as seen in Github's markdown and both VSCode's builtin Markdown extensions all text after the whitespace separator is ignored (note: should fail) Github: json { "key": "value" } json textmate { "key": "value" } json-textmate { "key": "value" } ` Markdown code: ! Markdown preview: ! Extension page preview: ! you can download as a simple test extension PR:
Change:
} this.lastNotification?.close(); <del> let message = this.basicMessage(tunnel); </del> <ins> let message = await this.basicMessage(tunnel); </ins> const choices = [this.openBrowserChoice(tunnel)]; if (!isWeb || openPreviewEnabledContext.getValue(this.contextKeyService)) { choices.push(this.openPreviewChoice(tunnel));

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. --With any port forwarding command, the devcontainer launches the output that looks similar to: <img width="448" alt="Port forwarding notification" src=""Hidden under the "ports" tab is the label associated with the forwarded application, e.g. <img width="609" alt="Example of Port forwarded name" src=""This yields a moment of confusion as to what "your application" is. Thus, it would be great if the name in could be specified in place of . So, the proposal is if the following entry in is present: We would want the notification panel to show the value in the field instead of : <img width="442" alt="Display RStudio name in notification panel associated with port forwarding" src=""
<!-- -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!
I don't know that all labels will make sense as a substitute for "Your application...". I will change it to be "Your application (RStudio)..."
thank you so much for working on the issue and submitting a fix! :)