Question: isDefault: true }; if (detectedProfile && detectedProfile.profileName === createdProfile.profileName && detectedProfile.path === createdProfile.path && this._argsMatch(detectedProfile.args, createdProfile.args)) { <del> return undefined; </del> <ins> return detectedProfile.profileName; </ins> } return createdProfile; }

Testing With the following settings: I saw the terminal migration notification and then clicked "Migrate", and my settings changed to: Which is defintely not what I expected to happen.
Perhaps if the shell/shellArgs match one of the detected profiles, the name of that profile can be used? So in the sample above,
I'm also kinda confused by this... here's what I had: and it turned it into:
The behavior should be: If there is an exact match (eg. just ), it should assign the existing profile as the default (). If there is not an exact match (eg. ), it should add the profile to the list and set it as the default. As for the name maybe something like would be best.
To verify, see and try other combinations
or could you pls verify this?
with the following: I don't get a notification. Is that expected?
If you've already said don't show again to the notification in that workspace, yes.
ah... I hit the which didn't show the notification until I reloaded the window.
that was another fix that went in to make sure we're not annoying
Migration doesn't seem to be working for me. Here's a gif: ! These are the same settings as here
Ah looks like if I already define then this migration doesn't work. If I delete that setting (and use instead as the default profile, the migration works.
Meaning if you set the to the name of a profile that already exists within your it doesn't work? I think that's by design.
Gotcha. The only thing I'll mention is this, with a defined does not prompt me: but this without it defined does prompt me:
I guess I would expect the migration to still happen (and a new profile be to my existing ) but maybe that's out of scope.
That seems wrong. It should happen as long as you haven't said don't show again. I'll try it.
ah... just opened dev tools:
it's working for me on Windows.
Hmm what does that mean?
Here's a repro on non-Windows without PowerShell:
any errors in dev tools with that repro? can you turn on trace logging? and search for 'migrat'
Beyond this: I don't see anything... which Output should I dig into specifically?
Run set log level -trace -open developer tools.


Question: isDefault: true }; if (detectedProfile && detectedProfile.profileName === createdProfile.profileName && detectedProfile.path === createdProfile.path && this._argsMatch(detectedProfile.args, createdProfile.args)) { <del> return undefined; </del> <ins> return detectedProfile.profileName; </ins> } return createdProfile; }

you should see a migration message. migrated from shell/shellArgs...
I wonder if this could be the issue
Hmmm I don't see
The fix here is probably:
Even better is marking the type as readonly too:
We might be able to catch this in the future with
I don't understand what's going wrong here though - if userValue is undefined, profiles get set to already
I'd think making it readonly would be even worse since then we can't add properties to it - such as the newly created profile
Which works fine, the failure case was when had profiles set. The there just corrects the type we're receiving from the config service
ok, should this be a candidate or moved to June?
I think it meets the candidate bar, we really want migration to be solid


Question: */ .monaco-editor .lines-content .cigr { position: absolute; <ins> --box-shadow-color: rgba(0, 0, 0, 0); box-shadow: 1px 0 0 0 var(--box-shadow-color) inset; </ins> }

The rulers and indent guides do not display well on high pixel density displays VSCode Version: Version 1.21.0 (1.21.0) OS Version: macOS Sierra 10.12.6 (16G1212) Steps to Reproduce: out editor Does this issue occur when all extensions are disabled?: Yes Example !


