jiebi/CodeConvo huggingface dataset:
Code change:
const cmd = quote(args.shift()!); command += (cmd[0] === ''') ? `& ${cmd} ` : `${cmd} `; for (const a of args) { <del> command += `${quote(a)} `; </del> <ins> command += (a === '<' || a === '>') ? a : quote(a); command += ' '; </ins> } } break;

Related discussion:
text: <!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.67.0 OS Version: Windows 10, using as a default shell Steps to Reproduce: When debugging python(I think debuggers of other languages also got effected too), I'm using following to redirect stdin to my custom input file. This method of implementing redirection when debugging using the < character is also introduced in the . According to the document, This approach requires that the "<" syntax is passed through the debugger extension and ends up unmodified in the Integrated Terminal. and it worked like charm before updating to . From , I've noticed that there was a fix related to automatically add escape character() before special symbols such as or (See Terminal on Windows uses cmd /C, this corrupts passed arguments) When I started debugging session, vscode is now really add before . Since character is escaped, I cannot used redirection with the method mentioned in the document anymore. Is this the intended result? If so, how to use redirection 'correctly' after this build? I know a lot of people redirect stdin to and redirect stdout to when debugging, which is actually very convenient. I think that implementing redirection by passing special characters(, , ) as arguments of the debugger is not a very graceful solution, but that method itself should not be eliminated.
Having the same issue with new version in WSL. It seem some characters are prefix with . My is . But in console, the command is , due to prefix , my code is stuck. It was working fine yesterday, So, I think this issue is with new release.
Code change:
const cmd = quote(args.shift()!); command += (cmd[0] === ''') ? `& ${cmd} ` : `${cmd} `; for (const a of args) { <del> command += `${quote(a)} `; </del> <ins> command += (a === '<' || a === '>') ? a : quote(a); command += ' '; </ins> } } break;

Related discussion:
text: VS Code Version: 1.67.0 OS Version: Windows 10, WSL Ubuntu20.04
Judjung from of , I'm sure this issue is related to today's release too.
Yeah this is Thanks for pointing out the docs, I didn't know this was recommended. It's suspicious to me that we would want to put shell-specific syntax in the args here. That isn't what "args" means to me. I wonder whether we could add launch config parameters like "stdinFromFile" and "stdoutToFile" (and add those to the runInTerminal request) so that vscode can come up with the right syntax for the shell. I may want to revert the change until we have a better solution. Thoughts Maybe candidate
I'm not a fan of allowing this. We already try to escape things from those arguments, so people doing this today have only a half-working shell syntax in their arguments. It also only works if you run it in the , and is of course shell-dependent too, which feels weird.
This is super messed up. I 100% require being able to redirect the output. This needs to be fixed. ages: ["",""] was 100% working on windows before this update! My work flow is screwed rn
Args mean arguments as if I was writing it after typing it in console including SHELL commands. I want to redirect output Why in the world it would add ^is crazy to me. This has to be be bug.
Additional sometimes you need to chain aliases that take redirect or pass a redirect back in < These are shell scripts that having the debugger "args" accept <,,| is really important to have. It was an amazing and highly convenient way to debug. I seriously doubt this is a feature that few people would want deprecated. I seriously don't and it's killing me it broke after this update.
Yeah I agree that passing redirection symbols through args is somewhat weird, and I understand the need for escaping shell-specific characters. That's why I've said it's not a graceful solution. However, many people uses the redirection feature through that way now(even if the docs have been mislead the users). It's good improvement to escape that characters in arguments since it is literally "argument", but I think there should be official solution to redirect I/O.
Code change:
const cmd = quote(args.shift()!); command += (cmd[0] === ''') ? `& ${cmd} ` : `${cmd} `; for (const a of args) { <del> command += `${quote(a)} `; </del> <ins> command += (a === '<' || a === '>') ? a : quote(a); command += ' '; </ins> } } break;

Related discussion:
text: As mentioned above, add parameters such as "stdinFromFile" and "stdoutToFile" to might be best solution. BTW, what kind of additional information do I have to add here? I think I mentioned all the details of the sitution but I see the "needs more info" label.
I've spent 3 hours trying to come up with a work around. This is insane. So much of my workflow relied on the ability the redirect stdin and stdout using <,. It's insane that this was deprecated. I don't even get why. It doesn't have to do any crazy checking should just copying what you type in and the shell takes over. This is a serious issue for me. !
If it's about "escaping shell-specific characters" then I could live with this. And if it's about anything else shell then give me something like this:
Sorry for the trouble. Like I said, I didn't realize that people were depending on this behavior, and I agree that it should be supported somehow, since this is a reasonable and useful workflow. To me, "args" means arguments that get passed to the program you are starting. I see a couple solutions Restore the behavior of and require users to shell-escape args in their own config, which is not good, or add which would be shell-escaped Keep the behavior of and add or , or the more specific Any of this will require changes to DAP. I wonder whether anyone is trying to use any shell syntax besides /<, in other words, is there a scenario that adding wouldn't cover?
In my opinion, the second way Keep the behavior of and add or , or the more specific is better workaround since we can prevent use of different way from its real meaning.
just a few comments from vacation... VS Code knows nothing about properties. Some debug extensions introduce in their schema contribution but VS Code cannot provide any direct help with redirecting input/output. VS Code supports/implements the DAP request which some debug extensions use to implement their (private) support. does not allow direct access to shell features (e.g. input/output redirection) because no assumptions can be made about the underlying shell or whether a shell is used at all. So escaping/quoting all shell meta-characters is correct. But we might want to add additional features to the DAP request so that debug adapters can implement / property support themselves.
Code change:
const cmd = quote(args.shift()!); command += (cmd[0] === ''') ? `& ${cmd} ` : `${cmd} `; for (const a of args) { <del> command += `${quote(a)} `; </del> <ins> command += (a === '<' || a === '>') ? a : quote(a); command += ' '; </ins> } } break;

