Question: import { IOpenerService } from 'vs/platform/opener/common/opener'; import { URI } from 'vs/base/common/uri'; <ins> const builtinExtensionIssueUrl = 'https://github.com/microsoft/vscode'; </ins> export class ReportExtensionIssueAction extends Action { private static readonly _id = 'workbench.extensions.action.reportExtensionIssue';

Running Extensions context menu -in extensions have disabled menu for !
I don't remember creating the "Report Issue" action, so I don't think I own it. Maybe you did this?
Yeah I did this. Code pointer The issue here is that the JavaScript Debugger does not seem to provide the repository URI in the Thus the action gets disabled here can you maybe provide the repository information of the JavaScript debugger so this button gets enabled here?
There are multiple built-in extensions with disabled menu item, like, , , ... (Not only js debugger).
Yeah none of them have a seperate repository. So you shuold just file in vscode repository However for js-debug we have a sepearte repository so it makes sense to have that action enabled.
I have an repository in the js-debug I think the issue is actually the line above that exclude built-in extensions: I don't think this line is necessary. Deleting it will just have people who open issues on extensions in the vscode repo open them here, which is desirable.
Yeah, agree.
Report Issue on opens this repository . Some other built-in extensions still have disabled menu item.
This action is available only for few builtin extensions (jsdebug, emmet) and this action reports issues in VS Code repository. IMO it shall be consistent and show this action for all builtin extensions. If repo is not found and extension is builtin we shall enable the action and create issue in VS Code repo. Let me know if you agree, if so shall I reopen this issue?
Works for me and let's reopen. I am opening this for community contributions and adding help wanted
I think there are two ways to do it. attributes need to be to the of each built-in extension In the , judge the extension type. If it is a built-in extension, set the base url to I think 2 is better
Yeah let's go with 2. Sounds like a good approach to me
I have submitted a PR, please help CR
thanks to your PR this is now fixed.
Fixed for built-in extensions, though just a note that it's still disabled for the github.codespaces extension.


Question: "contributes": { "languages": [{ "id": "ini", <del> "extensions": [ ".ini", ".properties", ".gitconfig" ], "filenames": ["config", ".gitattributes", ".gitconfig", "gitconfig", ".editorconfig"], </del> <ins> "extensions": [ ".ini"], </ins> "aliases": [ "Ini", "ini" ], <del> "configuration": "./language-configuration.json" }], </del> <ins> "configuration": "./ini.language-configuration.json" }, { "id": "properties", "extensions": [ ".properties", ".gitconfig" ], "filenames": ["config", ".gitattributes", ".gitconfig", "gitconfig", ".editorconfig"], "aliases": [ "properties", "properties" ], "configuration": "./properties.language-configuration.json" } ], </ins> "grammars": [{ "language": "ini", "scopeName": "source.ini", <del> "path": "./syntaxes/Ini.plist" </del> <ins> "path": "./syntaxes/Ini.tmLanuage" },{ "language": "properties", "scopeName": "source.properties", "path": "./syntaxes/properties.plist" </ins> }] } }

VSCode Version: 1.6.0 OS Version: OSX 10.11.6 *.ini files comments-line starts with the SEMI-COLON. but VSCode has insert (or remove) the HASHMARK.
Pull request pushed, thanks a lot !


Question: "contributes": { "languages": [{ "id": "ini", <del> "extensions": [ ".ini", ".properties", ".gitconfig" ], "filenames": ["config", ".gitattributes", ".gitconfig", "gitconfig", ".editorconfig"], </del> <ins> "extensions": [ ".ini"], </ins> "aliases": [ "Ini", "ini" ], <del> "configuration": "./language-configuration.json" }], </del> <ins> "configuration": "./ini.language-configuration.json" }, { "id": "properties", "extensions": [ ".properties", ".gitconfig" ], "filenames": ["config", ".gitattributes", ".gitconfig", "gitconfig", ".editorconfig"], "aliases": [ "properties", "properties" ], "configuration": "./properties.language-configuration.json" } ], </ins> "grammars": [{ "language": "ini", "scopeName": "source.ini", <del> "path": "./syntaxes/Ini.plist" </del> <ins> "path": "./syntaxes/Ini.tmLanuage" },{ "language": "properties", "scopeName": "source.properties", "path": "./syntaxes/properties.plist" </ins> }] } }

VSCode Version: v1.2.1 OS Version: Windows 10 Steps to Reproduce: file type to INI "A=b;xxxx" in file content Expected: "b;xxxx" colored as white Actual: "b" in white but ";xxxx" in green ";xxxx" should only be regard as comments when there is no other contents in the line before ";"
This issue was moved to demyte/language-cshtml


Question: this._register(this._workingCopyService.registerWorkingCopy(workingCopyAdapter)); } <del> capabilities = 0; </del> <ins> capabilities = WorkingCopyCapabilities.None; </ins> async backup(): Promise<IWorkingCopyBackup<NotebookDocumentBackupData>> { if (this._notebook.supportBackup) {

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: head OS Version: n/a This is a bug/inconsistency in the VSC codebase, which is currently obscured because of the specific way the code is written. This wouldn't really matter, but when using a build step that generates files for dependencies, the gets evaluated down to and compilation fails. And overall, it'd be nice for the types to align in a sensible way. Steps to Reproduce: , replace with Expected: compiles fine Actual: there are a number of errors like Property 'getFirstLineText' does not exist on type 'never'. The intersection 'this & IResolvedTextFileEditorModel' was reduced to 'never' because property 'capabilities' has conflicting types in some (2339)TextFileEditorModelIWorkingCopyIResolvedTextFileEditorModelthis.isResolved() is known to be true) says capabilities should be a readonly 2. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Since this seems to concern only you with your specific setup, wanna do a PR to fix this?
I would be more than happy to, but I'm not sure what approach you'd find (in)appropriate. could type in as a number instead of an enum (since checks against it are anyways done via bitwise-and) could change in to actually be 2 instead of 0 (though it seems like you also use 0 for this field in other places like , and somehow TSC doesn't care...) could add a enum value of 0 to , since it seems like that's how you use it. I'm leaning towards approach 3. What are your thoughts?
Yeah I think we can give 3. a try in a PR.


Question: this.update(); } <del> set toggles(toggles: IQuickInputToggle[] | undefined) { // HACK: Filter out toggles here that are not concrete Toggle objects. This is to workaround // a layering issue as quick input's interface is in common but Toggle is in browser and // it requires a HTMLElement on its interface const concreteToggles = toggles?.filter(opts => opts instanceof Toggle) as Toggle[]; this.ui.inputBox.toggles = concreteToggles; } </del> onDidChangeSelection = this.onDidChangeSelectionEmitter.event; onDidTriggerItemButton = this.onDidTriggerItemButtonEmitter.event;

Type: <bBug</bFuzzy search icon is visible in Go to Symbol view (Shift + CMD + O) which on press opens terminal recent search with fuzzy search. I think that button should be excluded from Go to Symbol view and be visible only in terminal recent search view. VS Code version: Code 1.73.1 (, 2022-11-09T02:22:48.959Z) OS version: Darwin arm64 22.1.0 <img width="607" alt="image" src="https://user-"<img width="597" alt="image" src="https://user-"


Question: moveTo(thisCursor, 1, 8); moveTo(thisCursor, 3, 9, true); moveToBeginningOfLine(thisCursor, false); <del> assertCursor(thisCursor, new Selection(1, 6, 1, 6)); </del> <ins> assertCursor(thisCursor, new Selection(3, 5, 3, 5)); }); test('issue #17011: Shift+home/end now go to the end of the selection start's line, not the selection's end', () => { moveTo(thisCursor, 1, 8); moveTo(thisCursor, 3, 9, true); moveToBeginningOfLine(thisCursor, true); assertCursor(thisCursor, new Selection(1, 8, 3, 5)); </ins> }); // --------- move to end of line

VSCode Version: Code - Insiders 1.8.0-insider (, 2016-12-09T12:05:39.439Z) OS Version: Linux x64 4.8.0-28-generic Extensions: Steps to Reproduce: an untitled file and add content: the cursor after the shift, press down and then end, the selection should be shift, press home, the selection should be but it is because the select went to the start of the wrong line.
This used to work till yesterday... something broke. I'm pressing <kbdend</kbdafter going 3 lines above, and the cursor goes to the end of the selectionStart line. !