Question: if (!alertSetting) { return; } <del> const alertSettingValue: NotificationSetting = this._configurationService.getValue(alertSetting); if (this._shouldNotify(alertSettingValue, userGesture)) { this._logService.debug('AccessibleNotificationService alerting: ', alertMessage); this._accessibilityService.alert(alertMessage); } </del> const audioCueSetting: NotificationSetting = this._configurationService.getValue(audioCue.settingsKey); if (this._shouldNotify(audioCueSetting, userGesture)) { this._logService.debug('AccessibleNotificationService playing sound: ', audioCue.name); <ins> console.log('AccessibleNotificationService playing sound: ', audioCue.name); </ins> // Play sound bypasses the usual audio cue checks IE screen reader optimized, auto, etc. this._audioCueService.playSound(audioCue.sound.getSound(), true); <ins> return; } const alertSettingValue: NotificationSetting = this._configurationService.getValue(alertSetting); if (this._shouldNotify(alertSettingValue, userGesture)) { this._logService.debug('AccessibleNotificationService alerting: ', alertMessage); console.log('AccessibleNotificationService alerting: ', alertMessage); this._accessibilityService.alert(alertMessage); </ins> } }

Type: <bFeature Request</bCC Just like other audio cues, please reduce aria alert when "" is used. VS Code version: Code - Insiders 1.84.0-insider (, 2023-10-17T05:34:42.128Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
also when is used
To verify, Enable Enable a screen reader Format a document Verify that the screen reader doesn't alert and you just hear the audio cue
Verified, but found this:


Question: }); } exports.config = { <del> version: product.electronRepository ? '22.5.3' : util.getElectronVersion(), </del> <ins> version: product.electronRepository ? '22.5.4' : util.getElectronVersion(), </ins> productAppName: product.nameLong, companyName: 'Microsoft Corporation', copyright: 'Copyright (C) 2023 Microsoft. All rights reserved',

Seeing an increase in issues (such as ) where a mapped network drive or symbolic link points to a UNC path. If you use methods such as or to resolve these paths to their UNC equivalent and use them for further file operations, our UNC allow list might prevent use of these paths until you add them to the allow list. We should discuss if there are options here to make this easier on the impacted users. The issue often goes unnoticed because we do not prompt the user on startup for these paths to add them to the allow list. Workaround Given an exception like this one: Find the resolved file path (here ) and add the hostname of the path (the value between and the first after that) to the setting (here: ). Then restart VS Code. See also:
There are some cases that are a bit difficult to handle: In my company, people always either use the raw path to access files, or map a drive to and then access files using the mapped drive name. However the real path is , which is on a server that most developers have never directly interacted with or even heard of (and there are a number of these file servers depending on the exact path). The TS server and likely many other extensions use this real path in their code, and when it does not have access the server crashes. The only way developers would be able to know the host names causing problems and add them to the allowed host list is by examining the error message of extension host which is extremely user-unfriendly. What is tricky about this is that a user may never know the real hostname until a runtime error occurred. And depending on the extensions a user installs, this may or may not be a problem at all.
Is there a way to get an older version of vscode ? The current version is unusable as long as this bug persists.
This worked for me Note: omit the leading and the at the end.
/fixedWith
Steps for verification: create a that points to a localhost UNC folder which has a Typescript project open the mapped network drive verify TypeScript smartness works and shows no errors in the TS server output logs
For some reason I wish to go back to 1.78 until there is a release which includes the fix. However I cannot find the Windows zip (needed to make VSC ) on the . Any idea where to find it?
The fix for this is in releases.


Question: }); } exports.config = { <del> version: product.electronRepository ? '22.5.3' : util.getElectronVersion(), </del> <ins> version: product.electronRepository ? '22.5.4' : util.getElectronVersion(), </ins> productAppName: product.nameLong, companyName: 'Microsoft Corporation', copyright: 'Copyright (C) 2023 Microsoft. All rights reserved',

I am still getting this error while using the extension !
can you give more details, did you configure the setting accordingly?
!
Are we certain this is related to UNC paths? Whats the extension repository, maybe reach out to them as well?
I am on this issue thread from , that points me to then to this one. Repo is See that someone pointed a cucumber issue here: It's a bit confusing honestly.
I see no UNC mentioned in any of these issues, so I consider it unrelated.
, you have a example from this configuration ??


Question: description: localize('verbosity.comments', 'Provide information about actions that can be taken in the comment widget or in a file which contains comments.'), ...baseVerbosityProperty }, <ins> [AccessibilityVerbositySettingId.DiffEditorActive]: { description: localize('verbosity.diffEditorActive', 'Indicate when a diff editor becomes the active editor.'), ...baseVerbosityProperty }, </ins> [AccessibilityAlertSettingId.Save]: { 'markdownDescription': localize('announcement.save', "Indicates when a file is saved. Also see {0}.", '`#audioCues.save#`'), 'enum': ['userGesture', 'always', 'never'],

has said that when switching between editors, it's unclear to him when a diff editor has been entered, though this is clear for sighted users. We should something like to fix this. cc
I think we announce whenever an editor gets focus. Each editor has a title that is announced. So I am not sure what is missing here? I would not like that we just add a new alert. Is the title of the diff editor not descriptive enough? Or is nothing getting announced (which would be a bug)
Good point, the file name is announced and says (Working Tree). is that sufficient to indicate this?
Closing for now, but will reopen based on your feedback
Just discussed with JooYoung and the redundant info is escaped/ignored by screen reader users, so we need to alert with this info
Should we consider a better announcement on focus of the text editor? how does this interact with the existing announcement?
Venkatesh observed that the editor title isn't being read at all, only the accessibility help hint, need to investigate that. EDIT: I explored and this works as expected.
Edit: we use already. This is working as expected. When a new file is opened, the title is read. When a user focuses the document, they hear the hint, if any, along with the "edit text, ...content". If that hint is disabled, they hear "edit text,...content"
which command do you use to switch between editor tabs? Is it ? I believe this issue is about when using that command, indicating if the focused editor is a diff editor via an .
What should I be looking for when verifying this?
Have some editor groups open, including ones with diff editors. Run the command . When a diff editor group is focused, you should hear "diff editor" announced by a screen reader. Disable that setting, and ensure you don't hear that. You should also hear it when navigating the open editors view. !
Using the Open Editors view, I don't see anything read about diff editors when I hit on a diff editor: !
Actually, I do see it when I toggle accessibility mode on


Question: import { Mime, mediaMimes } from '../../util/mimes'; import { Schemes } from '../../util/schemes'; import { PasteUrlAsFormattedLink, createEditAddingLinksForUriList, createEditForMediaFiles, getPasteUrlAsFormattedLinkSetting } from './shared'; <ins> import { getParentDocumentUri } from '../../util/document'; </ins> class PasteResourceEditProvider implements vscode.DocumentPasteEditProvider {

I tested on Win11 & Win10. It works as long as you start a new workbook and don't save the jupyter notebook. Once you save the notebook, your pastes of images from the clipboard will no longer be treated as inline attachments. Originally posted by in
Possibly getting overridden by a markdown file paste provider?
were you able to replicate my findings?
Reviewed this thoroughly, and found the following. All cases are performed with a screenshot copied to the clipboard, and pasting into markdown notebook cells using ctrl+v. Using Windows 11 and current insiders. With setting unsaved notebook (command pallete -new jupyuter notebook -) results in broken markdown image link pasted, broken rendering (see screenshots attached) ! ! saved notebook creates image file on disk, creates markdown image link, renders correctly. With setting unsaved notebook (command pallete -new jupyuter notebook -) results in correct inline attachment image link pasted, renders correctly saved notebook results in correct inline attachment image link pasted, renders correctly
With the above investigation, I believe this is likely an issue with markdown paste providers, assigning to take a look at this. to clarify, are you expecting the images to be created on-disk upon paste, and referenced via an image markdown link? Or are you looking for the experience, with images stored in the notebook itself. The latter can be achieved and still works properly with the setting
I prefer the later, where the images are stored in the notebook, this makes it easier to share with others in these scenarios. This used to be working and then stopped working in the build I noted in the original question refenced, but I just tested in the latest build and it is back to working as expected, so must have been a bug that has now been fixed: The version I just tested with is updated now and it is working as expected with the Version: 1.83.1 (system setup) Commit: Date: 2023-10-10T23:48:05.904Z Electron: 25.8.4 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0.
Works fine for me too with the default settings. Will disable pasting into untitled notebooks with the setting off


Question: this._commentsElement.focus(); } <ins> ensureFocusIntoNewEditingComment() { if (this._commentElements.length === 1 && this._commentElements[0].isEditing) { this._commentElements[0].setFocus(true); } } </ins> async display() { this._commentsElement = dom.append(this.container, dom.$('div.comments-container')); this._commentsElement.setAttribute('role', 'presentation');

!
Caused by I caused when I fixed an issue when there are multiple text editors open with the same uri with comments. When I tried to fix I made it so when extensions call and pass in for the comments, we always expand the reply editor, resulting in the bad behavior above. I took a quick look, and it seems very common for extensions to pass in for the comments and then immediately set them.
To verify: Check out PR with comments that you left Reload to make sure there's not state left over from when you left the comments Open the file with the comments and click on the comment icon in the comment bar to expand a comment that you left Verify that the reply input button is collapsed and isn't a big empty rectangle.
Works great -verified.
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
<!-- UNABLETOLOCATECOMMITMESSAGE --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased


Question: accessibilitySupport: app.accessibilitySupportEnabled, colorScheme: this.themeMainService.getColorScheme(), policiesData: this.policyService.serialize(), <del> editSessionId: this.environmentMainService.editSessionId, </del> }; let window: ICodeWindow | undefined;

Originally reported by
Friendly ping! Looks like this issue requires some further steps to be verified. Please provide us with the steps necessary to verify this issue.
would you mind verifying this one please?


Question: } } <del> public onLineMappingChanged(e: viewEvents.ViewLineMappingChangedEvent): void { </del> <ins> public updateAnchorViewPosition(): void { </ins> this._setPosition(this._affinity, this._primaryAnchor.modelPosition, this._secondaryAnchor.modelPosition); }

Open Set some breakpoints They show in the wrong place and cover a character, but seemingly get fixed when setting a breakpoint on the next line !
It is non-deterministic: ! Maybe that depends on the timing of the debugger. If I add to this statement (effectively removing the condition), I cannot reproduce anymore: Unfortunately that might cause performance problems. I think this is because needs to be called when injected text is inserted before it.
I am currently still reproing it here: <img width="445" alt="image" src="https://user-" btw make sure you add labels and a milestone to issues for verification and tracking
Any chance this could be looked at soon? It comes up pretty often <img width="1018" alt="image" src="https://user-"
Thanks


Question: const verbose = this._configurationService.getValue(provider.verbositySettingKey); const hasActions = this._accessibleViewSupportsNavigation.get() || this._accessibleViewVerbosityEnabled.get() || this._accessibleViewGoToSymbolSupported.get() || this._currentProvider?.actions; if (verbose && !showAccessibleViewHelp && hasActions) { <del> actionsHint = localize('ariaAccessibleViewActions', "Use Shift+Tab to explore actions such as disabling this hint."); </del> <ins> actionsHint = localize('ariaAccessibleViewActions', 'Explore actions such as disabling this hint (Shift+Tab).'); </ins> } let ariaLabel = provider.options.type === AccessibleViewType.Help ? localize('accessibility-help', "Accessibility Help") : localize('accessible-view', "Accessible View"); this._title.textContent = ariaLabel;

As a result of the discussion in , we should format each command, description, and keybinding more consistently and limit redundancy.
/closedWith though still need to do the same for the chat help dialogs


Question: cellEditorOptionsCustomizations: 'notebook.editorOptionsCustomizations', consolidatedRunButton: 'notebook.consolidatedRunButton', openGettingStarted: 'notebook.experimental.openGettingStarted', <del> textOutputLineLimit: 'notebook.output.textLineLimit', </del> globalToolbarShowLabel: 'notebook.globalToolbarShowLabel', markupFontSize: 'notebook.markup.fontSize', interactiveWindowCollapseCodeCells: 'interactiveWindow.collapseCellInputCode', <del> outputLineHeight: 'notebook.outputLineHeight', outputFontSize: 'notebook.outputFontSize', outputFontFamily: 'notebook.outputFontFamily', </del> kernelPickerType: 'notebook.kernelPicker.type', outputScrolling: 'notebook.experimental.outputScrolling', <ins> textOutputLineLimit: 'notebook.output.textLineLimit', </ins> outputWordWrap: 'notebook.output.wordWrap', <ins> outputLineHeightDeprecated: 'notebook.outputLineHeight', outputLineHeight: 'notebook.output.lineHeight', outputFontSizeDeprecated: 'notebook.outputFontSize', outputFontSize: 'notebook.output.fontSize', outputFontFamilyDeprecated: 'notebook.outputFontFamily', outputFontFamily: 'notebook.output.fontFamily', </ins> logging: 'notebook.logging', } as const;

Testing There are "" "notebook.outputLineHeight" "" "notebook.outputFontFamily" "notebook.outputFontSize" Ideally these would be all namespaced or prefixed .
This affects how they show up in the settings editor UI, btw: <img width="919" alt="image" src="https://user-"


Question: } const tunnelArgs = argv.slice(argv.indexOf('tunnel') + 1); // all arguments behind `tunnel` return new Promise((resolve, reject) => { <del> let tunnelProcess: ChildProcessWithoutNullStreams; </del> <ins> let tunnelProcess: ChildProcess; const stdio: StdioOptions = ['ignore', 'pipe', 'pipe']; </ins> if (process.env['VSCODE_DEV']) { <del> tunnelProcess = spawn('cargo', ['run', '--', 'tunnel', ...tunnelArgs], { cwd: join(getAppRoot(), 'cli') }); </del> <ins> tunnelProcess = spawn('cargo', ['run', '--', 'tunnel', ...tunnelArgs], { cwd: join(getAppRoot(), 'cli'), stdio }); </ins> } else { const appPath = process.platform === 'darwin' // ./Contents/MacOS/Electron => ./Contents/Resources/app/bin/code-tunnel-insiders ? join(dirname(dirname(process.execPath)), 'Resources', 'app') : dirname(process.execPath); const tunnelCommand = join(appPath, 'bin', `${product.tunnelApplicationName}${isWindows ? '.exe' : ''}`); <del> tunnelProcess = spawn(tunnelCommand, ['tunnel', ...tunnelArgs], { cwd: cwd() }); </del> <ins> tunnelProcess = spawn(tunnelCommand, ['tunnel', ...tunnelArgs], { cwd: cwd(), stdio }); </ins> } <del> tunnelProcess.stdout.pipe(process.stdout); tunnelProcess.stderr.pipe(process.stderr); </del> <ins> tunnelProcess.stdout!.pipe(process.stdout); tunnelProcess.stderr!.pipe(process.stderr); </ins> tunnelProcess.on('exit', resolve); tunnelProcess.on('error', reject); });

Version: 1.78.0-insider (user setup) Commit: Date: 2023-04-04T09:32:52.453Z Electron: 22.4.3 Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0. Sandboxed: Yes run from a Windows command prompt The tunnel starts and prints open VS Code, and open the output Note that the output is stuck at Missing are the message and the info that the tunnel is attached The UI thinks the tunnel is still connecting. Sometimes this also works, but when I try it, most of the time it is stuck
Can you please enable trace logging and share the output?
Nothing extra messages shown when the Desktop tunnel attaches:
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Still a problem in Version: 1.78.0-insider (user setup) Commit: Date: 2023-04-12T05:19:38.288Z Reproduces every time I try it
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!