Related discussion:
text: a debug extension can introduce an alternative property that supports shell features, e.g. a property . In order to support this we would have to add support to the DAP request to pass a full command line unchanged to the underlying shell.
is there a scenario that adding stdinFromFile/ stdoutToFile wouldn't cover? Yes. I for one will use aliases that are shell scrips to redirect their input and output to chain together programs.
Yes, this is basically my thinking. But I think I should revert the change as a candidate until we figure out a better solution. could you give me an example so I understand how that wouldn't be covered by this proposal?
"stdinFromFile/stdoutToFile" makes the most sense to me. I would not be in favor of a option in the request since, similar to the initial problem, the DA has no knowledge of the underlying shell.
I wonder whether we could make everyone happy in the meantime by leaving the current fix but special-casing and and not escaping these? You could have the and filename in a single arg but I don't see anyone doing that. And it would make the behavior almost the same as the intended escaping behavior.
If would work with "" instead of "", "" I could live with that. Or what ever you mean by special-casing. I just want it to work again or have some means to do to it again.
I mean the opposite (the in would not be escaped, and in would be escaped)
that seems like an acceptable interim fix to me. As a C++ debug extension author (vGDB), this has also broken my extension on the most recent VSCode build and I've had to suggest users defer on upgrading for now to not break existing workflows.
Thanks. I am going with this solution for the .2 build that will go out next week. Not a perfect fix - as a single argument would have previously redirected output too - but people are using or in all the examples I have seen so far. It will also be in Insiders tomorrow. I noticed another issue with the escaping, , which will also get fixed in Insiders
thanks for the quick fix!
Code change:
let hint = ''; const disableKeybinding = this._keybindingService.lookupKeybinding(AccessibilityCommandId.DisableVerbosityHint, this._contextKeyService)?.getAriaLabel(); if (disableKeybinding) { <del> hint = localize('acessibleViewDisableHint', "Disable accessibility verbosity for this feature ({0}). This will disable the hint to open the accessible view for example.n", disableKeybinding); </del> <ins> hint = localize('acessibleViewDisableHint', "nnDisable accessibility verbosity for this feature ({0}).", disableKeybinding); </ins> } else { <del> hint = localize('accessibleViewDisableHintNoKb', "Add a keybinding for the command Disable Accessible View Hint, which disables accessibility verbosity for this feature.n"); </del> <ins> hint = localize('accessibleViewDisableHintNoKb', "nnAdd a keybinding for the command Disable Accessible View Hint, which disables accessibility verbosity for this feature.s"); </ins> } return hint; }

Related discussion:
text: 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
Code change:
this.expandReplyArea(); } else if (hasExistingComments) { this.createReplyButton(this.commentEditor, this.form); <del> } else if (focus && (!this._commentThread.comments || this._commentThread.comments.length === 0)) { </del> <ins> } else if (focus && (this._commentThread.comments && this._commentThread.comments.length === 0)) { </ins> this.expandReplyArea(); } this._error = dom.append(this.form, dom.$('.validation-error.hidden'));