Question: array.push(workspaceIdentifier); this.saveSync(); } <ins> return workspaceIdentifier; </ins> } protected removeBackupPathSync(workspaceIdentifier: string, isEmptyWorkspace: boolean): void {

Moving this over from After the backups are not restored if the workspace directory doesn't exist anymore. The workspace is no longer tracked but the backups are kept around in the backup directory should they be needed later.
Tricky.... I would expect an empty window to open with those files dirty. This might require some work on the area of restoring on empty workspaces. Have not thought about this longer yet.
Marking as important because this means data loss if the folder is deleted on disk.
maybe this should be done on the main side on startup similarly to If a folder no longer exists, convert it into an empty workspace backup and let it open as empty window.
On test plan:


Question: super(); const cellEditorOptions = this._register(new CellEditorOptions(this.notebookEditor.getBaseCellEditorOptions(viewCell.language), this.notebookEditor.notebookOptions, this.configurationService)); <del> this._outputContainerRenderer = this.instantiationService.createInstance(CellOutputContainer, notebookEditor, viewCell, templateData, { limit: 500 }); </del> <ins> this._outputContainerRenderer = this.instantiationService.createInstance(CellOutputContainer, notebookEditor, viewCell, templateData, { limit: outputDisplayLimit }); </ins> this.cellParts = this._register(templateData.cellParts.concatContentPart([cellEditorOptions, this._outputContainerRenderer])); // this.viewCell.layoutInfo.editorHeight or estimation when this.viewCell.layoutInfo.editorHeight === 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. --Version: 1.78.0 (user setup) Commit: Date: 2023-05-03T20:09:00.748Z Electron: 22.4.8 Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0. Sandboxed: No I've reported a bug related jupyter notebook before . After new release of vs code this below bug happens. Steps to Reproduce: https://user- a Jupyter notebook file that contains some images. to view images and see what happens.
I'm not seeing this repro - can you try disabling all extensions and opening that same notebook to see if it still repros? Also check which renderer is being used for the image by selecting 'change presentation' in the output menu !
I've provided info about you asked in the video. extensions are disabled was using 1. as seen in the image and video. tried other renderer as well to show difference. another issue is; VS Code is scrolling down own its own when notebook is opened first time and loading of output started. It can be observed below in end of video as well. I cannot hold the page and have to scroll back by myself. !
How many images are you displaying there? (I still don't see it with 500, though perf takes a big hit) Does it repro with a smaller number of images? Like just displaying the same image 10 times.


Question: super(); const cellEditorOptions = this._register(new CellEditorOptions(this.notebookEditor.getBaseCellEditorOptions(viewCell.language), this.notebookEditor.notebookOptions, this.configurationService)); <del> this._outputContainerRenderer = this.instantiationService.createInstance(CellOutputContainer, notebookEditor, viewCell, templateData, { limit: 500 }); </del> <ins> this._outputContainerRenderer = this.instantiationService.createInstance(CellOutputContainer, notebookEditor, viewCell, templateData, { limit: outputDisplayLimit }); </ins> this.cellParts = this._register(templateData.cellParts.concatContentPart([cellEditorOptions, this._outputContainerRenderer])); // this.viewCell.layoutInfo.editorHeight or estimation when this.viewCell.layoutInfo.editorHeight === 0

Do you know if all the images are being displayed? I see some suspicious collapsed borders in between a few. Can you try and reloading to check if there's a setting causing this? ( to default to switch back)
Alright, I have tried the way you told me and created new profile and didnt install anything at all. But it seems that doesnt change. I dont have a notebook that have few images. The notebook have 618 images as it could be seen in the video before images output says that 1/618, 2/618 .... 618/618. Those are the images is saved in storage after that they are being displayed. As far as i noticed those movements only occurs when notebook is being loaded. Because if load finishes that movement seem to stop as well. Another thing is there is something wrong about loading process as it could be seen in the video. I especially didnt use mouse's wheel not to confuse you, i only used scroll bar on the right. VS Code stops loading/showing images after some point untill i scroll down bottom and if i come back it suddenly appears. And i wanted to show how google colab loads in the browser.
<!-- 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!
are there verification steps for this?
verification steps a notebook and put a small image in your local workspace a cell with the code: the cell and wait for completion, (finished for me in a few seconds) , close, and re-open the notebook the images might take a bit to all render, but they shouldn't bump up and down once they are visible
Same bug (bumping up and down) still persists for me. Another thing is loading of images are stuck some point and it's fixed if i scroll down to bottom and come back. I showed and explained the bug which was in vscode.mp4 video and duration between 00:42-1:20.


Question: super(); const cellEditorOptions = this._register(new CellEditorOptions(this.notebookEditor.getBaseCellEditorOptions(viewCell.language), this.notebookEditor.notebookOptions, this.configurationService)); <del> this._outputContainerRenderer = this.instantiationService.createInstance(CellOutputContainer, notebookEditor, viewCell, templateData, { limit: 500 }); </del> <ins> this._outputContainerRenderer = this.instantiationService.createInstance(CellOutputContainer, notebookEditor, viewCell, templateData, { limit: outputDisplayLimit }); </ins> this.cellParts = this._register(templateData.cellParts.concatContentPart([cellEditorOptions, this._outputContainerRenderer])); // this.viewCell.layoutInfo.editorHeight or estimation when this.viewCell.layoutInfo.editorHeight === 0

Version: 1.79.2 (user setup) Commit: Date: 2023-06-14T08:57:04.379Z Electron: 22.5.7 Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: WindowsNT x64 10.0.
This fix is only on VS Code Insiders right now. It looks like you're still using the stable version.


Question: this._wrapperElement.classList.add('fixed-dims'); this._hasScrollBar = true; this._initDimensions(); <del> // Always remove a row to make room for the scroll bar this._fixedRows = this._rows - 1; </del> await this._resize(); this._terminalHasFixedWidth.set(true); if (!this._horizontalScrollbar) {

Type: <bBug</bstep 1 - Run any command or project whose lines does'nt fit in single line step 2 - Your terminal can be full sized or small size does'nt matter step 3- Presss Alt + z to wrap line in terminal Step 4 - Resize your terminal window Example - If initially terminal window height is 100px from the bottom then word wrap using Alt + z and after that increase or discrease the size of terminal window. You will find that content is still showing in 100px of height VS Code version: Code 1.91.0 (, 2024-07-01T18:52:41.959Z) OS version: Linux x64 5.15.0-113-generic Modes: <!-- generated by issue reporter --
!
Thanks for fixing the issue One more questions Is there any way to off wrap word in terminal parmanent. I have to use Alt + z each time when I run my project
there is not
Can you make it happen like Eclipse Please
i haven't seen it in eclipse but I'm guessing they're using the old console api on windows which isn't really compatible with the pty based system that we use.
Works, but I never see a horizontal scrollbar with word wrap disabled, should I expect to? I see it in the screenshot above.


Question: class NextMarkerAction extends MarkerNavigationAction { constructor() { <del> super(true, { </del> <ins> super(true, false, { </ins> id: 'editor.action.marker.next', label: nls.localize('markerAction.next.label', "Go to Next Problem (Error, Warning, Info)"), alias: 'Go to Next Error or Warning', <ins> precondition: EditorContextKeys.writable }); } } class PrevMarkerAction extends MarkerNavigationAction { constructor() { super(false, false, { id: 'editor.action.marker.prev', label: nls.localize('markerAction.previous.label', "Go to Previous Problem (Error, Warning, Info)"), alias: 'Go to Previous Error or Warning', precondition: EditorContextKeys.writable }); } } class NextMarkerInFilesAction extends MarkerNavigationAction { constructor() { super(true, true, { id: 'editor.action.marker.nextInFiles', label: nls.localize('markerAction.nextInFiles.label', "Go to Next Problem in Files (Error, Warning, Info)"), alias: 'Go to Next Error or Warning in Files', </ins> precondition: EditorContextKeys.writable, kbOpts: { kbExpr: EditorContextKeys.focus,

Issue Type: <bBug</bWhen pressing F8 in editor without error markers in current file, tab will switch to another opened file with error. Is it possible to prevent tab switching when F8 is pressed and there is no errors in current file? VS Code version: Code 1.22.0 (, 2018-04-05T17:25:43.982Z) OS version: Darwin x64 16.7.0 <!-- generated by issue reporter --
It's caused by a change in behavior in 1.22 (). I think it's a change to the worse: it's very easy to get used to hitting F8 to get a quick feedback for whether the current file has any errors, and this change breaks this workflow in a very noisy way. It also punishes those who work on 'dirty' projects with lots of errors and prefer to concentrate on one file at a time. I think it would be great to have a config switch for "F8 checks all files/current file", or at least a pair of keyboard bindings for the old behavior. I'm actually surprised that it wasn't implemented with this change.
Understood. The goal was to keep the number of setting low, but I understand the different use-cases and muscle memory. Until then, a workaround, albeit weak, is to hit Shift+F8 which takes to back to the file.
Yeah, I agree that "convention over configuration" has its benefits, and it seems that the suggestion that caused this change was quite popular, but IMO this warrants at least a pair of shortcut bindings. Speaking about conventions, I've just checked that for example similar shortcuts in PyCharm (and I assume all other JetBrains IDEs) only jump through errors in the current file. One upside of the old behavior was that when the current file had no errors, there were no visual changes after pressing F8, and the cursor stayed where it was. Now in this case Shift+F8 after F8 won't even bring you back to that file, it would jump to another file with errors. "Go Back" or "Open Next Recently Used Editor" works though. It was also very useful that F8 would wrap around and bring you to the first error in the current file if you are working near the end of it and did some changes that e.g. made some imports or vars unused.


Question: class NextMarkerAction extends MarkerNavigationAction { constructor() { <del> super(true, { </del> <ins> super(true, false, { </ins> id: 'editor.action.marker.next', label: nls.localize('markerAction.next.label', "Go to Next Problem (Error, Warning, Info)"), alias: 'Go to Next Error or Warning', <ins> precondition: EditorContextKeys.writable }); } } class PrevMarkerAction extends MarkerNavigationAction { constructor() { super(false, false, { id: 'editor.action.marker.prev', label: nls.localize('markerAction.previous.label', "Go to Previous Problem (Error, Warning, Info)"), alias: 'Go to Previous Error or Warning', precondition: EditorContextKeys.writable }); } } class NextMarkerInFilesAction extends MarkerNavigationAction { constructor() { super(true, true, { id: 'editor.action.marker.nextInFiles', label: nls.localize('markerAction.nextInFiles.label', "Go to Next Problem in Files (Error, Warning, Info)"), alias: 'Go to Next Error or Warning in Files', </ins> precondition: EditorContextKeys.writable, kbOpts: { kbExpr: EditorContextKeys.focus,

I think I was relying on this behavior 80% of times when I pressed F8. And now it's become quite difficult to predict whether F8 or Shift-F8 would keep you in the current file or move to another one.
We have the two old commands back (in addition to the new commands). That means there is now "Go to Next Problem" and "Go to Next Problem In Files" as well as the other direction. We have not changed the keybindings, so F8/Shift-F8 walks across the project and you would need to reassign the them to get old, old behaviour back.
Wow, I didn't expect this minor issue to get resolved so quickly! Big thanks to the team, it's really a marvel to witness the development of this amazing project.
Thanks to
I verified the new command works as expected, however is the name "in Files" really clear what it does. Why not "across Files"?
We chose "in Files" to match "Find in Files". "across Files" makes sense too though and might be clearer for users who haven't used "Find in Files" before.


Question: # OSC 633 ; E ; <CommandLine?> ; <Nonce?> ST $Result = "$([char]0x1b)]633;E;" $Result += $(__VSCode-Escape-Value $CommandLine) <del> $Result += ";$Nonce" </del> <ins> # Only send the nonce if the OS is not Windows 10 as it seems to echo to the terminal # sometimes if ($IsWindows10 -eq $false) { $Result += ";$Nonce" } </ins> $Result += "`a" <del> [Console]::Write($Result) </del> # Command executed # OSC 633 ; C ST

Type: <bBug</bHi, My name is Ebrima Mbye. I have been using this wonderful IDE for some while now. However, recently I have noticed that when I run a program, the output in the terminal window does also include the memory location of the file or folder I am working on. Sample output: "93c9--e1dddca87b23PS C:UsersUserDesktopNewEbrimaProgram" This is not a super cotly problem, but I just wanted to bring your attention to it. Thank you for your valuable time, User, Ebrima Mbye, Java programmer. VS Code version: Code 1.88.0 (, 2024-04-03T13:26:18.741Z) OS version: WindowsNT x64 10.0.


Question: # OSC 633 ; E ; <CommandLine?> ; <Nonce?> ST $Result = "$([char]0x1b)]633;E;" $Result += $(__VSCode-Escape-Value $CommandLine) <del> $Result += ";$Nonce" </del> <ins> # Only send the nonce if the OS is not Windows 10 as it seems to echo to the terminal # sometimes if ($IsWindows10 -eq $false) { $Result += ";$Nonce" } </ins> $Result += "`a" <del> [Console]::Write($Result) </del> # Command executed # OSC 633 ; C ST

Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (44)</summaryExtensionVersion ------ codesnap1.3.4 vscode-javascript-snippet-pack0.1.6 vscode-django1.15.0 githistory0.6.20 python-environment-manager1.2.4 python-extension-pack1.7.0 code-runner0.12.2 vsc-python-indent1.18.0 kodezi2.2.2 debugpy2024.4.0 python2024.4.0 vscode-pylance2024.4.1 jupyter2024.3.0 jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.9 vscode-jupyter-slideshow0.1.6 cmake-tools1.17.17 cpptools1.19.9 cpptools-extension-pack1.3.0 vsliveshare1.0.5918 sqltools0.28.1 sqltools-driver-mysql0.6.0 autodocstring0.6.1 vscode-python-typehint1.5.1 fabric8-analytics0.9.4 java1.29.0 LiveServer5.7.9 pythonpack0.3.0 javafx-support0.0.1 tabnine-vscode3.86.0 open-in-browser2.0.0 bootstrap4-vscode6.1.0 cmake0.0.17 intellicode-api-usage-examples0.2.8 vscodeintellicode1.3.1 vscode-java-debug0.57.0 vscode-java-dependency0.23.6 vscode-java-pack0.26.0 vscode-java-test0.41.0 vscode-maven0.44.0 jinja0.0.8 JavaScriptSnippets1.8.0 grammarly0.24.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.88.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
How may I upgrde?
I meet this problem too.


Question: # OSC 633 ; E ; <CommandLine?> ; <Nonce?> ST $Result = "$([char]0x1b)]633;E;" $Result += $(__VSCode-Escape-Value $CommandLine) <del> $Result += ";$Nonce" </del> <ins> # Only send the nonce if the OS is not Windows 10 as it seems to echo to the terminal # sometimes if ($IsWindows10 -eq $false) { $Result += ";$Nonce" } </ins> $Result += "`a" <del> [Console]::Write($Result) </del> # Command executed # OSC 633 ; C ST

Today when I use python debugger to debug python files, something wrong happen in vscode 'Python Debug Console'. Output reads: ncher' '7541' '--' 'D:' ;-402f-491b-bdb5-ee7fdd8b6e0cncher' '7541' '--' 'D:' ;-402f-491b-bdb5-ee7fdd8b6e0cPS D:I have neven seen strange characters before. This string wants to overwrite what I want to print in python file and still appear with empty python file. ! My VSCode version is 1.88.1. Hope Greatest Microsoft Engineers will solve this problem. Thank you very much~ PS: To exclude influence of other entensions,I only use this four extensions. !
I've been having a very similar issue for the last week or so. I'm running Windows Powershell (5.1) in an integrated terminal in VS Code on Windows 10. If I run a command that wraps over to the second line of the terminal, an unfamiliar GUID along with some other characters (see red boxes in screenshot below) appears interspliced with the text of the command I just ran. Makes a little difficult to use the terminal. PS I don't encounter the same issue when running the same command windows powershell 5.1 directly (ie not as an integrated terminal in VS Code) ! VS Code version info: Version: 1.88.1 (user setup) Commit: Date: 2024-04-10T17:41:02.734Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. Powershell version info: ! Windows verison info: ! Installed extensions (both disabled -- enabling or disabling has no effect on the issue) !
Thanks for the issue, what happens if you comment out your file?
same thing happens with user commented out. !
I believe that's just your current working directory, which reflects the folder you're in. This is working as designed. You can change the behavior by tweaking your setting.


Question: # OSC 633 ; E ; <CommandLine?> ; <Nonce?> ST $Result = "$([char]0x1b)]633;E;" $Result += $(__VSCode-Escape-Value $CommandLine) <del> $Result += ";$Nonce" </del> <ins> # Only send the nonce if the OS is not Windows 10 as it seems to echo to the terminal # sometimes if ($IsWindows10 -eq $false) { $Result += ";$Nonce" } </ins> $Result += "`a" <del> [Console]::Write($Result) </del> # Command executed # OSC 633 ; C ST

Unfortunately, it seems unchanged when set the value of as ${fileDirname}. And when clicking Run, it looks like to execute a to stop something runnning. Truthly, I would accept this strange long string in my sonsole but it wants to overwrite what has been output. So, if want to print some message in console without owerwritten, I need to add this code above the whole codes.
What if you set it to something else? Like workspace folder?
I've tried setting [] to other value with different directory and drive letters. But it only changes the initial working directory in Teriminal <pwsh, not in Integrated Terminal <Python Debug Console. Also I manually changed <Python Debug Consoleworking dir, it looks like the same problem. So it has no positive influence on this problem.
Who closed this? Why close it when the problem is not yet solved? On Tue, Apr 16, 2024, 1:53 AM Megan Rogge
does this reproduce if you disable all installed extensions?
updating my "" value in the user settings json did not resolve the issue. As I mentioned before, all installed extensions are already disabled and the issue still occurs.
I think this is the shell integration set command line nonce being passed echoed instead of being passed in with the sequence. I see 2 versions of Windows mentioned and both are Windows 10 so this makes sense here. I'm thinking we'll just not verify the command line via the nonce for conpty under Windows 10.
Are there verification steps for this?
<!-- 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!
Running any command in Windows PowerShell (v5) is the verification steps
I'm unable to repro the issue in Stable on Windows 11.
I can't even reproduce the original issue on my Windows 10 VM at home with VS Code 1.88.1. has the issue been fixed for you in the latest VS Code Insiders? You can get a copy at
Thanks for your reply.


Question: # OSC 633 ; E ; <CommandLine?> ; <Nonce?> ST $Result = "$([char]0x1b)]633;E;" $Result += $(__VSCode-Escape-Value $CommandLine) <del> $Result += ";$Nonce" </del> <ins> # Only send the nonce if the OS is not Windows 10 as it seems to echo to the terminal # sometimes if ($IsWindows10 -eq $false) { $Result += ";$Nonce" } </ins> $Result += "`a" <del> [Console]::Write($Result) </del> # Command executed # OSC 633 ; C ST

I am getting the same issue with VS Code Insiders (see atached video file). Version: 1.89.0-insider (user setup) Commit: Date: 2024-04-25T21:21:03.843Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0.
this was a regression in 1.89, so it was fine in 1.88
can you try again but make sure you recreate the terminal?
Thanks for your continued support on this. I can still reproduce on the latest version of insiders. Version: 1.89.0-insider (user setup) Commit: Date: 2024-04-26T00:56:34.034Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0.
Sincerely sorry for replying so late on this issue. I donwloaded and installed the latest VS Code Insiders. Unfortunately, this problem still happen. My PC Info is listed below. Commit: Date: 2024-04-26T00:56:34.034Z (1 day ago) Electron: 28.2.8 ElectronBuildld: Chromium: 120.0.6099.291 18.18.2 W8: 12.0.267.19-electron.0 OS: Windows NT x64 10.0. I found something interesting that while you changed the TERMINAL widget size just like maximized the VS Code window or dragged the left side of terminal list, the strange string will disappear. It seems to mean when you resized a terminal window to control how many characters in a line to show on screen, the string which was already output will be changed or even erased. I captured two new videos of this probloem. The first is the origin problem reproduced in the latest Insiders and the second is changing the window can erase this strange string. Hope these useful for solving this problem.
Reopening issue based on feedback above.


Question: # OSC 633 ; E ; <CommandLine?> ; <Nonce?> ST $Result = "$([char]0x1b)]633;E;" $Result += $(__VSCode-Escape-Value $CommandLine) <del> $Result += ";$Nonce" </del> <ins> # Only send the nonce if the OS is not Windows 10 as it seems to echo to the terminal # sometimes if ($IsWindows10 -eq $false) { $Result += ";$Nonce" } </ins> $Result += "`a" <del> [Console]::Write($Result) </del> # Command executed # OSC 633 ; C ST

i found issue the didnt occur on 1.87 but then could reproduce after upgrading to 1.89. Version: 1.87.1 (user setup) Commit: Date: 2024-03-06T00:21:36.258Z Electron: 27.3.2 ElectronBuildId: Chromium: 118.0.5993.159 18.17.1 V8: 11.8.172.18-electron.0 OS: WindowsNT x64 10.0. Version: 1.89.0 (user setup) Commit: Date: 2024-05-01T02:09:22.859Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: WindowsNT x64 10.0.
it isn't only when paths are long. in insider i'm seeing this with ohmyposh/poshgit in powershell terminal windows, even if i'm at the root of a drive where the path is only a few characters long (though probably related to whatever posh is doing?) ! i'm on win11, insiders 1.90.0
anyway in 1.89, as a workaround i replaced ~AppDataLocalProgramsMicrosoft VS CoderesourcesappoutvsworkbenchcontribterminalbrowsermediashellIntegration.ps1 with the shellIntegration.ps1 from commit and it resolves the issue.
Looks like the only remaining issue with Windows PowerShell (), the fix for that was only just merged yesterday:
- did you have some reliable steps to repro this?
in Windows PowerShell () run a lot command like a few times and ensure a GUID does not show up in the output.


Question: import { IMenuService, MenuId, IMenu, SubmenuItemAction, registerAction2, Action2, MenuItemAction, MenuRegistry } from 'vs/platform/actions/common/actions'; import { registerThemingParticipant, IThemeService } from 'vs/platform/theme/common/themeService'; import { MenuBarVisibility, getTitleBarStyle, IWindowOpenable, getMenuBarVisibility } from 'vs/platform/window/common/window'; <del> import { ContextKeyExpr, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; </del> <ins> import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; </ins> import { IAction, Action, SubmenuAction, Separator, IActionRunner, ActionRunner, WorkbenchActionExecutedEvent, WorkbenchActionExecutedClassification } from 'vs/base/common/actions'; import { addDisposableListener, Dimension, EventType } from 'vs/base/browser/dom'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';

In the recent Edit Sessions UX study we ran, we saw several participants searching in vain for the terminal item in the compact menu on , sometimes for minutes: ! Could we consider bringing it back? I'm guessing we intentionally suppressed it because terminals can't run in the web, but participants were simply confused that it wasn't there without connecting its absence to the fact that was a browser application. Additionally, RemoteHub contributes a welcome view for the terminal which is one of the primary ways we explain that users must continue working elsewhere to run or debug code, and the fact that the terminal is completely suppressed means one less opportunity for users to organically learn the limitations of through our welcome views. ! cc
Yes that is why it was removed. It doesn't do much but if it helps reduce confusion I guess it's worth it?
Not against the idea of having the terminal menu in web but in its current form it's useless and doesn't allow me to actually show a terminal pane, it just deadends all over https://user-
Reverting in
when I enable the menu again and fix up the terminal command, the run/customize task items give this on the scripts/code-web sample-folder: <img width="1229" alt="image" src="https://user-"That does actually run, not sure what it's doing exactly though. Is that a custom execution task running in the web worker ext host? If so you might need a context key on those menu items to only show them when a custom execution task is registered?
Unless I'm missing something, I believe only registered tasks will show there - if they're running when you select them, then I don't think there's an issue.
I think there's a built-in fake task when running code-web is what I mean, when run in actual then running it might do nothing. In that case it should hide similar to how we're changing the behavior of New Terminal depending on whether extension contributed profiles exist


Question: import * as platform from 'vs/base/common/platform'; import * as dom from 'vs/base/browser/dom'; import * as paths from 'vs/base/common/paths'; <ins> import * as os from 'os'; </ins> import { Event, Emitter } from 'vs/base/common/event'; import { WindowsShellHelper } from 'vs/workbench/parts/terminal/node/windowsShellHelper'; import { Terminal as XTermTerminal, ISearchOptions } from 'vscode-xterm';

VSCode Version: 1.17.2 OS Version: Win10 Steps to Reproduce: Terminal to bash <Ctrl+<Shift+<Pand type "run active file" command not work because path to the file is windows-style and <.is missing in front.
I would like to fix this.
Looks like the util was introduced in Windows


Question: ], "filenamePatterns": [ "tsconfig.*.json", <del> "tsconfig-*.json" </del> <ins> "jsconfig.*.json", "tsconfig-*.json", "jsconfig-*.json" </ins> ] } ],

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.47.2 (user setup) OS Version: Windows_NT x64 10.0. Steps to Reproduce: a file named in any directory. the file with VS Code. file is opened with the "JSON" language mode (instead of the expected "JSON with Comments" mode). Other file names, e.g. , are also opened in "JSON" language mode. In contrast, is opened in "JSON with Comments" mode even if the file name contains suffixes, e.g. . <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
This is easily fixable, look at the relevant code: Submit a PR
Thank you. Is a local build/test warranted, or would a direct PR suffice? Asking because I don't have a local build environment right now (and setting up one would take some time)


Question: 'Selection': nls.localize({ key: 'mSelection', comment: ['&& denotes a mnemonic'] }, "&&Selection"), 'View': nls.localize({ key: 'mView', comment: ['&& denotes a mnemonic'] }, "&&View"), 'Go': nls.localize({ key: 'mGoto', comment: ['&& denotes a mnemonic'] }, "&&Go"), <del> 'Terminal': nls.localize({ key: 'mTerminal', comment: ['&& denotes a mnemonic'] }, "&&Terminal"), </del> 'Debug': nls.localize({ key: 'mDebug', comment: ['&& denotes a mnemonic'] }, "&&Debug"), 'Tasks': nls.localize({ key: 'mTasks', comment: ['&& denotes a mnemonic'] }, "&&Tasks"), 'Help': nls.localize({ key: 'mHelp', comment: ['&& denotes a mnemonic'] }, "&&Help")

We should also take out the "Terminal" menu when using the custom menu: ! //cc
pushed a fix for this only to the release branch. What we do for master is up for discussion. please verify once the build is out in 30 mins. Thanks
Thanks I didn't know about this code.


Question: import { FileSystemProviderErrorCode, markAsFileSystemProviderError } from 'vs/platform/files/common/files'; import { RemoteAuthorityResolverErrorCode } from 'vs/platform/remote/common/remoteAuthorityResolver'; import { IRelativePatternDto } from 'vs/workbench/api/common/extHost.protocol'; <del> import { CellEditType, ICellPartialMetadataEdit, IDocumentMetadataEdit, isTextStreamMime } from 'vs/workbench/contrib/notebook/common/notebookCommon'; </del> <ins> import { CellEditType, ICellMetadataEdit, IDocumentMetadataEdit, isTextStreamMime } from 'vs/workbench/contrib/notebook/common/notebookCommon'; </ins> import { checkProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions'; import type * as vscode from 'vscode';

When updating cell metadata for a cell, users call which provides a function to alter the metadata of a cell. This uses defined in . When is called, the CellEditType is marked as , resulting in the metadata of the cell only being updated with the passed in data, rather than fully replaced. This makes it difficult to determine how to remove fields from a cell's metadata, a change needed for fixing . This can be worked around in this situation by setting the field to null. However, if a user calls , it appears that the functionality is a full replacement of initial metadata. There is a slight inconsistency here between the functionality of the two functions. Couple initial ideas: better document to reflect the behavior of . Add in a line stating that this is an iterative change, only altering the fields passed into this function - revise the functionality of either updateCell or updateNotebook metadata functions to align their behavior. This seems dangerous as it could likely break features leveraging this api. deprecate these functions, and rewrite two new ones with clearer functionality and documentation, based on updated needs from the notebook and jupyter teams
Analyzed all extensions using this API and most of them are already doing the right thing: clone the existing metadata, apply the change, and then call the API to update. However there are a few extensions didn't do so: there is one place where the metadata is not updated properly: PR . cc
<!-- 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!
what is the best way to verify this?
It's a bit complex I would love either or to help verify.


Question: } registerTerminalContribution(TerminalInitialHintContribution.ID, TerminalInitialHintContribution, false); class TerminalInitialHintWidget extends Disposable {

I've verified that I can see the terminal hint in insiders. Does this also need to be tested in stable?
Yes this needs a stable build as it checks quality. You could verify out of sources by setting quality to stable as well


Question: } registerTerminalContribution(TerminalInitialHintContribution.ID, TerminalInitialHintContribution, false); class TerminalInitialHintWidget extends Disposable {

Can this support right click to toggle the setting to hidden? !
right click shows our terminal context menu, perhaps we should just put it in there rather than adding a new one? !
this isn't a feature the others offer, thus not a bug IMO


Question: () => { }, (linkCandidates: string, cb: (result: { uri: URI, link: string, isDirectory: boolean } | undefined) => void) => { cb({ uri: URI.file('/'), link: linkCandidates[0], isDirectory: false }); <del> } </del> <ins> }, true </ins> ); // Write the text and wait for the parser to finish

Logging errors from the file service I notice that the terminal seems to stat the terminal prompt multiple times: ! Notice the at the end of the file path.
When you hover a line in the terminal links are resolved, one of the link providers gets confirmation on whether it's a file or directory and gives a high confidence link (underline shows when you hover without cmd) and on macOS we treat as a valid path character. This is how it's always worked. but we could cache this stat result with a TTL (10s?) so it doesn't spam so many stat calls and will be able to return the link faster on successive hovers.


Question: import { Action2, registerAction2 } from 'vs/platform/actions/common/actions'; import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { CATEGORIES } from 'vs/workbench/common/actions'; <del> import { getNotebookEditorFromEditorPane, ICellViewModel, ICommonCellViewModelLayoutChangeInfo, INotebookEditor, INotebookEditorContribution } from 'vs/workbench/contrib/notebook/browser/notebookBrowser'; </del> <ins> import { getNotebookEditorFromEditorPane, ICellViewModel, ICommonCellViewModelLayoutChangeInfo, INotebookDeltaCellStatusBarItems, INotebookEditor, INotebookEditorContribution } from 'vs/workbench/contrib/notebook/browser/notebookBrowser'; </ins> import { registerNotebookContribution } from 'vs/workbench/contrib/notebook/browser/notebookEditorExtensions'; import { NotebookEditorWidget } from 'vs/workbench/contrib/notebook/browser/notebookEditorWidget'; <ins> import { CellStatusbarAlignment, INotebookCellStatusBarItem } from 'vs/workbench/contrib/notebook/common/notebookCommon'; </ins> import { INotebookService } from 'vs/workbench/contrib/notebook/common/notebookService'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService';

Open Select the top cell and page down a few times Focus hits a cell that is longer than the viewport, which is maybe important, then the next page down moves to a higher cell
When a list item is larger than the viewport, and it's also the only element in the viewport, pressing page down will reveal to the previous element, this is because we did a here (the catch is, the last page element is also the first page element)


Question: * Must be disposed as soon as the model detaches from the editor. */ export class ActiveGhostTextController extends Disposable { <del> private readonly contextKeys = new GhostTextContextKeys(this.contextKeyService); </del> <ins> public readonly contextKeys = new GhostTextContextKeys(this.contextKeyService); </ins> public readonly model = this._register(this.instantiationService.createInstance(GhostTextModel, this.editor)); public readonly widget = this._register(this.instantiationService.createInstance(GhostTextWidget, this.editor, this.model));

<!-- 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. --When using Copilot, users would like to be able to only partially accept suggestion instead of the whole suggestion at once. The users demand either word by word or line by line completion. Desired behaviour: Press a predefined key and accept the whole suggestion. Use a predefined combination of 2 keys to accept the top line of the suggestion. (eg: For a suggestion of 3 lines, the user would need to press the combination 3 times to accept the whole suggestion). The prompt would not show the line already accepted.
this sounds to me like a UX problem. Is there a mock sketch for a potential solution here? Is there some other editor which already supports this? We can also discuss it in one of our UX weekly meetings.
I don’t have a mock sketch. No other editors are supporting this yet but it is a requested features. I wanted to get the discussion going (doing the same for the other editors) to understand the constraints around it as well.
Technically, I think this would be rather easy to implement. I'd love to hear some more UX discussion before we implement this thought. What key-binding do you have in mind?
do you have some UX designers on your team that would like to help here? Once we have some good ux proposal we can bring it in our UX weekly sync on Wednesday to start the discussion.
No I dont have a UX designer in my team. I ll see how i can come up with a suggestion and get back to you
This is similar to Solution for me was 'CMD + -' to accept a word at a time. Something similar here would be great.
Fish shell allows word-by-word completion using the <kbdAlt</kbd+ <kbd&;</kbdkey-combo, which—at least on macOS—is used system-wide for navigating text word-by-word. I notice that I keep trying to automatically use this key-combo, so big +1 from me. ( Did not realise this is the vscode repo.)
awesome idea. since you said this is low hanging maybe we assign to July for the initial investigation? What do you think?
This would be great.


Question: * Must be disposed as soon as the model detaches from the editor. */ export class ActiveGhostTextController extends Disposable { <del> private readonly contextKeys = new GhostTextContextKeys(this.contextKeyService); </del> <ins> public readonly contextKeys = new GhostTextContextKeys(this.contextKeyService); </ins> public readonly model = this._register(this.instantiationService.createInstance(GhostTextModel, this.editor)); public readonly widget = this._register(this.instantiationService.createInstance(GhostTextWidget, this.editor, this.model));

I am loving copilot so far, but this is my biggest UX gripe. Copilot's first suggestions in a new piece of code tend to only be accurate for the first few words. It tends to get much better only after more context is . Not a blocker, but it'd make it much easier to get started.
We did an initial investigation and this is not low hanging as I have initially commented above. Also, this milestone we have been mostly focusing on improving the merge editor. So this one will have to continue in September.
Had a sync with the VS folk and here's some very early thinking: When partial completion is accepted the ghost text should not change - we should use the cache. VS did multiple user studies and users always get shocked when the ghost text changes beneath them Undo is the user gesture to undo the last partial acceptance (this should work out of the box for us). Simple keybindings like word next navigation, and navigate to end of line should be used for partial word acceptance, and whole line acceptance. So same keybindnigs as and commands. Open questions (probably not for first version): How to make this keybindings discoverable Should we support the mouse? For example alt + mouse click to accept until the mouse click
I've also previously advocated for a way to accept only a single line out of the multi-line completion. I would strongly support doing this at a line granularity, rather than e.g. token granularity, since I ~never run into the case where I want to accept 'more than 0 tokens but less than a line' of a multi-line completion -- it's ~always either one line or maybe a couple, or the whole completion. Repurposing regular cursor movement commands for partial acceptance when a ghost text completion is open sounds error-prone. I see this kind of key-stealing behavior in some autocomplete systems (especially for ), but it's always optional, since it's really easy to interfere with muscle memory and frustrate people. This would apply to text navigation commands for sure, and it would be even worse in the middle-of-the-line completion case (which would also be wonky if we want an 'accept a single token' shortcut).
Hi! A use case for per-word completion: comment/natural language completion. I want this almost every time that copilot gives me a comment suggestion.


Question: * Must be disposed as soon as the model detaches from the editor. */ export class ActiveGhostTextController extends Disposable { <del> private readonly contextKeys = new GhostTextContextKeys(this.contextKeyService); </del> <ins> public readonly contextKeys = new GhostTextContextKeys(this.contextKeyService); </ins> public readonly model = this._register(this.instantiationService.createInstance(GhostTextModel, this.editor)); public readonly widget = this._register(this.instantiationService.createInstance(GhostTextWidget, this.editor, this.model));

To make sure I understand the shape of the discussion, I think three issues are separable here: 1) whether to offer partial completion; 2) at what granularities (here the use case and example-based analysis is most relevant, and feed back into question 1); 3) if doing it, what default keybindings at these levels to provide so as not to hijack muscle memory (but possibly still utilize it in a parallel modifier key universe)? Is that right, and if so at what stage does the team currently see the conversation? For 3), in Lisp-y language tools, Paredit's keybindings might be a decent template too: in some sense what we are doing here is structurally selecting part of what is an (falling back on a as above) structure before "acceptance" (which is already well-understood as a result of by default keybinding users). That would be a more elaborate form of the partial acceptance, though, requiring a language-sensitive parse, so definitely not low hanging fruit.
It's a marketing problem, they market the code you accept as efficiency. If they would also add the 97% of the code you have to remove carefully again it wouldn't be that a nice metric. I believe we need to adapt the plugins on our own or write a plugin watchdog, something that monitors completions, immediately removes them and offers a word-by-word insert of the code.
A use case from He wants to accept the first couple of words here (but not the entire completion): ! ... ~~ A use case for line based acceptance: !
For jetbrains IDE's you can use my plugin () You press CTRL+ALT+D and it will complete the sentence word by word. So in your example you press it 3 times (you'll be after "to", then you type "have a per" and you can continue with the shortcut 3 more times on the new completion text. Or just "TAB" if all is good after your intervention, it doesn't block you from using the default behavior of copilot Though the plugin only works on IntelliJ IDE's (you need to install 'LivePlugin' and 'Stewardess')
I love this suggestion. I encounter the scenario of wanting to only accept a suggestion partially a lot.
would you prefer word-by-word partial acceptance or line-by-line?


Question: * Must be disposed as soon as the model detaches from the editor. */ export class ActiveGhostTextController extends Disposable { <del> private readonly contextKeys = new GhostTextContextKeys(this.contextKeyService); </del> <ins> public readonly contextKeys = new GhostTextContextKeys(this.contextKeyService); </ins> public readonly model = this._register(this.instantiationService.createInstance(GhostTextModel, this.editor)); public readonly widget = this._register(this.instantiationService.createInstance(GhostTextWidget, this.editor, this.model));

It would be awesome to be able to do both, but if only one of the two is possible, then I would prefer word-by-word.
There is no reason why only one would be doable. A line based completion is a couple of lines of code. Word based completion is half a page if you want to do the word separation smart, or an abstract if it's dumb.
First iteration has been implemented in


Question: "makefile" ], "extensions": [ <ins> ".mak", </ins> ".mk" ], "filenames": [

<!-- 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. --VS Code currently associates the extension with the Make language. is another common file extension for files included by s. It's associated with Make by , i.e. files are recognized by , and there are a few dozen public . VS Code should recognize this extension automatically.
could you point me to some documentation about please?
Hi I've updated the issue description with some additional information. Notably, , which I consider to be a fairly canonical source. I've not any of the other file extensions recognized by GitHub Linguist for Make, as I've not seen them in use. Anecdotally, my employer has been using the extension internally since at least 2001.
Here are some additional examples which demonstrate inclusion of files by s:
That's good enough for me, thank you!
/verified


Question: "tas-client-umd": "0.1.6", "vscode-oniguruma": "1.6.1", "vscode-textmate": "7.0.1", <del> "xterm": "5.0.0-beta.32", "xterm-addon-canvas": "0.2.0-beta.15", "xterm-addon-search": "0.10.0-beta.3", "xterm-addon-unicode11": "0.4.0-beta.3", "xterm-addon-webgl": "0.13.0-beta.32" </del> <ins> "xterm": "5.0.0-beta.35", "xterm-addon-canvas": "0.2.0-beta.17", "xterm-addon-search": "0.10.0-beta.5", "xterm-addon-unicode11": "0.4.0-beta.5", "xterm-addon-webgl": "0.13.0-beta.35" </ins> } }

Repro: folder test task, wait to finish another terminal test task again <img width="1344" alt="Screen Shot 2022-08-07 at 11 40 14 am" src="https://user-"
In repo, ctrl+shift+b is focusing the terminal: !
Reproduces on webgl only
Guessing it's related to canvas recreation:
Yep: !


Question: return; } <del> if (this.size.width >= SearchView.WIDE_VIEW_SIZE) { dom.addClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); } else { dom.removeClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); } </del> <ins> const actionsPosition = this.configurationService.getValue<ISearchConfigurationProperties>('search').actionsPosition; const useWideLayout = this.size.width >= SearchView.WIDE_VIEW_SIZE && actionsPosition === 'auto'; dom.toggleClass(this.getContainer(), SearchView.WIDE_CLASS_NAME, useWideLayout); </ins> this.searchWidget.setWidth(this.size.width - 28 /* container margin */);

<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.29-insider OS Version: Windows 10 Version 1809 (OS Build .1000) Steps to Reproduce: Find in files and search for something that will return results over different result lines Badge and Action button (Dismiss) are on the left (aligned to the end of result text) I'm expecting that Dismiss action will have fixed horizontal position (on the right side) that will allow me to easily dismiss several results entries. With current position at the end of result text I have to constantly move mouse to hit Dismiss button. In stable version both count badge (for file) and Dismiss action were aligned at the right side of the viewlet which was convenient. At this moment it is hard to filter out result entries because texts have different length and button shifts for each line. I've found which says that button should always stay on the right side, however this isn't case in v1.28.2 independently from viewlet width (both badge and actions are on the right side). <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <details<summaryScreenshot</summary<div! </div</details
I guess this only applies to the search panel?
Yes, I observe issue in Search panel. UPD. Checked - same behavior when Search: Location is set to sidebar.
You should see the actions on the right when search is narrow, and on the left when it's somewhat wide. The reason is that when the actions are on the right and the text is aligned to the left, it can be hard to associate the two, so it seems more user-friendly to put the actions closer to the actual result. Maybe the threshold could be tweaked, but it doesn't feel good to click an action on the opposite side of the monitor from the actual text. Does this match what you see?
Yes, that match what I see, but makes it harder to use Dismiss action with mouse. For badge with results count - it is good position, since it is visible without hover. On the other hands actions are only visible on hover, when background can clearly indicate what line will be dismissed.


Question: return; } <del> if (this.size.width >= SearchView.WIDE_VIEW_SIZE) { dom.addClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); } else { dom.removeClass(this.getContainer(), SearchView.WIDE_CLASS_NAME); } </del> <ins> const actionsPosition = this.configurationService.getValue<ISearchConfigurationProperties>('search').actionsPosition; const useWideLayout = this.size.width >= SearchView.WIDE_VIEW_SIZE && actionsPosition === 'auto'; dom.toggleClass(this.getContainer(), SearchView.WIDE_CLASS_NAME, useWideLayout); </ins> this.searchWidget.setWidth(this.size.width - 28 /* container margin */);

Previously (September and numerous builds before) I was able to put mouse over X and just click (even without looking) several times to remove unnecessary lines. Now it takes more time/attention to do it with mouse, and if next line after dismissed has longer text - it is easy to open file instead of dismissing it. Open editors view (Close editor button), Source control (action buttons for files), Extensions (Manage button) - have static position of actions that are not changed with sidebar width. My cases are 23" monitor with 1920x1080 and Surface Pro 3. Never had problems when action were on the right side. Users with 4k 30+" will have to snipe for X too.
Yes it was broken for a few months, but this was the behavior from before it was broken I see your point but I will leave this open to think about it
thanks!
Putting the dismiss button to the right would also make it less likley that someone presses it by accident which I just did. The middle of a search result might be just above/below the end of another so that clicking just a bit above/below where you intended could lead you to remove the other search result.
Issue 1) The dismiss buttons are too close to the actual text of the search result making it very easy to accidentally dismiss something. Issue 2) The dismiss buttons are invisible until hover/focus. So if you had your focus on another panel or another window and then click on a search result to focus it, it's too easy to click on an invisible button and accidentally dismiss a search result because of issue 1.
Trying to decide whether we should just always right align... but it seems weird to me to have the X really far away from the row content in some cases. Anyway, if someone wants to add a setting to configure this, I would take that PR.


Question: import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; import { IMessageService, Severity } from 'vs/platform/message/common/message'; import product from 'vs/platform/node/product'; <ins> import IPackageConfiguration from 'vs/platform/node/package'; </ins> function ignore<T>(code: string, value: T = null): (err: any) => TPromise<T> { return err => err.code === code ? TPromise.as<T>(value) : TPromise.wrapError<T>(err);

VSCode Version: 1.19.0 OS Version: openSUSE Tumbleweed (Linux) Steps to Reproduce: "version" in no entry, but should As enhancement it would be nice if the show-all-command would have an entry to display the Visual Studio Code version (I know that I could pass the flag on the command-line). Such a feature exists e.g. in Emacs, where it is possible to enter and get the current Emacs version displayed.
I'd like to take this up. Any pointers? far I though to extend the current to execute and show the result? Or is there a place where we store version globally? we open up the and show the result of there?
No need to execute , that information can be obtained by requiring . Output is good, but a is better.
raised a PR . Currently in the action under . Any better section to add this in?


Question: } const extensionsToUninstall: UninstallExtensionInfo[] = [{ extension: extension.local }]; <del> const dependents: IExtension[] = []; for (const local of this.local) { if (local === extension) { continue; </del> <ins> for (const packExtension of this.getAllPackExtensionsToUninstall(extension.local, this.local)) { if (!extensionsToUninstall.some(e => areSameExtensions(e.extension.identifier, packExtension.identifier))) { extensionsToUninstall.push({ extension: packExtension }); </ins> } <del> if (!local.local) { continue; } if (local.dependencies.length === 0) { continue; } if (extension.extensionPack.some(id => areSameExtensions({ id }, local.identifier))) { continue; } if (dependents.some(d => d.extensionPack.some(id => areSameExtensions({ id }, local.identifier)))) { continue; } if (local.dependencies.some(dep => areSameExtensions(extension.identifier, { id: dep }))) { dependents.push(local); extensionsToUninstall.push({ extension: local.local }); </del> <ins> } const dependents: IExtension[] = []; for (const { extension } of extensionsToUninstall) { for (const local of this.local) { if (!local.local) { continue; } if (areSameExtensions(local.identifier, extension.identifier)) { continue; } if (local.dependencies.length === 0) { continue; } if (extension.manifest.extensionPack?.some(id => areSameExtensions({ id }, local.identifier))) { continue; } if (dependents.some(d => d.extensionPack.some(id => areSameExtensions({ id }, local.identifier)))) { continue; } if (local.dependencies.some(dep => areSameExtensions(extension.identifier, { id: dep }))) { dependents.push(local); extensionsToUninstall.push({ extension: local.local }); } </ins> } }

From ! It took me a while to be able to use Copilot again. Here are the steps I took (also captured in the attached video): Reloaded VS Code Clicked "Show Extension" from the toast above, I'm brought to Copilot Chat extension in Extensions view Clicked "Uninstall" for Chat extension, nothing would happen Decided to instead search Copilot in Extensions view (thought maybe I was having issues by trying to uninstall Chat without touching Completions, though I would've expected a toast telling me that) After searching, the Copilot extensions automatically start to update Need to restart just Copilot (not chat), so I click to restart I try to uninstall Copilot Chat again, but nothing happens again Reload VS Code again Search for Copilot again in the Extensions view I can now uninstall Copilot (though I initiated the uninstall from the Copilot extension rather than Chat)
Verification steps are in


Question: // Only consider requests for watching that are not // a child of an existing request path to prevent <del> // duplication. </del> <ins> // duplication. In addition, drop any request where // everything is excluded (via `**` glob). </ins> // // However, allow explicit requests to watch folders // that are symbolic links because the Parcel watcher // does not allow to recursively watch symbolic links. for (const request of requests) { <ins> if (request.excludes.includes(GLOBSTAR)) { continue; // path is ignored entirely (via `**` glob exclude) } </ins> if (requestTrie.findSubstr(request.path)) { try { const realpath = realpathSync(request.path);

I'm using to mount a remote Azure Blob storage container into my local file system with FUSE. Once I open up that mount point (say ) in VSCode, network traffic immediately goes up to around 100 kb/s. In the storage provider's API logs I can see many thousand operation requests per second to files located at any hierarchy level inside my storage container, but also files that do not exists (e.g. ). I was assuming this is related to VSCode attempting to watch these files for changes, but can't use inotify on the remote share, so falls back to polling the files with a crazy frequency. However, applying the following settings didn't have any effect: Same issue occurs with or AWS S3 + and I presume also for sshfs, davfs2_ and the like. When killing the sub-process, I can observe a short decline in network usage until the process almost immediately restarts.
In this case I wonder if we should simply not install the file watcher at all if a setting is configured to disable it. I see no other workaround other than maybe addressing this in our external file watcher where we pass on these exclude rules.
Verification: run with and filter dev tools console to to see only file watcher related output configure to have an entry open a folder verify that in the output for the watcher you see no indication that the folder is being watched compare this to how the output looks like when you not have such a setting
<!-- 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 { EDITOR_FONT_DEFAULTS } from 'vs/editor/common/config/editorOptions'; import { DEFAULT_LETTER_SPACING, DEFAULT_LINE_HEIGHT, TerminalCursorStyle, DEFAULT_COMMANDS_TO_SKIP_SHELL, SUGGESTIONS_FONT_WEIGHT, MINIMUM_FONT_WEIGHT, MAXIMUM_FONT_WEIGHT, DEFAULT_LOCAL_ECHO_EXCLUDE } from 'vs/workbench/contrib/terminal/common/terminal'; import { isMacintosh, isWindows, Platform } from 'vs/base/common/platform'; <ins> import { IJSONSchema } from 'vs/base/common/jsonSchema'; const terminalProfileSchema: IJSONSchema = { type: 'object', required: ['path'], properties: { path: { description: localize('terminalProfile.path', 'A single path to a shell executable or an array of paths that will be used as fallbacks when one fails.'), type: ['string', 'array'], items: { type: 'string' } }, args: { description: localize('terminalProfile.args', 'An optional set of arguments to run the shell executable with.'), type: 'array', items: { type: 'string' } } } }; </ins> export const terminalConfiguration: IConfigurationNode = { id: 'terminal',

Testing I'm wondering if there's a way to add a schema so that users can get descriptions on the various fields they can use while creating a new profile. I also realize that the keys represent profile names, so that might make it harder to validate/provide descriptions for them. I guess the description for the keys would go under in that case, though there already is a long description for that field.
this would be nice, looked into it a bit but we're not sure how to set it up for such an object. We essentially want to enforce something like
would you be the right person to ask about schemas for settings?
You can use the property to specify the shape of all properties regardless of the key. An example is the setting: If there are constraints on the key, you can use :


Question: if (uri.path[0] === '/') { const root = vscode.workspace.getWorkspaceFolder(this.currentDocument!); if (root) { <del> const fileUri = vscode.Uri.joinPath(root.uri, uri.fsPath); uri = fileUri.with({ scheme: uri.scheme, </del> <ins> const fileUri = vscode.Uri.joinPath(root.uri, uri.fsPath).with({ </ins> fragment: uri.fragment, query: uri.query, }); <ins> // Ensure fileUri is relative by prepending `/` so that it uses the <base> element URI // when resolving the absolute URL uri = vscode.Uri.parse('markdown-link:' + '/' + fileUri.toString(true).replace(/^S+?:/, fileUri.scheme)); </ins> } }

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.51.1 OS Version: on both Fedora 32 and Linux Mint 20 Steps to Reproduce: clone issuesvscode1400markdownPreviewRootRelativeImg . doesn't display in ! <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes This issue had already occurred in past: In the latest insiders vs-code build - it's not fixed as well.
I took a look at this and found that the issue is that the resource vscode-webview-resource uri is invalid, is missing before I was looking how to fix it but I can't find the place where the gets mapped to a can you give me some code pointers?
here is my quick and dirty fix for this issue:
Start by looking in the markdown link normalizer I believe this is passed the raw image links and tries to transform them into url that VS Code can render in the preview
Thanks and after spending some more time looking at this I think I found a proper fix for it


Question: } const srcDir = path.join(__dirname, 'src'); <del> const outDir = path.join(outputRoot, 'out'); </del> <ins> const outDir = path.join(outputRoot, 'notebook-out'); </ins> async function build() { await esbuild.build({

Type: <bBug</bipynb notebook bug In dev tools, see: VS Code version: Code - Insiders 1.70.0-insider (Universal) (, 2022-07-26T05:17:37.262Z) OS version: Darwin x64 21.5.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Looks like the directory is excluded from publish: You likely want to have the notebook code go to a different directory, such as instead of the dir
Just changed that inside esbuild, didn't realize that out wasn't included. I had been having an issue with needing to run while using OSS, could that be related? I'll make a PR to adjust and


Question: const items = new Set<ExplorerItem>(this.view.getContext(respectMultiSelection)); items.forEach(item => { <del> if (respectMultiSelection && this.view?.isItemCollapsed(item) && item.nestedChildren) { for (const child of item.nestedChildren) { items.add(child); </del> <ins> try { if (respectMultiSelection && this.view?.isItemCollapsed(item) && item.nestedChildren) { for (const child of item.nestedChildren) { items.add(child); } </ins> } <ins> } catch { // We will error out trying to resolve collapsed nodes that have not yet been resolved. // So we catch and ignore them in the multiSelect context return; </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/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.70.0 (Universal) OS Version: Darwin x64 19.6.0 Steps to Reproduce: to delete a file with nested files When you right click and hit "delete", vscode does nothing and the file and its nested files remain. You must open the parent and delete each nested file and then you are able to delete the parent file.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.70.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Also, I think it would be a good idea for an option to rename all nested files when the parent is renamed.
based on the setting description for file nesting, I expected a file I created in a folder to be nested under the that is in that same folder. Is that the wrong expectation here?
That is correct. I'm seeing that here <img width="457" alt="image" src="https://user-"


Question: const items = new Set<ExplorerItem>(this.view.getContext(respectMultiSelection)); items.forEach(item => { <del> if (respectMultiSelection && this.view?.isItemCollapsed(item) && item.nestedChildren) { for (const child of item.nestedChildren) { items.add(child); </del> <ins> try { if (respectMultiSelection && this.view?.isItemCollapsed(item) && item.nestedChildren) { for (const child of item.nestedChildren) { items.add(child); } </ins> } <ins> } catch { // We will error out trying to resolve collapsed nodes that have not yet been resolved. // So we catch and ignore them in the multiSelect context return; </ins> } });

From : Error: TreeError [FileExplorer] Data tree node not found: ExplorerItem:
Any idea here because there's no explorer stack involved this might be a tree issue
You can try this. Enable fileNesting and select a file with nesting, control+c, the error would appear. The chosen file should be in preview.
third line in the stack frame:
This also happens when you try to open a file with enter or space keys. ! Pressing delete instead of enter will display the same error. (related issue: ) Once the nested files are expanded, this error does not occur until the next window reload, perhaps because the node is to the tree.
Thanks for the repro


Question: /** * Stores cell metadata. */ <del> metadata?: Partial<nbformat.ICellMetadata>; </del> <ins> metadata?: Partial<nbformat.ICellMetadata> & { vscode?: { languageId?: string } }; </ins> }

Create an ipynb file (with one Python cell) Save this Verify the entry exists in time line Change the language of the cell to Save this Verify we have an entry Click that item Bug On the left we need On the right there's no such entry in metadata This is incorrect. The ipynb has the above metadata. What seems to be happening is When the language changes, We serialize the ipynb and JSon contains the metadata However the model is not updated with corresponding changes to the ipynb file I.e. model change triggered =ipynb serialize to JSON =Json contains new metadtaa not in model =Missing step is to update the model again If we implement the last step, we could always end up in an infinite loop, Perhaps we should first update the model with metadata when ever we detect chagnes in the model before the save event. E.g. as part of pre-Save (onDidChangeNotebookDocument &/or onWillSaveNotebookDocument) This way, model will always be accurate and upto date when ipynb is serialized.
Easier way to explain the bug Create an ipynb file (with one Python cell) Save this Change the language of the cell to Save this The cell metadata will not contain the new metadata that exists in the ipynb JSON file. (model is not in sync with ipynb json)
Suggested Solution Perform model updates when we're about to save (or when we detect changes to model) When saving, ensure we save the metadata as is, without generating any new content I.e. JSON.stringify the metadata.
/cc
Considering that a serialize operation should not have side effects (ideally), enforcing a "save participant" from ipynb extension makes very good sense to me. We can leverage which support additional async operations, like how we handle attachment clearnup
For such critical metadata change, we might want to handle both auto save and manual save as we want the json and model to be always in sync.
Another simple repro step Create a notebook, and save this Add a new cell The latest entry in timeline will be However there's a difference, one has and the other (current model state) does not have any Again, model does not contain metadta (as this is a new cell) and ipynb JSON contains metadata when serialized.


Question: /** * Stores cell metadata. */ <del> metadata?: Partial<nbformat.ICellMetadata>; </del> <ins> metadata?: Partial<nbformat.ICellMetadata> & { vscode?: { languageId?: string } }; </ins> }

<details<summaryInternal Notes</summaryHere's the work flow Add a cell A change event is triggered, undo redo stack is updated Last undo redo is User hits save button Working copy starts to handle the save operation Save participants start We add a save participant and update the model via a work space edit Now a new change event is triggered This results in a whole new undo redo stack The latest (last) undo redo item is Save participants done Working copy keeps track of the last as the entry for Problems Time line does not include , time line shows only I guess this is correct, However from a users perspective, the labels are never going to be meaningful as we'd always say . </details


Question: import { ServicesAccessor } from '../../../platform/instantiation/common/instantiation.js'; import { KeybindingWeight } from '../../../platform/keybinding/common/keybindingsRegistry.js'; import { Categories } from '../../../platform/action/common/actionCommonCategories.js'; <ins> import { ICommandService } from '../../../platform/commands/common/commands.js'; import { IAccessibilityService } from '../../../platform/accessibility/common/accessibility.js'; </ins> class KeybindingsReferenceAction extends Action2 {

Screen reader and low vision (or other accessibility) users often use our menu items to discover things. We should include a menu item to open the getting started walkthrough under .
and WDYT?
Seems reasonable to me. The title suggests that it could also be a walkthrough, or part of an existing walkthrough. The tradeoff there would be discoverability.
I see an error in the console when opening accessible view from that welcome experience:
Cc
Related:


Question: menu: { id: MenuId.MenubarAppearanceMenu, group: '4_editor', <del> order: 3 </del> <ins> order: 4 </ins> } }); }

Currently sticky scroll is grouped with the breadcrumbs in the context menu which appears on right click on sticky scroll. Henceforth it should be grouped with it too in the menu. cc


Question: import { AbstractURLService } from 'vs/platform/url/common/urlService'; import { Event } from 'vs/base/common/event'; import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService'; <ins> import { IOpenerService, matchesScheme } from 'vs/platform/opener/common/opener'; import { IProductService } from 'vs/platform/product/common/productService'; </ins> export interface IURLCallbackProvider {

Testing scenario in Codespaces web UI Opening a Python file in a fresh codespace Web UI shows a notification: ! Clicking on Yes shows ! VSCode desktop is opened Python calls VSCode should intercept that URI and handle it by directly opening the extensions viewlet and not make an external call
Unassigning myself as it seems url handling related. Please let me know if there is something I have to do in extensions area.
What do you think? Should we perform the fast-track to handle these URIs internally?
I can't repro this in desktop Code. I can repro in web
I couldn't get the Python extension to show that dialog again, so I verified that with my own extension that does That code is inspired by That code works and, on codespaces now directly opens the extension viewlet. -verified However, if you do '();' it opens the external open dialog again. In the first case the URL has a relative path (), in the second one an absolute (). Relative paths are kind of rare. Is that all as designed? Or would it be better to also accept the absolute path?
Paths are not required to be rooted in , or even separated by characters: they can be arbitrary strings within the allowed character set. We've long defined extension URIs to simply be . Not sure if you've seen the format anywhere in our docs? If so we gotta fix it.
I will have to revert the fix for this, since it broke existing functionality. With the fix, a web extension can no longer actually open a URI in desktop Code. When looking at the breakage, I no longer this this is true. If is invoked, it should always be handled externally, never internally, unless it's absolutely obvious (running in Desktop). The right way to move forward here is to have the Python extension run the instead of calling .


Question: "license": "MIT", "description": "Dependencies shared by all extensions", "dependencies": { <del> "typescript": "5.4.3" </del> <ins> "typescript": "5.4.4" </ins> }, "scripts": { "postinstall": "node ./postinstall.mjs"

Tracks updating the TS 5.4.4. recovery build
Actually may wait for TS 5.4.5 with a fix for auto imports
Merging 5.4.4 for now


Question: width: width, height: editorHeight }, <ins> enableDropIntoEditor: true, </ins> // overflowWidgetsDomNode: this.notebookEditor.getOverflowContainerDomNode() }, { contributions: this.notebookEditor.creationOptions.cellEditorContributions

Tracks enabling the new drop into editor features () for code cells in notebooks Was disabled as we were incorrectly showing the drop into indicator while dragging cells within a notebook
Actually looks like may have the most experience in this area. I'll submit a PR shortly that may fix the issue but will need your help verifying it


Question: } class LanguageSelection implements ILanguageSelection { <del> private readonly _value: IObservable<string>; public readonly onDidChange: Event<string>; constructor(onDidChangeLanguages: Event<void>, selector: () => string) { this._value = observableFromEvent(this, onDidChangeLanguages, () => selector()); this.onDidChange = Event.fromObservable(this._value); </del> <ins> public languageId: string; private _listener: IDisposable | null = null; private _emitter: Emitter<string> | null = null; constructor( private readonly _onDidChangeLanguages: Event<void>, private readonly _selector: () => string ) { this.languageId = this._selector(); } private _dispose(): void { if (this._listener) { this._listener.dispose(); this._listener = null; } if (this._emitter) { this._emitter.dispose(); this._emitter = null; } </ins> } <del> public get languageId(): string { return this._value.get(); } </del> <ins> public get onDidChange(): Event<string> { if (!this._listener) { this._listener = this._onDidChangeLanguages(() => this._evaluate()); } if (!this._emitter) { this._emitter = new Emitter<string>({ onDidRemoveLastListener: () => { this._dispose(); } }); } return this._emitter.event; } private _evaluate(): void { const languageId = this._selector(); if (languageId === this.languageId) { // no change return; } this.languageId = languageId; this._emitter?.fire(this.languageId); } </ins> }

Markdown file on Plain Text on startup: ! Same with TS in another window: ! Reproduces by reloading the window. Not sure who the right person is for this Version: 1.93.0-insider (user setup) Commit: Date: 2024-08-08T05:03:51.428Z Electron: 30.1.2 ElectronBuildId: Chromium: 124.0.6367.243 20.14.0 V8: 12.4.254.20-electron.0 OS: Windows_NT x64 10.0.
On it


Question: private readonly _onSeparatorButtonTriggered = new Emitter<IQuickPickSeparatorButtonEvent>(); onSeparatorButtonTriggered = this._onSeparatorButtonTriggered.event; <ins> private readonly _onTriggerEmptySelectionOrFocus = new Emitter<ITreeEvent<IQuickPickElement | null>>(); </ins> private readonly _container: HTMLElement; private readonly _tree: WorkbenchObjectTree<IQuickPickElement, void>; private readonly _separatorRenderer: QuickPickSeparatorElementRenderer;

<!-- 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.88.0-insider OS Version: MacOs Steps to Reproduce: In the python and python debugger extension we use the QuickPick, we add an option to accept the value in the input. It was working in stable, but in insiders it doesn't work. Steps: a picker some text in the input box, make sure that it match with one option at first. enter, to select the text in the input box. last value that appeared in the list is the one that is selected. You can check the implementation . I was debugging the code a little bit, and found that in stable when you press enter, the function is called. But in insider when you press enter instead of call that function, the function is called.
Verification: Install Python extension Open a python workspace with no Open the debug pane and click the "create a file" Choose Python Debugger Choose Django Type ONLY 'b' and notice that "Browse Files" becomes the active item Type then, 'z' and notice that the list is empty hit ENTER and notice that the gets created with "bz" in the
The fix fully resolves as well!
Resolves my issue as well.


Question: dependsOn: [] jobs: - ${{ if or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true)) }}: <del> - job: Linux </del> <ins> - job: LinuxX64 </ins> pool: vscode-1es-linux steps: - template: ./linux/cli-build-linux.yml

The stage is now a bottleneck to having the platform specific stages run: ! Each job compiles each target serially. We could further parallelize all targets across different jobs. !


Question: resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.1.tgz#34bdc31727a1889198855913db2f270ace6d7bf8" integrity sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw== <del> "@xterm/addon-canvas@0.6.0-beta.19": version "0.6.0-beta.19" resolved "https://registry.yarnpkg.com/@xterm/addon-canvas/-/addon-canvas-0.6.0-beta.19.tgz#5f8896b884d2a558a28eb197f7f4766ac37d33a0" integrity sha512-i+26DqYgI/PZViCiEK4Vu8c4Fi5J0i+TwnFfBDLcumHH07Al1uRd5BRaVg/i93vk6bRyEIOiOiIToXSf37ov/w== "@xterm/addon-image@0.7.0-beta.17": version "0.7.0-beta.17" resolved "https://registry.yarnpkg.com/@xterm/addon-image/-/addon-image-0.7.0-beta.17.tgz#bc3d6f09619ef1f3b68c7009d29ee14003a26b30" integrity sha512-nnHVoYVoh+CpT4FQN/ALKesr96YvdVNUzQRQo4aAARUKst5DFaHQX9Yn/qLDN5s0WCqI3bgIEo8UAakfHITumA== "@xterm/addon-search@0.14.0-beta.19": version "0.14.0-beta.19" resolved "https://registry.yarnpkg.com/@xterm/addon-search/-/addon-search-0.14.0-beta.19.tgz#2bc13378765f0d5e72d9bcb7887e23eee31de7eb" integrity sha512-Y1pPdtdZj0xRQ/Is4jdO0dyZe+uM6AhWi3v2U4sdJmhz2mxVe/HAKBHkx6tyfMtX9ge/9ZYajd/Sy8rkjIFdmQ== "@xterm/addon-serialize@0.12.0-beta.19": version "0.12.0-beta.19" resolved "https://registry.yarnpkg.com/@xterm/addon-serialize/-/addon-serialize-0.12.0-beta.19.tgz#465a9525a420b8f0d12eed419d6e051f9a887814" integrity sha512-3v6a4/4gxAwoyJsBp6vJBofymgTH8paSHl8K2uQfFuLosOavNyCtrNPiNne7tpppK6t8zCDJ/mVrXNptz4Mlsg== "@xterm/addon-unicode11@0.7.0-beta.19": version "0.7.0-beta.19" resolved "https://registry.yarnpkg.com/@xterm/addon-unicode11/-/addon-unicode11-0.7.0-beta.19.tgz#0e81775f84346a97c657fb4cd7702de1cfe4b83f" integrity sha512-U5O+JLklO4qtptWAWUw14QRWdalLl0bFAQxLKuTtDmusgfn33pNDRD6RH3R+IHhO2e6svAwrw27OcCEcdn0AJQ== "@xterm/addon-webgl@0.17.0-beta.19": version "0.17.0-beta.19" resolved "https://registry.yarnpkg.com/@xterm/addon-webgl/-/addon-webgl-0.17.0-beta.19.tgz#fefe44c20b4d4d070363e03ae33087505a88807e" integrity sha512-L59l9Cd4KTMCwnw2HPi/cUgH4iL5dK7VERK/wSTWEGYMOi3WGTmXqsg8ftfR2jFC9P33eqYNVJDmbr+pF0XsDg== "@xterm/headless@5.4.0-beta.19": version "5.4.0-beta.19" resolved "https://registry.yarnpkg.com/@xterm/headless/-/headless-5.4.0-beta.19.tgz#e84a7cebda581273032f82fc8c53941204bc7f93" integrity sha512-y7Ne2G/Tgn6bHr14eBHqcq5gGFFCHKGBzmXTExT1Z4Fb6ofPACPWAo60S5B6uh49W4Ts13gQYZ5C0XEvHud0Eg== "@xterm/xterm@5.4.0-beta.19": version "5.4.0-beta.19" resolved "https://registry.yarnpkg.com/@xterm/xterm/-/xterm-5.4.0-beta.19.tgz#5c9c5cacd0cf2a0719086ce03ab035480b1cfd96" integrity sha512-Rx/Y/y3YGjpiW6IUq8UlE6qrTYuUlEfpVg/BS6kIPr8/cUOchE1fsKWCMxz/u2bIyQyEovRi892iYcQJ4scstw== </del> <ins> "@xterm/addon-canvas@0.6.0-beta.20": version "0.6.0-beta.20" resolved "https://registry.yarnpkg.com/@xterm/addon-canvas/-/addon-canvas-0.6.0-beta.20.tgz#078dddef70caf880b2cb121fdda37d301fc13156" integrity sha512-tHhsuqElE7LNiDJPbZzgVpmbcG2Dk6i2vh1EI+DzSByUWScDqLoeJbVPE5Xd2UW2garo24lxErpnIAlsytcA3A== "@xterm/addon-image@0.7.0-beta.18": version "0.7.0-beta.18" resolved "https://registry.yarnpkg.com/@xterm/addon-image/-/addon-image-0.7.0-beta.18.tgz#588ea2d0841cff48c63bde1bfcdf56e9494dc6af" integrity sha512-+HQ+IBmHPelzjRJ5zO3XkjbeQNr2Zrf5wAlbPhy4EGSD0mDCqHJSfzZ8wKrhx7t8qpfiA8eTpWu/M76WsEnlnA== "@xterm/addon-search@0.14.0-beta.20": version "0.14.0-beta.20" resolved "https://registry.yarnpkg.com/@xterm/addon-search/-/addon-search-0.14.0-beta.20.tgz#cac366b1be1eb02cf9fe9537933f26f227d030c8" integrity sha512-1LOL/OzWSrCBpndiBeeE2S1rxtKKgU1ucYFSG3P68W0J4VQz/Ksci1BgDKsgspj9jzpsGhdql3zwa5WEM7n4Pg== "@xterm/addon-serialize@0.12.0-beta.20": version "0.12.0-beta.20" resolved "https://registry.yarnpkg.com/@xterm/addon-serialize/-/addon-serialize-0.12.0-beta.20.tgz#5fe126194ff4dc466b92a0946e081e039a14ad21" integrity sha512-GdRCQDjLyVNBxCFnhfCWsMmuqv2PryUkOaNl4z5MqB5lBUkiEnRNY0u/s5f34+2zrijp3h0O/f9JDLW4gSUQgw== "@xterm/addon-unicode11@0.7.0-beta.20": version "0.7.0-beta.20" resolved "https://registry.yarnpkg.com/@xterm/addon-unicode11/-/addon-unicode11-0.7.0-beta.20.tgz#5d3c97320898dd6766f2dc127deb4f071c8698c2" integrity sha512-4/uwJ6lV/xJplT7hJc7sO4Im4XNvEXHnUEFIs03FFp8ZUfu3U6wcBk6/GoKMwJKJtGVNxotiD6ZzJ5v8IBH6nA== "@xterm/addon-webgl@0.17.0-beta.20": version "0.17.0-beta.20" resolved "https://registry.yarnpkg.com/@xterm/addon-webgl/-/addon-webgl-0.17.0-beta.20.tgz#443845ac5ac755cf762b105ed237b30426b07137" integrity sha512-iqvXNSTfKIcO9FBraNwdO/ixPrTHok8CBN/wjlnGLv0ZMc4zLAiKE8+PHyg9ZY38QJfS+4Ouo8KsuZwoOYfnNA== "@xterm/headless@5.4.0-beta.20": version "5.4.0-beta.20" resolved "https://registry.yarnpkg.com/@xterm/headless/-/headless-5.4.0-beta.20.tgz#af26d3d0e2cdd615ccfac4a8660181fee19898fd" integrity sha512-H/as1d67J43/CB8xt1Yg/eJMbq1yopwG1bDBKdsf2ro8A1PmJFXNzaDB+wSgoH42fCusSpLJvXtUvDLtqfvBTg== "@xterm/xterm@5.4.0-beta.20": version "5.4.0-beta.20" resolved "https://registry.yarnpkg.com/@xterm/xterm/-/xterm-5.4.0-beta.20.tgz#28bbbbc73eceb6ef3e1e095de195cf849d0cbfb6" integrity sha512-nkY91qBy5pe1HlW9LOoLcyG6v4teEsliEtUVshAO42NrJDaPniSn28O5m5832UjZOdjLCY58QlcBkZUquODGrQ== </ins> "@xtuc/ieee754@^1.2.0": version "1.2.0"

/gifPlease
Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, files are preferred as they are displayed inline on GitHub. You may find helpful as a browser-based gif recording tool. If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording ( in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue. Happy coding!
The terminal's usage of may have regressed?
The issue I'm seeing is no longer seems to flip the terminal link modifiers and column select modifier. Additionally the cursor isn't showing anymore when using column selection.
Actually I don't think it ever flipped the column select modifier
When is set, alt+click still opens fine. After the crosshair will be working as intended, the link pointer cursor will override it correctly.
! I can still repro if . Is there something else I should set? It works fine if I set .
Since verification steps are needed and is OOF, this issue will be moved to the February 2024 milestone.
in case you know the verifications steps.
I verified that regardless of the value of , I can open links in the terminal with ctrlCmd and holding alt allows me to do column selection, which I believe is by design.
It turns out that the bug has nothing to do with the cross cursor. The real cause was extension host keep crashing after a few minutes after opening a big TypeScript monorepo.