jiebi/CodeConvo huggingface dataset:
Change:
Type: <bBug</bVSCode Insiders does not recognize the "Command Prompt" profile or any other user defined profiles. I had Cmder set up as well. Now, setting will not recognize "Command Prompt" or my user defined "Cmder" profile. It will report the following error: ! In addition, I do not see either "Command Prompt" or "Cmder" in the "launch terminal" drop down either: ! NOTE: VSCode still opens previous integrated terminal sessions that had Cmder open. I run VS Code Insiders on two machines, one for work & one on my personal machine. I had both open at the same time, one with the latest update to VS Code Insiders, other not. I was able to see "Command Prompt" and "Cmder" on the one not updated & not the other. Once I updated the working one and re-opened, both profiles were missing. VS Code version: Code - Insiders 1.75.0-insider (, 2023-01-03T10:03:31.107Z) OS version: Windows_NT x64 10.0. Modes: Sandboxed: Yes <!-- generated by issue reporter --
I'm having this same issue why was it closed?
At first, I think the issue was considered user error. Now that more people are reporting same issue I'm sure it will get looked into.
More info I installed VS-Code 1.74.2 stable side by side with Insiders. I copied my file into the VS-Code 1.74.2 stable build and the Command Prompt/Cmder options appear just fine and load fine, but the same settings file in VS-Code-Insiders 1.75 it says Cmder and Command Prompt are not valid options and doesn't have them appear. Here is the section that works in 1.74.2 but not in insiders 1.75. This really hoses my build tools capability "terminal.integrated.defaultProfile.windows": "cmd", "terminal.integrated.profiles.windows": { "PowerShell": { "source": "PowerShell", "icon": "terminal-powershell" }, "Command Prompt": { "path": [ "${env:windir}Sysnative", "${env:windir}System32" ], "args": [], "icon": "terminal-cmd" }, "Git Bash": { "source": "Git Bash" }, "cmd": { "path": [ "${env:windir}Sysnative", "${env:windir}System32" ], "args": ["/k C:cmdervendor"], "icon": "terminal-cmd" } },
I see a warning about invalid value when I set and it's not appearing in the profile dropdown
<!-- 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!
This doesn't seem to work for me: ! Let me know if there are additional steps needed.
I think that's failing because the profile isn't valid ( isn't a real path)
Ah, yea. Kinda a subtle way to show that error, but fixing that worked...

Discussion:
paths = new Array(originalPaths.length); for (let i = 0; i < originalPaths.length; i++) { if (typeof originalPaths[i] === 'string') { <del> paths[i] = originalPaths[i]; </del> <ins> paths[i] = resolved[i]; </ins> } else { paths[i] = { path: resolved[i],
Change:
<!-- 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.74.2 (user setup) Commit: Date: 2022-12-20T10:29:14.590Z Electron: 19.1.8 Chromium: 102.0.5005.167 16.14.2 V8: 10.2.154.15-electron.0 OS: WindowsNT x64 10.0. Sandboxed: No Steps to Reproduce: a snippet for latex that uses $TMSELECTED_TEXT. The following is an example that wraps selected text in auto-sized brackets: 'lr' over a selected text and hit TAB. The selected text is not included in the output. ! F1 + Insert Snippet, however, produces the desired output. I have only encountered the problem in latex environment, including inline math in markdown files. The issue was raised in and was fixed in 1.73 update via (I think). But came back in 1.74.
The problem is the which requires two characters to be typed... This is what happens overtyping happens, we capture the overtyped text, and "await" the next suggest session to start this doesn't happen because suggest only auto starts at word ends and a single character is no word the next character is typed, erasing the overtyped, captured value suggest starts because the 2nd character makes this a word looping you in here and wonder if you know why such a word definition was chosen and if it can be changed
I don't know why the definition specifies 2 characters. I'm not familiar enough with latex to know if there's a reason for it. Given that no other language does this I would be fine to remove it.
+1 for changing the word definition. FYO who originally this via
I confirm that changing the word definition to 1 character is fine.
<!-- 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!
/verified

Discussion:
}, "autoCloseBefore": ";:.,={}])>` nt$", "wordPattern": { <del> "pattern": "(p{Alphabetic}|p{Number}|p{Nonspacing_Mark}){2,}", </del> <ins> "pattern": "(p{Alphabetic}|p{Number}|p{Nonspacing_Mark}){1,}", </ins> "flags": "u" } }
Change:
Type: <bBug</bThere seems to be some issue with the Jupyter notebook output, recently the output is not formatted and there are no line breaks. ! VS Code version: Code - Insiders 1.75.0-insider (, 2023-01-06T05:21:40.528Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (31)</summaryExtensionVersion ------ path-intellisense2.8.4 gitignore0.9.0 python-preview0.0.4 githistory0.6.19 gitlens13.2.0 vandelay4.5.0 geniebuilder0.2.6 geniebuilder-insider0.2.6 gc-excelviewer4.2.56 h2o-wave0.24.2 RelativePath1.5.0 data-workspace-vscode0.3.0 mssql1.16.0 sql-bindings-vscode0.3.0 sql-database-projects-vscode0.19.0 isort2022.9. python2023.1. vscode-pylance2023.1.11 jupyter2023.1. jupyter-keymap1.0.0 jupyter-renderers1.0.12 vscode-jupyter-cell-tags0.1.6 vscode-jupyter-slideshow0.1.5 reload0.0.6 git-config-user-profiles1.2.0 vscode-workspace-switcher1.15.3 sourcery1.0.2 vscode-workspace-explorer1.5.0 vscodeintellicode-completions1.0.20 vscode-icons12.0.1 vscode-open-in-github1.3.6 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thanks for the report, pushing a fix now!
Hi, is there an ETA for the patch? I am still seeing the same issue as in the same version and can confirm that the issue is present with other kernels as well. If it's any help, this is the current output from running ; it displays as in cell outputs (no line breaks). I can get the expected output by manually changing the outputs to the following: Version: 1.75.0-insider (system setup) Commit: Date: 2023-01-06T05:21:40.528Z Electron: 19.1.8 Chromium: 102.0.5005.167 16.14.2 V8: 10.2.154.15-electron.0 OS: Windows_NT x64 10.0. Sandboxed: Yes

Discussion:
-ms-user-select: text; cursor: auto; } <ins> .output-plaintext, .output-stream { white-space: pre-wrap; } </ins> output-plaintext, .traceback { word-wrap: break-word;
Change:
Looks new, this is overriding alt+f3 "show next change" in text editors
very good catch. I also wish to have AI detecting this sort of mistakes. Fix is coming

Discussion:
f1: false, keybinding: { primary: KeyMod.Shift | KeyMod.Alt | KeyCode.F3, <del> weight: KeybindingWeight.WorkbenchContrib </del> <ins> weight: KeybindingWeight.WorkbenchContrib, when: ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID) </ins> }, menu: { id: MenuId.EditorTitle,

f1: false, keybinding: { primary: KeyMod.Alt | KeyCode.F3, <del> weight: KeybindingWeight.WorkbenchContrib </del> <ins> weight: KeybindingWeight.WorkbenchContrib, when: ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID) </ins> }, menu: { id: MenuId.EditorTitle,
Change:
I noticed that saving parts splash occurs during startup, even though delayed: ! I am not sure we need that, maybe we can put that on the phase. The following profile: was taken on Windows with a non-minified / non-mangled build to aid reading has the event at
Moved it out a bit further but the overall timing is a lottery because it depends on the current state (destruction) of the dom and how long measuring will take

Discussion:
import * as dom from 'vs/base/browser/dom'; import { Color } from 'vs/base/common/color'; import { Event } from 'vs/base/common/event'; <del> import { DisposableStore, IDisposable } from 'vs/base/common/lifecycle'; </del> <ins> import { DisposableStore, MutableDisposable } from 'vs/base/common/lifecycle'; </ins> import { editorBackground, foreground } from 'vs/platform/theme/common/colorRegistry'; import { getThemeTypeSelector, IThemeService } from 'vs/platform/theme/common/themeService'; import { DEFAULT_EDITOR_MIN_DIMENSIONS } from 'vs/workbench/browser/parts/editor/editor';

import { assertIsDefined } from 'vs/base/common/types'; import { ISplashStorageService } from 'vs/workbench/contrib/splash/browser/splash'; import { mainWindow } from 'vs/base/browser/window'; <ins> import { ILifecycleService, LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle'; </ins> export class PartsSplash {

@IThemeService private readonly _themeService: IThemeService, @IWorkbenchLayoutService private readonly _layoutService: IWorkbenchLayoutService, @IWorkbenchEnvironmentService private readonly _environmentService: IWorkbenchEnvironmentService, <del> @IEditorGroupsService editorGroupsService: IEditorGroupsService, </del> @IConfigurationService private readonly _configService: IConfigurationService, <del> @ISplashStorageService private readonly _partSplashService: ISplashStorageService </del> <ins> @ISplashStorageService private readonly _partSplashService: ISplashStorageService, @IEditorGroupsService editorGroupsService: IEditorGroupsService, @ILifecycleService lifecycleService: ILifecycleService, </ins> ) { Event.once(_layoutService.onDidLayoutMainContainer)(() => { this._removePartsSplash(); perf.mark('code/didRemovePartsSplash'); }, undefined, this._disposables); <del> let lastIdleSchedule: IDisposable | undefined; Event.any(onDidChangeFullscreen, editorGroupsService.mainPart.onDidLayout, _themeService.onDidColorThemeChange)(() => { lastIdleSchedule?.dispose(); lastIdleSchedule = dom.runWhenWindowIdle(mainWindow, () => this._savePartsSplash(), 800); }, undefined, this._disposables); </del> <ins> const lastIdleSchedule = this._disposables.add(new MutableDisposable()); const savePartsSplashSoon = () => { lastIdleSchedule.value = dom.runWhenWindowIdle(mainWindow, () => this._savePartsSplash(), 2500); }; lifecycleService.when(LifecyclePhase.Restored).then(() => { Event.any(onDidChangeFullscreen, editorGroupsService.mainPart.onDidLayout, _themeService.onDidColorThemeChange)(savePartsSplashSoon, undefined, this._disposables); savePartsSplashSoon(); }); </ins> _configService.onDidChangeConfiguration(e => { if (e.affectsConfiguration('window.titleBarStyle')) {
Change:
!
regression from
looping you in here too. This is more tricky as it seems I believe boils down to the zindex of the sash being to weak. Tho, I can't find a working value that is strong I have tried various things in sticky-scroll land w/o success. I can't "indent" its contents because than line numbers and contents aren't aligned. I cannot lower its zindex because than zone widgets overflow it...
That's odd. The sash is transparent: it shouldn't render at all, unless you hover it. Are you sure this is the sash?
Might actually not be the sash but from the split view
Yeah, settings its actually fixes this issue
- it does use a "random" zindex to fix it

Discussion:
position: absolute; top: 0; left: 0; <del> z-index: 5; </del> <ins> z-index: 20; </ins> pointer-events: none; background-color: var(--separator-border); }
Change:
re We know from telemetry that deserialising and serialising RPC messages can become costly and this issue to follow up on that. For now, let's add telemetry if any of the API implementations send or receive unexpected large amount of data. We usually cap those but it is likely that we are missing a couple of cases

Discussion:
let logger: IRPCProtocolLogger | null = null; if (LOG_EXTENSION_HOST_COMMUNICATION || this._environmentService.logExtensionHostCommunication) { logger = new RPCLogger(kind); <ins> } else if (TelemetryRPCLogger.isEnabled()) { logger = new TelemetryRPCLogger(this._telemetryService); </ins> } this._rpcProtocol = new RPCProtocol(protocol, logger);

} } <ins> interface RPCTelemetryData { type: string; length: number; } type RPCTelemetryDataClassification = { owner: 'jrieken'; comment: 'Insights about RPC message sizes'; type: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; comment: 'The type of the RPC message' }; length: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true; comment: 'The byte-length of the RPC message' }; }; class TelemetryRPCLogger implements IRPCProtocolLogger { static isEnabled(): boolean { // this will be a very high frequency event, so we only log a small percentage of them return Math.trunc(Math.random() * 1000) < 5; // 5/1000 } private readonly _pendingRequests = new Map<number, string>(); constructor(@ITelemetryService private readonly _telemetryService: ITelemetryService) { } logIncoming(msgLength: number, req: number, initiator: RequestInitiator, str: string): void { if (initiator === RequestInitiator.LocalSide && /^receiveReply(Err)?:/.test(str)) { // log the size of reply messages const requestStr = this._pendingRequests.get(req) ?? 'unknown_reply'; this._pendingRequests.delete(req); this._telemetryService.publicLog2<RPCTelemetryData, RPCTelemetryDataClassification>('extensionhost.incoming', { type: `${str} ${requestStr}`, length: msgLength }); } if (initiator === RequestInitiator.OtherSide && /^receiveRequest /.test(str)) { // incoming request this._telemetryService.publicLog2<RPCTelemetryData, RPCTelemetryDataClassification>('extensionhost.incoming', { type: `${str}`, length: msgLength }); } } logOutgoing(msgLength: number, req: number, initiator: RequestInitiator, str: string): void { if (initiator === RequestInitiator.LocalSide && str.startsWith('request: ')) { this._pendingRequests.set(req, str); this._telemetryService.publicLog2<RPCTelemetryData, RPCTelemetryDataClassification>('extensionhost.outgoing', { type: str, length: msgLength }); } } } </ins> interface ExtHostLatencyResult { remoteAuthority: string | null; up: number;
Change:
re We know from telemetry that deserialising and serialising RPC messages can become costly and this issue to follow up on that. For now, let's add telemetry if any of the API implementations send or receive unexpected large amount of data. We usually cap those but it is likely that we are missing a couple of cases

Discussion:
static isEnabled(): boolean { // this will be a very high frequency event, so we only log a small percentage of them <del> return Math.trunc(Math.random() * 1000) < 5; // 5/1000 </del> <ins> return Math.trunc(Math.random() * 1000) < 0.5; </ins> } private readonly _pendingRequests = new Map<number, string>();
Change:
Forking off from Basic idea is have something similar to alt+f1 in the editor, but in the terminal and explain it in the textarea's aria-label
This will be testable on Monday. On Windows/Linux: On macOS:
/closedWith

Discussion:
mac: { primary: KeyMod.Shift | KeyMod.CtrlCmd | KeyCode.LeftArrow } }); <ins> // Map ctrl+alt+r -> ctrl+r when in accessibility mode due to default run recent command keybinding registerSendSequenceKeybinding('x12', { when: ContextKeyExpr.and(TerminalContextKeys.focus, CONTEXT_ACCESSIBILITY_MODE_ENABLED), primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyR, mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.KeyR } }); // Map ctrl+alt+g -> ctrl+g due to default go to recent directory keybinding registerSendSequenceKeybinding('x07', { when: TerminalContextKeys.focus, primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyG, mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.KeyG } }); </ins> // send ctrl+c to the iPad when the terminal is focused and ctrl+c is pressed to kill the process (work around for #114009) if (isIOS) { registerSendSequenceKeybinding(String.fromCharCode('C'.charCodeAt(0) - Constants.CtrlLetterOffset), { // ctrl+c

title: { value: localize('workbench.action.terminal.runRecentCommand', "Run Recent Command..."), original: 'Run Recent Command...' }, f1: true, category, <del> precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated) </del> <ins> precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated), keybinding: [ { primary: KeyMod.CtrlCmd | KeyCode.KeyR, mac: { primary: KeyMod.WinCtrl | KeyCode.KeyR }, when: ContextKeyExpr.and(TerminalContextKeys.focus, CONTEXT_ACCESSIBILITY_MODE_ENABLED), weight: KeybindingWeight.WorkbenchContrib }, { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyR, mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.KeyR }, when: ContextKeyExpr.and(TerminalContextKeys.focus, CONTEXT_ACCESSIBILITY_MODE_ENABLED.negate()), weight: KeybindingWeight.WorkbenchContrib } ] </ins> }); } async run(accessor: ServicesAccessor): Promise<void> {

title: { value: localize('workbench.action.terminal.goToRecentDirectory', "Go to Recent Directory..."), original: 'Go to Recent Directory...' }, f1: true, category, <del> precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated) </del> <ins> precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated), keybinding: { primary: KeyMod.CtrlCmd | KeyCode.KeyG, when: TerminalContextKeys.focus, weight: KeybindingWeight.WorkbenchContrib } </ins> }); } async run(accessor: ServicesAccessor): Promise<void> {
Change:
Type: <bBug</bIn the most recent insiders, opening the command palette seems to take around a second: ! There is also a large delay when filtering VS Code version: Code - Insiders 1.75.0-insider (Universal) (, 2023-01-11T16:46:25.875Z) OS version: Darwin x64 22.2.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<!-- generated by issue reporter --
All the little calls at the bottom of the chart are to Possibly caused by
Confirmed that this does seem caused by In main right now, it is slow but not as painfully slow: ! After a revert though it becomes very fast: !

Discussion:
private _ignoreChangeEvent: boolean = false; private _data: Record<string, string[] | undefined>; <ins> private _hiddenByDefaultCache = new Map<string, boolean>(); </ins> constructor(@IStorageService private readonly _storageService: IStorageService) { try { const raw = _storageService.get(PersistedMenuHideState._key, StorageScope.PROFILE, '{}');

} private _isHiddenByDefault(menu: MenuId, commandId: string) { <del> let hiddenByDefault = false; for (const item of MenuRegistry.getMenuItems(menu)) { if (isIMenuItem(item) && item.command.id === commandId) { hiddenByDefault = Boolean(item.isHiddenByDefault); break; } } return hiddenByDefault; </del> <ins> return this._hiddenByDefaultCache.get(`${menu.id}/${commandId}`) ?? false; } setDefaultState(menu: MenuId, commandId: string, hidden: boolean): void { this._hiddenByDefaultCache.set(`${menu.id}/${commandId}`, hidden); </ins> } isHidden(menu: MenuId, commandId: string): boolean {

for (const item of items) { if (this._contextKeyService.contextMatchesRules(item.when)) { const isMenuItem = isIMenuItem(item); <ins> if (isMenuItem) { this._hiddenStates.setDefaultState(this._id, item.command.id, !!item.isHiddenByDefault); } </ins> const menuHide = createMenuHide(this._id, isMenuItem ? item.command : item, this._hiddenStates); if (isMenuItem) { // MenuItemAction
Change:
<!-- 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. --Particularly for the Python environments, the list of environment vars can be long, hence the prompt which shows up can be too verbose: ! It would be perhaps more helpful if we can provide a simple description instead of the exact changes. cc/
This could also be extended to show up as the first time the terminal is relaunched. Fish shell does not have a prompt variable which we could set like cmd to indicate which environment is active, which could also make use of this feature: !
Proposal: We probably still want a way to show the actual environment variable changes even with this description though.
It would be nice if there were a action that opened a readonly editor with the changes. That would make it very accessible
I was thinking a button in the hover to toggle it, but I like your suggestion more
Feedback from API sync: Add
My only concern here is we're putting the description into a markdown list which a could mess up the UI. We might want to either modify the description such that it's indented correctly to show up in a list item (1) or only take the description before the first (2): For the description: 1: 2:
+1 for the second option to start with, as we expect the description to be concise. Personally I would only use Markdown to support backticks.
Just realized description would be different for each scope, so proposal needs to be updated: Blocked on
Is there a way to open a readonly editor rather than a untitled buffer? ! Here's the code which currently opens it:
Yes, you should do something similar to https://user-
Great, thanks! !
Looks like , , and are all very closely related. For a holistic view at the changes a single discussion/issue/proposal might be more beneficial.
created:
Closing in favor of as these issues were only open to finalize proposed API.
they're all separate proposals, let's keep them open and have for a holistic view
I'm planning on finalizing this one independently of the workspace scope one this iteration.
To verify make sure the API shows up in the stable API and does not have a proposed check.
Tried this, not sure what I need to do to get this to work I just updated the description property in the and created a new terminal and nothing seems to be displayed. Am i missing a step here?

Discussion:
persistent: boolean; /** <ins> * A description for the environment variable collection, this will be used to describe the * changes in the UI. */ description: string | MarkdownString | undefined; /** </ins> * Replace an environment variable with a value. * * Note that an extension can only make a single change to any one variable, so this will

*/ workspaceFolder?: WorkspaceFolder; }; <del> export interface EnvironmentVariableCollection extends Iterable<[variable: string, mutator: EnvironmentVariableMutator]> { /** * A description for the environment variable collection, this will be used to describe the * changes in the UI. */ description: string | MarkdownString | undefined; } </del> }