Related discussion:
text: !
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
Code change:
private _bufferTracker: BufferContentTracker | undefined; private _bufferProvider: TerminalAccessibleBufferProvider | undefined; private _xterm: Pick<IXtermTerminal, 'shellIntegration' | 'getFont'> & { raw: Terminal } | undefined; <del> private _onCommandExecutedShowListener: MutableDisposable<IDisposable> = new MutableDisposable(); </del> <ins> private _onDidRunCommand: MutableDisposable<IDisposable> = new MutableDisposable(); </ins> constructor( private readonly _instance: ITerminalInstance,

Related discussion:
text: Type: <bBug</b I am not sure whether the insiders version reflects the up-to-date patch though, does not seem to work in Powershell. I have noticed that this works in my remote z shell though. VS Code version: Code - Insiders 1.85.0-insider (, 2023-11-03T15:11:12.179Z) OS version: WindowsNT x64 10.0. Modes: Remote OS version: Linux x64 4.18.0-477.27.1.el88.x8664 <details<summarySystem Info</summary </details<details<summaryExtensions (104)</summaryExtensionVersion ------ aiprm-lang0.0.2 Bookmarks13.4.2 spellright3.0.118 mermaid-markdown-syntax-highlighting1.5.3 vscode-firefox-debug2.9.10 codespaces1.16.2 remotehub0.62.0 overleaf-workshop0.4.1 easy-snippet0.6.3 scheme0.2.0 better-cpp-syntax1.17.2 lilypond-snippets0.1.1 vscode-edge-devtools2.1.3 jupyter-keymap1.1.2 remote-containers0.322.0 remote-ssh0.108. remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.24.0 azure-repos0.38.0 remote-explorer0.5. remote-repositories0.40.0 vscode-serial-monitor0.10.0 vscode-speech0.3.
Code change:
private _bufferTracker: BufferContentTracker | undefined; private _bufferProvider: TerminalAccessibleBufferProvider | undefined; private _xterm: Pick<IXtermTerminal, 'shellIntegration' | 'getFont'> & { raw: Terminal } | undefined; <del> private _onCommandExecutedShowListener: MutableDisposable<IDisposable> = new MutableDisposable(); </del> <ins> private _onDidRunCommand: MutableDisposable<IDisposable> = new MutableDisposable(); </ins> constructor( private readonly _instance: ITerminalInstance,

Related discussion:
text: multi-command1.6.0 errorlens3.15.0 Bookmarks13.4.2 openscad1.2.2 zoterolatex0.4.1 mermaid-markdown-syntax-highlighting1.5.3 codium0.7.13 doxdocgen1.4.0 vscode-markdownlint0.52.0 vscode-eslint2.4.2 vscode-quick-select0.2.9 vscode-deno3.26.0 gitlens14.4.1 EditorConfig0.16.4 prettier-vscode10.1.0 shell-format7.2.5 vscode-google-translate1.4.13 codespaces1.16.2 copilot1.133.531 copilot-chat0.11. remotehub0.62.0 vscode-github-actions0.26.2 vscode-pull-request-github0.77. cslpreview0.2.2 path-autocomplete1.25.0 latex-workshop9.14.1 lilypond-syntax0.1.1 scheme0.2.0 better-cpp-syntax1.17.2 vscode-lua-format1.3.8 lilypond-formatter0.2.3 lilypond-pdf-preview0.2.8 lilypond-snippets0.1.1 vslilypond1.7.3 git-graph1.30.0 vscode-docker1.27.0 black-formatter2023.4.1 flake82023.10.0 isort2023.10.1 python2023.20.0 vscode-pylance2023.11.10 jupyter2023.11.
Code change:
private _bufferTracker: BufferContentTracker | undefined; private _bufferProvider: TerminalAccessibleBufferProvider | undefined; private _xterm: Pick<IXtermTerminal, 'shellIntegration' | 'getFont'> & { raw: Terminal } | undefined; <del> private _onCommandExecutedShowListener: MutableDisposable<IDisposable> = new MutableDisposable(); </del> <ins> private _onDidRunCommand: MutableDisposable<IDisposable> = new MutableDisposable(); </ins> constructor( private readonly _instance: ITerminalInstance,

Related discussion:
text: jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 azure-repos0.38.0 cmake-tools1.15.31 cpptools1.17.5 cpptools-extension-pack1.3.0 js-debug-nightly2023.11.217 remote-repositories0.40.0 vscode-github-issue-notebooks0.0.130 vscode-selfhost-test-provider0.3.20 vscode-serial-monitor0.10.0 vsliveshare1.0.5892 autodocstring0.6.1 pandocciter0.10.3 shiny-python0.1.5 shinyuieditor0.5.0 quarto1.106.3 r-debugger0.5.4 java1.24.0 vscode-xml0.26.1 r2.8.2 multi-command1.6.0 vscode-deepl1.0.6 lua3.7.0 latex-utilities0.4.10 cmake0.0.17 errorlens3.15.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.2.30 vscode-java-debug0.55.0 vscode-java-dependency0.23.2 vscode-java-pack0.25.15 vscode-java-test0.40.1 vscode-maven0.43.0 markdown-all-in-one3.5.1 grammarly0.24.0 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
it is working for me on windows with PowerShell. could you share a gif?
!
-- Also, I have noticed that sometimes the first letter typed in Accessible View is not bypassed as demonstrated in the z shell.
Thanks for the gif, yeah, it's not working for you. I cannot reproduce even when I use a terminal in the editor area. Could you pls set terminal log level to debug, repro, and provide me with those?
Looks like shell integration isn't working properly for you for some reason, which is why this isn't working. We run the open command , so that's not happening.
And yeah, I can reproduce sometimes the key not getting sent to the terminal.
Code change:
private _bufferTracker: BufferContentTracker | undefined; private _bufferProvider: TerminalAccessibleBufferProvider | undefined; private _xterm: Pick<IXtermTerminal, 'shellIntegration' | 'getFont'> & { raw: Terminal } | undefined; <del> private _onCommandExecutedShowListener: MutableDisposable<IDisposable> = new MutableDisposable(); </del> <ins> private _onDidRunCommand: MutableDisposable<IDisposable> = new MutableDisposable(); </ins> constructor( private readonly _instance: ITerminalInstance,

Related discussion:
text: It's a timing issue related to the context view that is shown.
I'll split that issue out
As expected, your logs do not show , which explains why it's not working for you.
I wonder if is loaded for you. That would be the only way that event wouldn't happen
Can you pls run and provide the output?
!
So is disabled for you, which is why this isn't working.
If you add this line to your , it will work
is disabled by default when screen reader is used, and enabling it does not resolve the issue. Please see the gif: !
oh, seems we'll have to use instead for this case then.
I still cannot repro. I have the likely fix, so you'll be able to verify it tomorrow.
Code change:
importProfile(uri: URI, options?: IProfileImportOptions): Promise<void>; showProfileContents(): Promise<void>; createFromCurrentProfile(name: string): Promise<void>; <del> createTemporaryProfile(from: IUserDataProfile, name: string, extensionsDisabled: boolean): Promise<void>; </del> <ins> createTroubleshootProfile(): Promise<void>; </ins> setProfile(profile: IUserDataProfileTemplate): Promise<void>; }

Related discussion:
text: Testing I started the Troubleshoot issue flow and it took a long time to create my initial profile. All I had was a status bar item which took me a while to discover (I actually thought something else went wrong). I would love to see and editor / web view better guiding me through that process by: listing the steps and adding check marks when done showing me the number of bisects still necessary giving me a final report.
<img width="258" alt="capture" src=""
We should also have a UI to always stop the process (see ) for a situation where this is useful
I now see that there is a notification for each step. This makes it better, so may be a simple thing to do is to show a notificatio with progress when the profile is created instead of a simple status bar item.
Actually, setting up the trouble shooting profile should be fast and instant.
Was not for me :-(
Following notification is shown now !
Code change:
.comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container .count, .comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-metadata-container .user { <del> overflow: hidden; text-overflow: ellipsis; </del> <ins> min-width: fit-content; </ins> } .comments-panel .comments-panel-container .tree-container .comment-thread-container .comment-snippet-container .text {

Related discussion:
text: When the comment is too long to fit in the panel (which is common), the author name and the date get truncated first. Instead, we should truncate the comment: e.g. look at the last comment in ! Showing the author name (instead of ) should be more important than showing a few more characters in the comment preview. (cc
/verified It prefers the user name over comment now.
Code change:
this.initServices(configuration); const isSnap = process.platform === 'linux' && process.env.SNAP && process.env.SNAP_REVISION; <ins> const targetExtension = configuration.data.extensionId ? configuration.data.enabledExtensions.find(extension => extension.id === configuration.data.extensionId) : undefined; </ins> this.issueReporterModel = new IssueReporterModel({ issueType: configuration.data.issueType || IssueType.Bug, versionInfo: {

Related discussion:
text: Feature Request The command takes an extension argument so that extensions can open an issue reporter for that extension. I'd like to use this for the built-in JS/TS extension as well but cannot at the moment: It'd be nice if for VS Code builtin extensions, we automatically changed the field to
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
Code change:
private onDidActiveEditorChange(): void { const activeEditorGroup = this.editorGroupService.activeGroup; const activeEditorPane = activeEditorGroup.activeEditorPane; if (this.lastActiveEditor && this.editorHelper.matchesEditorIdentifier(this.lastActiveEditor, activeEditorPane)) { return; // return if the active editor is still the same }

Related discussion:
text: Steps to Reproduce: recently opened ("Clear Editor History") quick open and search for a file (such as a TS file) to see symbols (notice how the file opens in the background) to a symbol = when you open quick open again, the file is not part of the recently opened section //cc this is a regression from the transient work we did
Code change:
return extHostQuickOpen.showWorkspaceFolderPick(options); }, showInputBox(options?: vscode.InputBoxOptions, token?: vscode.CancellationToken) { <del> if (options?.validateInput2) { checkProposedApiEnabled(extension, 'inputBoxSeverity'); } </del> return extHostQuickOpen.showInput(options, token); }, showOpenDialog(options) {

Related discussion:
text: <!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --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.