Question: updateStyleOverrides(overrideStyles?: IColorMapping): void { dispose(this.styler); <del> this.styler = overrideStyles ? attachListStyler(this.tree, this.themeService, overrideStyles) : Disposable.None; </del> <ins> this.styler = attachListStyler(this.tree, this.themeService, overrideStyles); </ins> } dispose(): void {

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.


Question: updateStyleOverrides(overrideStyles?: IColorMapping): void { dispose(this.styler); <del> this.styler = overrideStyles ? attachListStyler(this.tree, this.themeService, overrideStyles) : Disposable.None; </del> <ins> this.styler = attachListStyler(this.tree, this.themeService, overrideStyles); </ins> } dispose(): void {

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. !


Question: private registerListeners(): void { this.editorGroupService.whenReady.then(() => { this.updateEditorAreaContextKeys(); <ins> this.updateEditorGroupContextKeys(); this.updateVisiblePanesContextKeys(); </ins> }); <ins> this._register(this.editorService.onDidActiveEditorChange(() => this.updateEditorGroupContextKeys())); this._register(this.editorService.onDidVisibleEditorsChange(() => this.updateVisiblePanesContextKeys())); this._register(this.editorGroupService.onDidAddGroup(() => this.updateEditorGroupContextKeys())); this._register(this.editorGroupService.onDidRemoveGroup(() => this.updateEditorGroupContextKeys())); this._register(this.editorGroupService.onDidChangeGroupIndex(() => this.updateEditorGroupContextKeys())); this._register(this.editorGroupService.onDidChangeActiveGroup(() => this.updateEditorGroupsContextKeys())); this._register(this.editorGroupService.onDidChangeGroupLocked(() => this.updateEditorGroupsContextKeys())); </ins> this._register(this.editorGroupService.onDidChangeEditorPartOptions(() => this.updateEditorAreaContextKeys())); this._register(Event.runAndSubscribe(onDidRegisterWindow, ({ window, disposables }) => disposables.add(addDisposableListener(window, EventType.FOCUS_IN, () => this.updateInputContextKeys(window.document), true)), { window: mainWindow, disposables: this._store }));

Reproduced on OSS, Mac Steps to Reproduce: Code OSS a file cmd+w Closes the window Bisect points to this commit -
I can reproduce and this is likely context keys not being set properly because conditionally closes the window if no active editor. !
There are context keys that are now loose, for example
Follow up work


Question: test('issue #62278: "Ctrl + click to follow link" for IPv6 URLs', () => { assertLink( 'let x = "http://[::1]:5000/connect/token"', <del> '         http://[::1]:5000/connect/token ' </del> <ins> '         http://[::1]:5000/connect/token  ' </ins> ); });

<!-- 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.75.1 OS Version: Windows 11 Steps to Reproduce: a link in the terminal of the form the link would be automatically detected correctly and made clickable (although in the debug tab, by contrast, it was not detected properly). version 1.75.0, the link detection wrongly terminates at the so the link cannot be easily clicked to open it. I appreciate that you can never please all the people all the time with URL guessing, but I thought it was worth mentioning given that it used to work fine, and to be fair all the characters , and are standard normal URL code points and always have been.
Can repro after, not before: !
This is actually a regression in monaco's link detection which the terminal leverages for uris: 74: <img width="259" alt="image" src="https://user-"75: ! So this was unrelated to the recent terminal link improvements which focused on file detection
introduced this change to fix
Commas are used pretty often in certain links, not sure how advanced the detection is but it could be improved by only treating it as a separator if after a / or if the word before has a period?
GitHub also doesn't split at comma: , I'd probably revert the fix, but I'm fine with either. Up to you
This issue doesn't just affect the links in the terminal. It also applies to , and files (and maybe more).


Question: test('issue #62278: "Ctrl + click to follow link" for IPv6 URLs', () => { assertLink( 'let x = "http://[::1]:5000/connect/token"', <del> '         http://[::1]:5000/connect/token ' </del> <ins> '         http://[::1]:5000/connect/token  ' </ins> ); });

VS Code Version: 1.75.1 OS Version: Windows 10 Steps to reproduce: a file and paste the following code into it: an file and paste the following url into it: . both cases the link detection wrongly terminates at the so the link cannot be easily clicked to open it.
:+1: I'm OK to revert.


Question: .pipe(replace('@@LICENSE@@', product.licenseName)) .pipe(rename('usr/share/appdata/' + product.applicationName + '.appdata.xml')); <ins> const workspaceMime = gulp.src('resources/code-workspace.xml', { base: '.' }) .pipe(replace('@@NAME_LONG@@', product.nameLong)) .pipe(replace('@@NAME@@', product.applicationName)) .pipe(rename('BUILD/usr/share/mime/packages/' + product.applicationName + '-workspace.xml')); </ins> const icon = gulp.src('resources/linux/code.png', { base: '.' }) .pipe(rename('BUILD/usr/share/pixmaps/' + product.linuxIconName + '.png'));

A Visual Studio Code workspace file is currently recognised in Linux as a normal plain text file. This is because there isn't a MIME type for this file. Applications can provide additional MIME types as described here: Not having a MIME type has a couple of issues, for example the files are shown as plain text files in the GUI, which makes it hard to distinguish source code files from the workspace file. This slows down navigating to a workspace and opening it. Find the workspace in the following screenshot ! It's currently impossible to theme such a file because it's not seen as a different MIME type:
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.461 --<!-- potentialduplicatescomment --
This also means that you can't make double clicking the workspace from a file browser open it in vscode, unless you're OK with all text files opening in vscode, which is probably not what most folks want.
This bug has been fixed in to the latest release of ! you can help us out by confirming things are working as expected in the latest Insiders release. If things look good, please leave a comment with the text to let us know. If not, please ensure you're on version of Insiders (today's or later - you can use in the command pallete to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
Hi can you verify this issue? Check out the previous comment.
I tried to verify this but am not sure how to do this myself. I've not used desktop linux extensively; I tried reinstalling Insiders from the on Lubuntu to see if it associated files with VS Code, but that didn't happen.
Verified by installing insiders from on Ubuntu and was able to see mimetype and set a custom icon ! upon uninstalling it was removed.


Question: *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <ins> import { addDisposableListener, h, EventType } from 'vs/base/browser/dom'; import { renderIcon } from 'vs/base/browser/ui/iconLabel/iconLabels'; import { Codicon } from 'vs/base/common/codicons'; </ins> import { Disposable, toDisposable } from 'vs/base/common/lifecycle'; import { IObservable, autorunWithStore, derived } from 'vs/base/common/observable'; import { IGlyphMarginWidget, IGlyphMarginWidgetPosition } from 'vs/editor/browser/editorBrowser';

<!-- 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


Question: <ins> // from https://flutter.dev/ import 'package:flutter/material.dart'; void main() async { runApp( MaterialApp( debugShowCheckedModeBanner: false, home: Scaffold( body: MyApp(), ), ), ); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } </ins>  No newline at end of file

Following on from comments at , it would be good to have basic Dart language configuration as a built-in extension in VS Code, allowing things like syntax highlighting to in the case where the Dart extension is not installed (for example a Live Share client that hasn't installed it) or is disabled (for example in an Untrusted workspace). From : There is a Dart Team-owned grammar here that can be used - it's the (except for a small bug fix that I'll file an upstream PR for shortly): Great! Though what's the advantage of depending on the built-in extension? I try to support a few-versions-old VS Code where possible (so wouldn't do that for a few versions) but also the extension is published to open- for use by other clients so the dependency may complicate things (if they don't have the same built-in). I'd probably do some investigation into this before removing anything from Dart-Code then (it sounds like there's no downside to having the grammar/config provided by both for a period anyway). (fyi
It also works without a dependency, but only because the extension is built-in. No problem if the Dart extension keeps the grammar and language configurations for a while until it is all settled. Do you want to look into a PR or should I?
If it's easier/quicker for you to do, feel free. Otherwise I'm happy to do it but may need some pointers for how built-in extensions are set up.
I pushed the PR We have a new built-in language :-)
Super, thanks! For future reference - for changes to the language config I can send a PR to , and for grammar changes I can run (after the changes are landed in the upstream dart-lang repo)?
I just noticed in the it has the path but this doesn't seem to match the location of the file ?
Good catch, thanks. Pushed the fix:
For grammar changes, I'll pull them in about once per month so you can just rely on that if you want. If there's a change that needs to be picked up sooner than that, then feel free to make an issue an @ mention me and I'll pull in the change earlier.
Perfect, thanks!
is this support in the Code May Update (1.57) that just went out?
Yes, in microsoft/vscode you can tell what release an issue is in by looking at the Milestone. !
Yep!


Question: <ins> // from https://flutter.dev/ import 'package:flutter/material.dart'; void main() async { runApp( MaterialApp( debugShowCheckedModeBanner: false, home: Scaffold( body: MyApp(), ), ), ); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } </ins>  No newline at end of file

An easy way to test it's working is to disable the Dart/Flutter extensions (accept the prompt to reload), then open a Dart file. You'll now still get syntax highlighting (note: you won't get analysis or much other editor functionality, that requires the Dart extension). <img width="650" alt="Screenshot 2021-06-14 at 15 52 25" src="https://user-"
Yeah I just did, and it works great :-)


Question: deepStrictEqual(actualLinks, expectedLinks); } <ins> function countOccurrences(source: string, pattern: string): number { return source.length - (source.replaceAll(pattern, '').length / pattern.length); } </ins> export async function resolveLinkForTest(link: string, uri?: URI): Promise<ResolvedLink> { <ins> // A set of conditions to help with square brackets in testing, this is only needed because the // resolve path function must be injected if (link.startsWith('[')) { return null; } if (countOccurrences(link, '[') !== countOccurrences(link, ']')) { return null; } if (link.includes('[') !== link.includes(']')) { return null; } </ins> return { link, uri: URI.from({ scheme: Schemas.file, path: link }),

<!-- 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.71.0-insider OS Version: macOS Big Sur 11.6 Steps to Reproduce: a link in terminal containing "[" or "]" characters (ex. ) to cmd+click the link, observe that it is split on those characters. For example, links to , , , , and . In reality this is one valid path (nextjs uses "[ ]" to identify parameters in URLs) <img width="526" alt="Screen Shot 2022-09-22 at 5 12 00 PM" src="https://user-"
This works for urls: ! Not local paths: !
reported that it does (kind of) work: ! We would need to review all link detectors for this.
This happens with local links because [] are currently excluded chars:


Question: } private async getProfileToImport(profileTemplate: IUserDataProfileTemplate, temp?: boolean): Promise<IUserDataProfile | undefined> { <del> const profile = this.userDataProfilesService.profiles.find(p => p.name === profileTemplate.name); </del> <ins> const profileName = temp ? `${profileTemplate.name} (${localize('preview', "Preview")})` : profileTemplate.name; const profile = this.userDataProfilesService.profiles.find(p => p.name === profileName); </ins> if (profile) { if (temp) { <del> return this.userDataProfilesService.createNamedProfile(`${profileTemplate.name} ${this.getProfileNameIndex(profileTemplate.name)}`, { shortName: profileTemplate.shortName, transient: temp }); </del> <ins> return this.userDataProfilesService.createNamedProfile(`${profileName} ${this.getProfileNameIndex(profileName)}`, { shortName: profileTemplate.shortName, transient: temp }); </ins> } enum ImportProfileChoice {

<!-- 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. --<!-- 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.76 Steps to Reproduce: Exported a user profile using the GitHub gist link . The user navigates to the link in their browser, where they enter , and the profile opens in the explore view. At the same time, the profile badge is to the settings icon prior to importing the profile. If the user clicks "Import Profile", they are prompted to overwrite an existing profile. The user has never imported a profile prior to this experience. !
thanks for great repro steps. I can nicely reproduce. Assigning to since it seems like the Profile got applied to before hitting the import button, and hitting the import would double-import.
thanks for fixing can you try with latest Insiders and if it works fine you can add the label. Thanks!
Verified, however the profile badge gets to the Settings icon and to the Profiles list prior to importing the profile, but if you click "Import Profile" it imports as expected. Is this as expected? My assumption was that those would not show up until the Profile is imported. !
Yes. This is to indicate user that the profile is applied in preview mode.


Question: "@vscode/iconv-lite-umd": "0.7.0", "@vscode/proxy-agent": "^0.18.2", "@vscode/ripgrep": "^1.15.9", <del> "@vscode/spdlog": "^0.13.12", </del> <ins> "@vscode/spdlog": "^0.14.0", </ins> "@vscode/vscode-languagedetection": "1.0.21", "@vscode/windows-process-tree": "^0.5.0", "@vscode/windows-registry": "^1.1.0",

<!-- 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.1 OS Version: Alpine 3.19 Steps to Reproduce: More info and fix in new version :


Question: const debugIconDisconnectColor = theme.getColor(debugIconDisconnectForeground); if (debugIconDisconnectColor) { <del> collector.addRule(`.monaco-workbench .part > .title > .title-actions .action-label${ThemeIcon.asCSSSelector(icons.debugDisconnect)},.monaco-workbench ${ThemeIcon.asCSSSelector(icons.debugDisconnect)} { color: ${debugIconDisconnectColor}; }`); </del> <ins> collector.addRule(`.monaco-workbench .part > .title > .title-actions .action-label${ThemeIcon.asCSSSelector(icons.debugDisconnect)},.monaco-workbench .debug-view-content ${ThemeIcon.asCSSSelector(icons.debugDisconnect)}, .monaco-workbench .debug-toolbar ${ThemeIcon.asCSSSelector(icons.debugDisconnect)}, .monaco-workbench .command-center-center ${ThemeIcon.asCSSSelector(icons.debugDisconnect)} { color: ${debugIconDisconnectColor}; }`); </ins> } const debugIconRestartColor = theme.getColor(debugIconRestartForeground);

! Notice the red icon, I find that somewhat unexpected. //cc
I bisected this to gonna add you to assignees.
Thanks for tracking this down.


Question: id: RunToCursorAction.ID, label: RunToCursorAction.LABEL, alias: 'Debug: Run to Cursor', <del> precondition: ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, PanelFocusContext.toNegated(), EditorContextKeys.editorTextFocus), </del> <ins> precondition: ContextKeyExpr.and(CONTEXT_IN_DEBUG_MODE, PanelFocusContext.toNegated(), CONTEXT_DEBUG_STATE.isEqualTo('stopped'), EditorContextKeys.editorTextFocus), </ins> contextMenuOpts: { group: 'debug', order: 2

The change for went in without a UX discussion. IMHO we should reconsider adding these two actions to all editor context menus. IMHO we need to be more critical with adding things there and have good reasons to do so. <img width="284" alt="image" src="https://user-"
I figured it wasn't a major change since they are already in the context menu during a debug session. Would a Debug submenu help? Or how about only showing them if the user has previously debugged in this workspace?
I see how it might not feel like a major change, but IMHO we should approach this with a different mindset. We have many useful commands, and we can add many of them to the context menu, but just because we have the ability to add them is not IMHO a good enough reason. Adding something to the context menu has two disadvantages: it makes our editor feel bloated (think typical IDE of the early 00s) it detracts from the value of the existing items, since there are so many of them. I think we need to have a good reason to decide to always show something in the context menu, like a very important feature that we feel will differentiate VS Code from other editors, a reaction to a lot of user feedback, an action which would make the product incomplete if it would be missing, etc.
We discussed this in standup and I will likely just remove them when not in a debug session.
From and Keeping the changes so that they will work and appear in the command palette when not in a debug session, but only appear in the editor context menu while debugging


<!-- 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. --We already have this feature in Core: where you can return where . Truth be told, this already works in API today though it's not officially a part of the API today (so it could change at any moment). For example, I can do: <img width="738" alt="image" src="https://user-"with it goes from: to it goes from: to
ref
Created a TPI so moving this to April for Finalization.


Question: private readonly _domNode: HTMLElement; private readonly _pickedColorNode: HTMLElement; <ins> private readonly _pickedColorPresentation: HTMLElement; </ins> private readonly _originalColorNode: HTMLElement; private readonly _closeButton: CloseButton | null = null; private backgroundColor: Color;

When the content hover contains a color picker and it is resized too small, the text and the color picker box overflow. Perhaps the text should disappear when there is not enough space for the text.
At least the text does not wrap to the next line anymore, but imho the text should remain visible for as long as possible and could possibly also have text-overflow: ellipses? <img width="153" alt="image" src=""
Hi thanks for your comment. The following PR which was merged yesterday should set a minimum width on the content hover when a color picker is embedded and resolve the issue. The fix should appear in today's insiders with commit number
Indeed, thanks!


Question: public readonly range: Range, public readonly initialMousePosX: number | undefined, public readonly initialMousePosY: number | undefined, <ins> public readonly supportsMarkerHover: boolean | undefined </ins> ) { } public equals(other: HoverAnchor) {

Hovering inlay hints should show problems "underneath": !
Came here to report the same thing https://user-
This happens because inlay hint have their own hover which are anchored on a . The diagnostics hover explicitly checks for that and . Would be OK to pretend to be a "normal" range hover anchor so that I can get all the hovers together? Or should the diagnostics hover not check for the hover type?
The is used both by inlay hints (via ) and ghost text (directly instantiates it). I think in the case of inlay hints you would want that markers are rendered in the hover, but perhaps ghost text wouldn't want that they appear in the hover, it might want to show only these actions: <img width="598" alt="image" src="https://user-"My suggestion would be to add something to to be able to distinguish the two cases.
Can still repro this
Please update this issue with a real code snippet that allows to reproduce this, please update this issue with what you have tried. Thanks
I just found a reduce function in VS Code sources such as and replace the returned value with the void keyword such as
Something like this only gives a squiggle for the return value, not the arguments or anything with inline hints. To clarify, this will only work for squiggles that spawn across inline hints <img width="699" alt="Screenshot 2023-01-26 at 14 49 07" src="https://user-"
Hmm, maybe it's because it's in a function so the return value becomes incorrect? This in <img width="917" alt="image" src="https://user-"
Thanks for updating
Looks good to me. Version: 1.75.0-insider Commit: !


Question: } export const config = { <del> version: product.electronRepository ? '22.5.3' : util.getElectronVersion(), </del> <ins> version: product.electronRepository ? '22.5.4' : util.getElectronVersion(), </ins> productAppName: product.nameLong, companyName: 'Microsoft Corporation', copyright: 'Copyright (C) 2023 Microsoft. All rights reserved',

Seeing an increase in issues (such as ) where a mapped network drive or symbolic link points to a UNC path. If you use methods such as or to resolve these paths to their UNC equivalent and use them for further file operations, our UNC allow list might prevent use of these paths until you add them to the allow list. We should discuss if there are options here to make this easier on the impacted users. The issue often goes unnoticed because we do not prompt the user on startup for these paths to add them to the allow list. Workaround Given an exception like this one: Find the resolved file path (here ) and add the hostname of the path (the value between and the first after that) to the setting (here: ). Then restart VS Code. See also:
There are some cases that are a bit difficult to handle: In my company, people always either use the raw path to access files, or map a drive to and then access files using the mapped drive name. However the real path is , which is on a server that most developers have never directly interacted with or even heard of (and there are a number of these file servers depending on the exact path). The TS server and likely many other extensions use this real path in their code, and when it does not have access the server crashes. The only way developers would be able to know the host names causing problems and add them to the allowed host list is by examining the error message of extension host which is extremely user-unfriendly. What is tricky about this is that a user may never know the real hostname until a runtime error occurred. And depending on the extensions a user installs, this may or may not be a problem at all.
Is there a way to get an older version of vscode ? The current version is unusable as long as this bug persists.
This worked for me Note: omit the leading and the at the end.
/fixedWith
Steps for verification: create a that points to a localhost UNC folder which has a Typescript project open the mapped network drive verify TypeScript smartness works and shows no errors in the TS server output logs
For some reason I wish to go back to 1.78 until there is a release which includes the fix. However I cannot find the Windows zip (needed to make VSC ) on the . Any idea where to find it?
The fix for this is in releases.


Question: } export const config = { <del> version: product.electronRepository ? '22.5.3' : util.getElectronVersion(), </del> <ins> version: product.electronRepository ? '22.5.4' : util.getElectronVersion(), </ins> productAppName: product.nameLong, companyName: 'Microsoft Corporation', copyright: 'Copyright (C) 2023 Microsoft. All rights reserved',

I am still getting this error while using the extension !
can you give more details, did you configure the setting accordingly?
!
Are we certain this is related to UNC paths? Whats the extension repository, maybe reach out to them as well?
I am on this issue thread from , that points me to then to this one. Repo is See that someone pointed a cucumber issue here: It's a bit confusing honestly.
I see no UNC mentioned in any of these issues, so I consider it unrelated.
, you have a example from this configuration ??


Question: public readonly resultCodeEditorView: ResultCodeEditorView, public readonly baseCodeEditorView: IObservable<BaseCodeEditorView | undefined>, public readonly showNonConflictingChanges: IObservable<boolean>, <del> @IConfigurationService public readonly configurationService: IConfigurationService, </del> <ins> @IConfigurationService private readonly configurationService: IConfigurationService, @INotificationService private readonly notificationService: INotificationService </ins> ) { super();

Testing When my cursor isn't inside of a conflict, this command does nothing. Should it only be visible in the quickpick when it does something? Or should there be an error message when you try to run it but it doesn't do anything? Same with the "Toggle Current Conflict from Right". <img width="549" alt="image" src="https://user-"
I fear if we hide it when there is nothing to toggle, users won't discover that there is a (keybindable) command for this functionality. How did you find this command? Was your cursor in a conflicting region?
It wasn't in a conflicting region at the time
Let's show an error message if this command does not do anything.
If I run the toggle command in an invalid region, I get a notification, which is good. But, if I then toggle a valid region after, the notification still stays on the screen for a while. Can the notification be hidden when the user toggles a valid region?
Can notifications be removed? I thought that is not possible. Also, I think this use-case is quite rare. The notification is just to teach that you should be in a conflict.


Question: this._sourceControl.commitTemplate = commitTemplate; // Execute cancellable long-running operations <del> const config = workspace.getConfiguration('git'); let sort = config.get<'alphabetically' | 'committerdate'>('branchSortOrder') || 'alphabetically'; if (sort !== 'alphabetically' && sort !== 'committerdate') { sort = 'alphabetically'; } </del> const [resourceGroups, refs] = await Promise.all([ this.getStatus(cancellationToken), <del> this.repository.getRefs({ sort }, cancellationToken)]); </del> <ins> this.getRefs({}, cancellationToken)]); </ins> this._refs = refs!; this._updateResourceGroupsState(resourceGroups);

<!-- 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. --- Version: 1.75.0-insider (Universal) Commit: Date: 2023-01-10T05:21:34.436Z Electron: 19.1.9 Chromium: 102.0.5005.194 16.14.2 V8: 10.2.154.23-electron.0 OS: Darwin arm64 22.2.0 Sandboxed: Yes Steps to Reproduce: an existing workspace folder with git a few branches with commits to switch branches list of branches does not display the recent branches on top the same workspace folder in vscode stable and the order is as expected


Question: override updateOptions(options: IWorkbenchListOptionsUpdate): void { super.updateOptions(options); <del> if (options.overrideStyles) { </del> <ins> if (options.overrideStyles !== undefined) { </ins> this.updateStyles(options.overrideStyles); }

I opened the Settings editor, hovered over a setting, and noticed a new grey line appear to the left of the settings. This issue occurs with the default light and dark themes. !
I found that when calling , if we don't pass in the style override anymore, it will be reset to default I put this fix for notebook but I wonder if it's unexpected
Thanks for figuring that out. We shouldn't update options that are not set, that a regression. I fixed that with and updated your code to back what it was. Is different, it's about the indent guides which were disabled previously by not providing any colors. With my change we complete your colors with the default colors, which IMO is the right thing to do. is a simple fix. But I think we should not use the colors for that but the already existing option. I'm working on a follow up PR, but that needs to be reviewed by who is out today.


Question: export class CommandsConverter implements extHostTypeConverter.Command.ICommandsConverter { <del> readonly delegatingCommandId: string = `__vsc${Date.now().toString(36)} `; </del> <ins> readonly delegatingCommandId: string = `__vsc${generateUuid()}`; </ins> private readonly _cache = new Map<string, vscode.Command>(); private _cachIdPool = 0;

I started seeing this error since yesterday, then remembered that I this setting trying to commit from scm view: ! saving the file which triggers : !


Question: if (!_singleSlashStart.test(ret.path)) { throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character'); } <del> } else { if (_doubleSlashStart.test(ret.path)) { throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")'); } </del> <ins> } else if (_doubleSlashStart.test(ret.path)) { throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")'); </ins> } } }

Issue Type: <bBug</bdeveloper tools themes Everything appears to work as normal, but the console gets flooded with errors. VS Code version: Code - Insiders 1.36.0-insider (, 2019-06-14T10:36:51.530Z) OS version: Darwin x64 18.6.0 <details<summarySystem Info</summary </details<details<summaryExtensions (13)</summaryExtensionVersion ------ vscode-eslint1.9.0 gitlens9.8.2 vsc-material-theme2.9.0 remote-containers0.61.0 remote-ssh-edit-nightly2019.6. remote-ssh-explorer-nightly2019.6. remote-ssh-nightly2019.6. vscode-typescript-tslint-plugin1.1.0 debugger-for-chrome4.11.3 vscode-docker0.6.2 material-icon-theme3.8.0 polacode0.3.2 vscode-sort-json1.13.0 </details<!-- generated by issue reporter --
I can't repo this. Which developer tools and theme are you talking about specifically?
I tried repoing this again and it appears that this error is related to installing a new theme. Here are some better repo steps: developer tools themes (no errors) a theme themes (errors even if it is one of the themes shipped with VS code) The errors go away after a reload, but installing a theme does not tell me a reload is required.
Ok, with the extensions view open, I sometimes see Does not cause seem to cause any actual problems
I get that as well sometimes, but do you not get the webview must be attached to the DOM error as well?
I can reproduce it. Steps: on any extension to load it's Readme in an editor that editor theme (this triggers the webview error) step 1 (this triggers the guestInstanceId error)


Question: } .monaco-workbench .simple-find-part { <ins> visibility: hidden;		/* Use visibility to maintain flex layout while hidden otherwise interferes with transition */ </ins> z-index: 10; position: relative; top: -45px;

Microsoft/vscode Repro: PR ext description page something, shift+tab until you hit the start of the screen There are 4 focusable items, close, next match, previous match and the find input.
Would you like me to start on this?
Yes please. It is too late to get a fix in for the January VS Code release but you can submit a PR any time and we'll try to get this fixed for February
LOL ... my Dragon dictation did the equivalent of a butt dial , deleted assignments and pasted an eMoji sorry about that :-P
FYI: started on this and I can reproduce and see it. simpleFind transitions in and out with animation, hidden only because of z-index and/or overflow. The widget always has display type:flex , therefore the four tabs stops for the buttons and input are always in the tabIndex order fix should be simple, however, there is an interaction between the animation and the display mode such that simultaneously going from display:none =flex messes up the animation. I'm working on separating the display mode from the transition to see if that will work. I have to do more experiments , May have a question or two later...
See PR: Verification: Use a screen reader with screen output on so you can see and track each tab stop Open the new pull request extension page Click on the upper pane to begin focus there Tab through the various toolbar buttons , after dependencies the next tab SHOULD land on With the webview not the simpleFind widget. Verify showing and hiding simpleFind has smooth animation as before Note: When focuses on bottom for web view pane , screen readers output a bunch of base64 encoded text (see truncated output lines below). But I think this is an accessibility bug, if you guys agree I'll post an issue. NVDA Output: with visibility fix (correct output, no tab stops within the hidden simpleFind) NVDA Output: original scenario without fix (can see tabs stops in widget)


Question: }, { "name": "counter-increment", <del> "desc": "Counters are used with the 'counter()' and 'counters()' functions of the the 'content' property.", </del> <ins> "desc": "Counters are used with the 'counter()' and 'counters()' functions of the 'content' property.", </ins> "browsers": "C,FF1.5,IE8,O10.5,S3", "restriction": "identifier, integer", "values": []

<!-- 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 Steps to Reproduce: The documentation has a spelling mistake LINK: -Value of an environment variable on the host machine (in this case, called VARIABLENAME). Unset variables are left blank. To for example, this would set a variable to your local home folder on Linux / macOS or the user folder on Windows:
/ , can you please point me to the GitHub page that corresponds to this page.
Thanks for pointing this out. It looks like we fixed the typo () but have not yet deployed the latest changes.
You are welcome, ! I was trying to fix the issue for Hacktoberfest 2022, but I was unable to figure out in which repo this file was located. Just out of curiosity I would like to know as to where the source file for the page with the typo reside in GitHub?
Thanks for looping me in! Opened a PR in is the repo for


Question: registerWorkbenchContribution2(AccessibilityStatus.ID, AccessibilityStatus, WorkbenchPhase.BlockRestore); registerWorkbenchContribution2(SaveAccessibilitySignalContribution.ID, SaveAccessibilitySignalContribution, WorkbenchPhase.AfterRestored); <ins> registerWorkbenchContribution2(DiffEditorActiveAnnouncementContribution.ID, DiffEditorActiveAnnouncementContribution, WorkbenchPhase.AfterRestored); </ins> registerWorkbenchContribution2(DynamicSpeechAccessibilityConfiguration.ID, DynamicSpeechAccessibilityConfiguration, WorkbenchPhase.AfterRestored);

has said that when switching between editors, it's unclear to him when a diff editor has been entered, though this is clear for sighted users. We should something like to fix this. cc
I think we announce whenever an editor gets focus. Each editor has a title that is announced. So I am not sure what is missing here? I would not like that we just add a new alert. Is the title of the diff editor not descriptive enough? Or is nothing getting announced (which would be a bug)
Good point, the file name is announced and says (Working Tree). is that sufficient to indicate this?
Closing for now, but will reopen based on your feedback
Just discussed with JooYoung and the redundant info is escaped/ignored by screen reader users, so we need to alert with this info
Should we consider a better announcement on focus of the text editor? how does this interact with the existing announcement?
Venkatesh observed that the editor title isn't being read at all, only the accessibility help hint, need to investigate that. EDIT: I explored and this works as expected.
Edit: we use already. This is working as expected. When a new file is opened, the title is read. When a user focuses the document, they hear the hint, if any, along with the "edit text, ...content". If that hint is disabled, they hear "edit text,...content"
which command do you use to switch between editor tabs? Is it ? I believe this issue is about when using that command, indicating if the focused editor is a diff editor via an .
What should I be looking for when verifying this?
Have some editor groups open, including ones with diff editors. Run the command . When a diff editor group is focused, you should hear "diff editor" announced by a screen reader. Disable that setting, and ensure you don't hear that. You should also hear it when navigating the open editors view. !
Using the Open Editors view, I don't see anything read about diff editors when I hit on a diff editor: !
Actually, I do see it when I toggle accessibility mode on


Question: private _getAccessibleViewHelpDialogContent(providerHasSymbols?: boolean): string { const navigationHint = this._getNavigationHint(); const goToSymbolHint = this._getGoToSymbolHint(providerHasSymbols); <del> const toolbarHint = localize('toolbar', "Navigate to the toolbar (Shift+Tab))"); </del> <ins> const toolbarHint = localize('toolbar', "Navigate to the toolbar (Shift+Tab))."); </ins> let hint = localize('intro', "In the accessible view, you can:n"); if (navigationHint) {

As a result of the discussion in , we should format each command, description, and keybinding more consistently and limit redundancy.
/closedWith though still need to do the same for the chat help dialogs


Question: if (resolveResult && resolveResult.enterChord) { shouldPreventDefault = true; this._enterChordMode(firstPart, keypressLabel); <ins> this._log(`+ Entering chord mode...`); </ins> return shouldPreventDefault; } if (this._currentChord) { if (!resolveResult || !resolveResult.commandId) { <ins> this._log(`+ Leaving chord mode: Nothing bound to "${this._currentChord.label} ${keypressLabel}".`); </ins> this._notificationService.status(nls.localize('missing.chord', "The key combination ({0}, {1}) is not a command.", this._currentChord.label, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ }); shouldPreventDefault = true; }

Issue Type: <bBug</bI remapped command to [Alt + V]. And such keybinding doesn't work. KeybindingService log is as follows. Keybinding seems to pass through vscode to terminal since when I run in terminal it registers keypresses. VS Code version: Code 1.67.2 (, 2022-05-17T18:23:40.286Z) OS version: Linux x64 5.15.41-1-MANJARO Restricted Mode: No Remote OS version: Linux x64 4.19.119-30.2 <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
This is working fine for me, I do see the warning that I don't understand though. any insights into what could be happening here? Could the soft dispatch teh terminal does be causing problems with this ignore single modifier thing?
Yes, I think is not dispatched through the keybinding service in this case. Looking again at the OP log: And comparing it with the output I see when binding to : Notice how the OP's log does not contain the keydown event for (i.e. this line ), but there are logs about being dispatched. I think the logs about being dispatched relate to the call the terminal does, but it looks to me that the keybinding service doesn't really get to dispatch the keyboard event, so it doesn't execute the command. I see how is making the log confusing so I will push a change to improve logging to better distinguish between and the real dispatch.
do you have or set in your
Yes I have enabled, but I didn't override . As far as I understand is included in by default.
It is but when is set to true it overrides as a convenience setting for users who use a lot of shell-based keybindings. If you're getting into needing to customize , I'd recommend setting back to false and tweaking instead. I checked the docs and it looks like this is already explained so I don't think there's anything we need to do on our end: !
ok, thanks a lot for your help


Question: "cssnano": "^4.1.11", "debounce": "^1.0.0", "deemon": "^1.8.0", <del> "electron": "25.8.1", </del> <ins> "electron": "25.8.2", </ins> "eslint": "8.36.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-jsdoc": "^46.5.0",

<!-- 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. --<!-- 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. --Something has changed in the latest Insiders so our CI started to fail with errors (any branch but here is an ): Do you have any idea what might cause it so we can make changes on our side? Might it be something with your dependencies?
Runtime has no changes with insiders, this seems like a regression from the recent http proxy changes based on in upstream. Passing onto From a quick look the extension relies on package which makes network connection. it would be great if you can reduce the test case to a minimal extension sample for us to debug this issue further. Thanks!
Unfortunately, we haven't been able to isolate the issue for a minimal extension sample so far. To reproduce the problem, you can follow these steps: the and install the extension. the following commands in the terminal: When running all tests, you may observe multiple failures with the . However, when running the failed tests separately, they randomly may or may not fail again, which makes it hard to identify the cause of the issue. It is possible that your proxy patches might be the right place to look for further investigation.
Maybe a related discussion:
Found it. The place in our code that fails with the latest Insiders is . I created a so you can try it, but here is the code snippet for a quick look:
Thanks for putting together this test! My investigation so far: is called with resulting in the reported error when it calls here: The check at would prevent from being called when , but that is only with in 19.0.0.


Question: "cssnano": "^4.1.11", "debounce": "^1.0.0", "deemon": "^1.8.0", <del> "electron": "25.8.1", </del> <ins> "electron": "25.8.2", </ins> "eslint": "8.36.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-jsdoc": "^46.5.0",

Still need to check older versions to see if that check was backported and see if there is a way to test this assessment.
is available in 18.8.0 and 16.18.0, our exploration builds based on Node v18 has this change, you can use the builds from to verify the assessment.
The test does not reproduce the issue in the exploration build. Still trying to understand what is happening (please ignore the above code pointers) by looking at the code at the tag. I see the failing call to being triggered in : What I don't quite understand is that the callstack to with comes from : But at that line is supposed to call not as it appear in the callstack: Could you point me at the source that went into Electron? I believe that is not the exact same as that at
Electron pulls source from when building, what you are looking at is the correct one. I think the async stack is missing a trampoline calll, but you are seeing a write after shutdown stack same as
Thanks This looks like an upstream issue to me, should not be called when is already . I don't see the change in 18.15.0 (the version the exploration build is using) yet that might have fixed it.
We have reverted to the previous way of loading certificates as we are getting close to a release ().
We're seeing this again in our macos and Windows CI jobs for VSCode "Insiders" (not current VSCode stable version 1.82.2). Was node or electron updated in the last 2 days on VSCode Insiders?
There is fix in upstream for the above scenario, I will backport it to relevant release lines.
Could you confirm that todays Insiders build fixes the problem? Thanks!
Confirmed, thanks!


Question: { "name": "code-oss-dev", "version": "1.80.0", <del> "distro": "cbc1aeab0c196a6c6314cf4df21228d9016c70d1", </del> <ins> "distro": "6ee5ac9f5980f3dd5aaf2948d43e6adced9c8b43", </ins> "author": { "name": "Microsoft Corporation" },

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


Question: this.#historyService = historyService; codeEditorService.registerDecorationType('interactive-decoration', DECORATION_KEY, {}); <ins> this._register(this.#keybindingService.onDidUpdateKeybindings(this.#updateInputDecoration, this)); </ins> } protected createEditor(parent: HTMLElement): void {

Testing Open keybindings editor and interactive window in two editor groups Check that input editor has shift + enter as keybinding to execute Change the keybinding to some other key Placeholder is not updated
This doesn't seem to work for me on Windows:
sorry that's the wrong command, the Jupyter extension contributes multiple Shift+Enter keybindings. Could you please try changing the extension's keybinding for ? E.g. !
Thanks!


Question: } } <del> let excludePatternOrDisregardExcludes: string | false = false; </del> <ins> let excludePatternOrDisregardExcludes: string | false | undefined = undefined; </ins> if (exclude === null) { excludePatternOrDisregardExcludes = false; } else if (exclude) {

returns the same results as . The first should have applied, the second should have no exclude settings applied. The parameter in the findFiles API treats differently from . Strict null checking extHostWorkspace broke that:


Question: this.toDispose.push(this.debugService.getViewModel().onWillUpdateViews(() => this.updateInlineValuesScheduler.schedule())); this.toDispose.push(this.debugService.getViewModel().onDidEvaluateLazyExpression(() => this.updateInlineValuesScheduler.schedule())); this.toDispose.push(this.editor.onDidChangeModel(async () => { <del> const stackFrame = this.debugService.getViewModel().focusedStackFrame; const model = this.editor.getModel(); if (model) { this.applyHoverConfiguration(model, stackFrame); } </del> <ins> this.updateHoverConfiguration(); </ins> this.toggleExceptionWidget(); this.hideHoverWidget(); this._wordToLineNumbersMap = undefined; <ins> const stackFrame = this.debugService.getViewModel().focusedStackFrame; </ins> await this.updateInlineValueDecorations(stackFrame); })); this.toDispose.push(this.editor.onDidScrollChange(() => {

<!-- 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. --I'm currently implementing hit conditions in vscode-php-debug. Xdebug has very limited conditions it supports and we need to signal the user if they typed something unsupported. If a breakpoint has such a condition we try to return that in the field in the setBreakpointResponse/body/breakpoints. There is the implementation line: I noticed that the message is only visible when hovering with the mouse over the unverified breakpoint and only when the DAP isn't in a running state. If the adapter is in a breakpoint, there is no indication why this breakpoint isn't valid. Steps to Reproduce: and build vscode-php-debug from branch . a PHP debug Optionally add under setting. a breakpoint with hit condition "blabla". breakpoint should be unverified, hovering over it should show the message. Messages exchanged until now: launchResponse initializedEvent setBreakpointsRequest (see full message below) setBreakpointsResponse setFunctionBreakpointsRequest setFunctionBreakpointsResponse setExceptionBreakpointsRequest setExceptionBreakpointsResponse configurationDoneRequest configurationDoneResponse threadsRequest threadsResponse () a PHP process that will cause the debug adapter to move into running state. Following messages will be exchanged: ThreadEvent () StoppedEvent () threadsRequest threadsResponse () stackTraceRequest stackTraceResponse threadsRequest threadsResponse () scopesRequest scopesResponse variablesRequest variablesResponse this point hovering over the unverified breakpoint will not show the message.


Question: this.toDispose.push(this.debugService.getViewModel().onWillUpdateViews(() => this.updateInlineValuesScheduler.schedule())); this.toDispose.push(this.debugService.getViewModel().onDidEvaluateLazyExpression(() => this.updateInlineValuesScheduler.schedule())); this.toDispose.push(this.editor.onDidChangeModel(async () => { <del> const stackFrame = this.debugService.getViewModel().focusedStackFrame; const model = this.editor.getModel(); if (model) { this.applyHoverConfiguration(model, stackFrame); } </del> <ins> this.updateHoverConfiguration(); </ins> this.toggleExceptionWidget(); this.hideHoverWidget(); this._wordToLineNumbersMap = undefined; <ins> const stackFrame = this.debugService.getViewModel().focusedStackFrame; </ins> await this.updateInlineValueDecorations(stackFrame); })); this.toDispose.push(this.editor.onDidScrollChange(() => {

Full breakpoint messages Version: 1.59.0 (user setup) Commit: Date: 2021-08-04T23:13:12.822Z Electron: 13.1.7 Chrome: 91.0.4472.124 14.16.0 V8: 9.1.269.36-electron.0 OS: Windows_NT x64 10.0. Full log of message exchange (DAP and Xdebug)
Maybe a good issue to get introduced to the breakpoint message computation. Thus assigning to Code pointer where we compute breakpoint messages There is probably some check wrong depending on the debug state.
Any luck looking into this? I just want to check if there is something I did wrong before releasing. Btw: Is there any way to enable DAP logging of node/typescript adapter so I can compare messages?
we just did not have a chance to look into this yet. will probably look into it soon, if he is busy I can also help. Yes, it is possible to enable DAP logging for js-debug. Add to your and start debugging. The location of the log file on your disk will be written to the Debug Console. That log file should have the communication.
I totally lost this one, and it's fairly straightforward. This is due to us disabling editor hover in favor of the custom debug hover.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!


Question: import { CancellationToken } from 'vs/base/common/cancellation'; import { KeyCode } from 'vs/base/common/keyCodes'; import { Disposable, DisposableStore, toDisposable } from 'vs/base/common/lifecycle'; <del> import { Constants } from 'vs/base/common/uint'; </del> import { ContentWidgetPositionPreference, IActiveCodeEditor, ICodeEditor, IContentWidget, IContentWidgetPosition, IEditorMouseEvent, MouseTargetType } from 'vs/editor/browser/editorBrowser'; import { ConfigurationChangedEvent, EditorOption } from 'vs/editor/common/config/editorOptions'; import { Position } from 'vs/editor/common/core/position';

! I see this sometimes, but it often gets fixed if I try again, or close and reopen the editor, etc. Right now it keeps happening and it's just impossible to click the hover. I don't know how this API works but I assume this is on vscode's side. Happy to set breakpoints and debug
I couldn't reproduce this so I'm not sure what's the root problem. However, I'm saving here a patch which simulates a hover very similar to the one in the gif: <img width="1141" alt="image" src="https://user-"diffn- editor.focusNotebookCell(newCell, newFocusMode, { focusEditorLine: 1 });n+ await editor.focusNotebookCell(newCell, newFocusMode, { focusEditorLine: 1 });n
I tried for quite a while but couldn't repro. I think there might be some settings that cause the issue reproduce. Does this reproduce when you comment out all your user settings?
Yeah, it reproes with all settings commented out
Thanks to via we could find a repro. Reproduces consistently when hovering at the end of the line: It turns out it has to do with the range the hover provider returns. If the hover provider returns a range that spans one line above the hover request, the hover will render one line above. If the hover provider returns a range that spans two lines above the hover request, the hover will render two lines above, etc. Here's a simplified patch: https://user-
To verify, use gitlens and hover over the end of the line at
Works great but raises the question, why does gitlens return a hover with a multiline range? And I get a highlight in this region, but it blinks and disappears on line 919, and on other lines, no highlight. !
PR to improve the highlight range at
I'm still seeing the original issue at


Question: } }); }, 0); <del> }); </del> <ins> }, () => listener.dispose()); </ins> return DiskSearch.collectResults(promise); }

Open a large workspace Start a text search Press esc See busy process still running is never called here:


Question: error: message }); } <ins> private telemetryDebugAddBreakpoint(breakpoint: IBreakpoint, context: string): TPromise<any> { /* __GDPR__ "debugAddBreakpoint" : { "context": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "hasCondition": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "hasHitCondition": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "hasLogMessage": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ return this.telemetryService.publicLog('debugAddBreakpoint', { context: context, hasCondition: !!breakpoint.condition, hasHitCondition: !!breakpoint.hitCondition, hasLogMessage: !!breakpoint.logMessage }); } </ins> }

When going over our telemetry for debug actions we have the ability to track usage counts of debug actions triggered from keyboard shortcuts and commands, as they execute commands which we emit telemetry for, but we don't seem to have telemetry in place for breakpoints set in the gutter (click or context menu). This is unfortunate as my hypothesis is that the majority of breakpoints are set this way. Ask Add ability to track breakpoint toggles (add/remove/change) from Gutter click Add ability to track breakpoint toggles from gutter context menu
would you like to contribute a PR for this? It shuold be fairly simple and you already have the nice code pointers.
I'd be happy too, but we should land on an agreement on how to implement it. What's the best approach? 1) Add telemetry directly to the gutter actions 2) Re-wire the gutter actions to execute a command instead?
for the best approach let's first see what you want to get exactly? total amount of all breakpoints set (including the gutter) grained events for breakpoint setting based on the way the user initated that aciton In case of 1 we should just add a telemetry ping in the  since everyone should go through there In case of 2 depends on how fine grained you want it, if for every place then we should add an argument or something like that in the addBreakpoints method and then also report that to telemetry.
I'd like us to be able to contribute a source/initiator to given breakpoint, so we can get an UI usage distributions, etc.
I suggest the following Add a third argument In the implementation of that method use the telemetry service to report the appropriate event with the context. And you should nicely get all the errors of all the callers of , simply pass different string context for each caller and you shuold be good to go. Let me know if you have any questions
Cool, I'l see what I can get cooking!
Removing my assignment for this. feel free to assign me back if you do not have time to tackle this and if we need this for August
hey, would you still like this? If yes I can also look into it in October
I'd still like to do this to get my hands dirty.
cool, unasigning myself and let's leave it for October
Verified by code review, adding verified label


Question: processCallbacks.push(child => { child.stdout.on('data', (data: Buffer) => console.log(data.toString('utf8').trim())); child.stderr.on('data', (data: Buffer) => console.log(data.toString('utf8').trim())); return new TPromise<void>(c => child.once('exit', () => c(null))); }); } <ins> // If we are running with input from stdin, pipe that into a file and // open this file via arguments. let isReadingFromStdin: boolean; try { isReadingFromStdin = !process.stdin.isTTY; // Via https://twitter.com/MylesBorins/status/782009479382626304 } catch (error) { // Windows workaround for https://github.com/nodejs/node/issues/11656 } let stdinFilePath: string; if (isReadingFromStdin) { let stdinFileError: Error; stdinFilePath = paths.join(os.tmpdir(), `stdin-${Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 6)}.txt`); try { // Pipe into tmp file process.stdin.setEncoding('utf8'); process.stdin.pipe(fs.createWriteStream(stdinFilePath)); // Make sure to open tmp file argv.push(stdinFilePath); // Enable --wait to get all data argv.push('--wait'); args.wait = true; } catch (error) { stdinFileError = error; } if (args.verbose) { if (stdinFileError) { console.error(`Failed to create file to read via stdin: ${stdinFileError.toString()}`); } else { console.log(`Reading from stdin via: ${stdinFilePath}`); } } } </ins> // If we are started with --wait create a random temporary file // and pass it over to the starting instance. We can use this file // to wait for it to be deleted to monitor that the edited file

This is very useful when working with the commandline, and to pass the result directly into the editor. It's especially useful for getting a file out of git's history, eg: FWIW, this works in Sublime.
+1
Here is my workaround (I'm on OSX so might need to adjust accordingly): create ~/bin/codestdin: Then run: Now git log, git show, git diff pipe correctly into vscode
Similar to approach, I've this to my bash profile to wrap the command... definitely not flawless, but it works for my use cases (so far). e.g.
For you have to modify the function a bit and use , because is a BUILTIN in and will return the function itself: What does not work is something like
Hello, For using the redirect, does this express the intent of getting of copy of the file contents assigned to an anonymous file buffer? Would that be similar to for intents sake? I wonder if are the only thing to care for that scenario? Thank you. Good day.
hello yes this should be equivalent as as I know.
Can we get some priority for this issue? It's been open since 2016 (that's 552 days!) and it's a bit ridiculous that VSCode still doesn't provide this extremely rudimentary shell interoperability.
+1
Pushed a change to feed the contents of stdin to a file and have it open in VS Code ( is implied when doing so): ! This currently works by or not, which is a bit brittle. If someone spawns VS Code without terminal emulation we might wrongly assume that data is coming in via stdin and open a tmp file. If it turns out that there are too many regressions, I might have to add a startup argument (, ) to explicitly enable this. If someone has a better idea how to detect if data is flowing in via stdin let me know.
This is great to see! Thanks so much! Is Atom's implementation the same?
as far as I know, Atom does not support this.
huh, I really thought it did, but local tests (and ) suggest not. Anyway, thanks again!
Hello, would you be kind enough to update your OP to note that Atom did and does not as of writing actively support this (probably just taking it out).


Question: processCallbacks.push(child => { child.stdout.on('data', (data: Buffer) => console.log(data.toString('utf8').trim())); child.stderr.on('data', (data: Buffer) => console.log(data.toString('utf8').trim())); return new TPromise<void>(c => child.once('exit', () => c(null))); }); } <ins> // If we are running with input from stdin, pipe that into a file and // open this file via arguments. let isReadingFromStdin: boolean; try { isReadingFromStdin = !process.stdin.isTTY; // Via https://twitter.com/MylesBorins/status/782009479382626304 } catch (error) { // Windows workaround for https://github.com/nodejs/node/issues/11656 } let stdinFilePath: string; if (isReadingFromStdin) { let stdinFileError: Error; stdinFilePath = paths.join(os.tmpdir(), `stdin-${Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 6)}.txt`); try { // Pipe into tmp file process.stdin.setEncoding('utf8'); process.stdin.pipe(fs.createWriteStream(stdinFilePath)); // Make sure to open tmp file argv.push(stdinFilePath); // Enable --wait to get all data argv.push('--wait'); args.wait = true; } catch (error) { stdinFileError = error; } if (args.verbose) { if (stdinFileError) { console.error(`Failed to create file to read via stdin: ${stdinFileError.toString()}`); } else { console.log(`Reading from stdin via: ${stdinFilePath}`); } } } </ins> // If we are started with --wait create a random temporary file // and pass it over to the starting instance. We can use this file // to wait for it to be deleted to monitor that the edited file

There is the PR for them, but it is nice to have the proper perspective that VSCode is in the forefront of this kind of feature. Its no harm to stay, just misleading. Thank you. Good day.
done
Thanks for the feature, very nice. Just my 2 cents on feedback, the implied seems unnecessary. EG: when I pipe to TextMate it gives me my prompt back. There might be other reasons though for having the wait that I'm not thinking about though. Regardless, cheers and thanks for the work!
the calling process is waiting because it is not clear how long data is being sent to . It could be that the editor is already opened but data is still flowing. A workaround on your side would probably to send the command to the background by appending "" at the end?
Hrm, wasn't aware that was even possible. I feel like most commands I pipe complete then output is sent to the editor.
A terminal can have a specific encoding set which my solution did not yet account for. I pushed a change to try a little bit of terminal encoding guessing but I think the solution is not ideal. If someone has a better idea ( ?), let me know: Linux/macOS: use the output of running as encoding Windows: use by default any OS: if you specify an environment variable it will always win over the guessing This will not help if you change the encoding of the terminal ad-hoc as that does not seem to cause any configuration change that the command would detect. On Windows I see the  command but the output of that command seems to be intertwined with human readable text and not just the encoding. If someone has a better idea for Windows, please speak up.


Question: if (userDataProfileImportState.isEmpty()) { await importAction.run(); } else { <del> await this.showProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW, profileTemplate.name, importAction, new BarrierAction(barrier, new Action('cancel', localize('cancel', "Cancel"))), false, userDataProfileImportState); </del> <ins> await this.showProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW, profileTemplate.name, importAction, new BarrierAction(barrier, new Action('cancel', localize('cancel', "Cancel")), this.notificationService), false, userDataProfileImportState); </ins> } await barrier.wait(); await this.hideProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW);

<!-- 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. --- VS Code Version: 1.76.0 OS Version: macOS 11.6.2 Version: 1.76.0 Commit: Date: 2023-03-01T10:23:45.993Z Electron: 19.1.11 Chromium: 102.0.5005.196 16.14.2 V8: 10.2.154.26-electron.0 OS: Darwin x64 20.6.0 Sandboxed: No Summary When creating a profile with a name such as "Typescript / Javascript", the following happens: When exporting as a Gist, no result dialog shows ("there was trouble" / "created profile successfully") and a validation error is outputted in the logs When exporting to a local file, the text after the last forward slash is set as the filename. With the above example, it'd be " " To reproduce: a profile: Settings cog -"Profile ([...])" the profile: Select "Export Profile..." -"Export" the "name the profile" step, enter a name with a forward slash in like so: "Typescript / Javascript" either method for exporting: gist or local Expected results: If you select local: a system save prompt with the name you entered pre-set in the filename field If you select gist: A success dialog with a link to the website prefilled with your config Actual results: If you select local: only the text after the last forward slash is in the filename field If you select gist: No dialog shows.


Question: if (userDataProfileImportState.isEmpty()) { await importAction.run(); } else { <del> await this.showProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW, profileTemplate.name, importAction, new BarrierAction(barrier, new Action('cancel', localize('cancel', "Cancel"))), false, userDataProfileImportState); </del> <ins> await this.showProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW, profileTemplate.name, importAction, new BarrierAction(barrier, new Action('cancel', localize('cancel', "Cancel")), this.notificationService), false, userDataProfileImportState); </ins> } await barrier.wait(); await this.hideProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW);

The following error is in the "output" window, under "Window": I can only test this on a macOS device, I haven't tried this on a Windows or other Linux device and I feel like (with the area in mind - filesystems etc) these issues could manifest differently or not even be an issue there. I'm assuming validation on the inputbox for the name will be required because filesystems (and Gist? not sure) don't typically support forward slashes in file names. Thanks and if you're reading this, have a great weekend :)
Gists do no accept in the name. Replaced with .


Question: } })); <del> const progressBar = new ProgressBar(container, this.styles.progressBar); progressBar.getContainer().classList.add('quick-input-progress'); </del> const focusTracker = dom.trackFocus(container); this._register(focusTracker); this._register(dom.addDisposableListener(container, dom.EventType.FOCUS, e => {

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)


Question: "dependencies": { "applicationinsights": "1.0.8", "chokidar": "3.5.1", <ins> "eslint-plugin-header": "3.1.1", </ins> "graceful-fs": "4.2.6", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.3",

Currently, we have to add this copyright header manually to every new file: /
Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See in the project root for license information. *
-------------/ An ES Lint rule that has an auto fix would be really nice. What are your thoughts ! (using )
I like. The closest that we have today is this snippet
Let's do it!