jiebi/CodeConvo huggingface dataset:
Change:
this.userDataProfilesMainService.setProfileForWorkspaceSync(options.workspace ?? 'empty-window', profile); } } else { <del> profile = this.userDataProfilesMainService.getOrSetProfileForWorkspace(options.workspace ?? 'empty-window', (options.windowToUse ?? this.getLastActiveWindow())?.profile ?? this.userDataProfilesMainService.defaultProfile); </del> <ins> profile = this.userDataProfilesMainService.getOrSetProfileForWorkspace(options.workspace ?? 'empty-window', this.userDataProfilesMainService.defaultProfile); </ins> } return profile; }

Discussion:
Currently when I open a folder for the first time we use the currently active profile. I believe this can be confusing as the user has not explicitly picked the profile they want to use for the new folder. Based on suggestion let's use the default profile for folders that are opened for the very first time. I believe this with giving users an option to chose which is the default would give users enough options and clarity when interacting with profiles. fyi
I had reported and feel this flow is no longer supported: use a non-default profile to install docker and container remote extension from the docker view open a container as new window it will fail because the new window does not have the extension installed with default profile Maybe we should make a decision based on how the user opened a new window? E.g. if an extension triggers this, always keep the profile? Or check if the extension that triggers the command is installed in the profile of the new window?
good point. And thinking about this more this might have been a bad suggestion on my end. I also think of the following - a new user just installed VS Code, and installed a Python profile. They are opening a new folder - and they get switched back to the default profile I think we should either: go back to the old behaviour and make sure to make it clearer what profile is applied to what folder to decrease confusion the current behaviour but make it easier for users to choose what is the "default profile". And cover cases like brought up what do you think?
Change:
static updateKernelStatusAction(notebook: NotebookTextModel, action: IAction, notebookKernelService: INotebookKernelService, scopedContextKeyService?: IContextKeyService) { const detectionTasks = notebookKernelService.getKernelDetectionTasks(notebook); if (detectionTasks.length) { <ins> const info = notebookKernelService.getMatchingKernel(notebook); </ins> action.enabled = true; <del> action.label = localize('kernels.detecting', "Detecting Kernels"); </del> action.class = ThemeIcon.asClassName(ThemeIcon.modify(executingStateIcon, 'spin')); <ins> if (info.selected) { action.label = info.selected.label; const kernelInfo = info.selected.description ?? info.selected.detail; action.tooltip = kernelInfo ? localize('kernels.selectedKernelAndKernelDetectionRunning', "Selected Kernel: {0} (Kernel Detection Tasks Running)", kernelInfo) : localize('kernels.detecting', "Detecting Kernels"); } else { action.label = localize('kernels.detecting', "Detecting Kernels"); } </ins> return; }

Discussion:
My impression of the slowness that mentioned In stable and insiders, I think the run button shows up at about the same time. Around 7-9s from "reload window" to the run button appearing, hard to tell whether stable is slightly faster. But after it appears, and the preferred kernel has been discovered, I see "Discovering Kernels" for another 5s or more, which could lead to an impression of slowness if the user doesn't realize they can go ahead and run a cell at this point. Originally posted by in
<img width="183" alt="image" src="https://user-"When there is already a selected kernel, we should show the kernel name and a spinner if there are pending detection tasks.
Change:
"button.secondaryForeground": "#cccccc", "button.secondaryHoverBackground": "#ffffff15", "checkbox.background": "#313131", <del> "checkbox.border": "#ffffff15", </del> <ins> "checkbox.border": "#ffffff1f", </ins> "debugToolBar.background": "#181818", "descriptionForeground": "#8b949e", "diffEditor.insertedLineBackground": "#23863633",

Discussion:
Ref Unchecked and unfocused checkboxes in the Settings editor currently do not have much contrast between the checkbox background colour and the checkbox border colour for both Light+ v2 and Dark+ v2 themes. !
Change:
// partial line can be drawn on the top. const isPartialCommand = !('getOutput' in command); const rowOffset = !isPartialCommand && command.endMarker ? Math.max(buffer.viewportY - command.endMarker.line + 1, 0) : 0; <del> const stickyScrollLineCount = Math.min(promptRowCount + commandRowCount - 1, this._maxLineCount) - rowOffset; </del> <ins> const maxLineCount = Math.min(this._rawMaxLineCount, Math.floor(xterm.rows * Constants.StickyScrollPercentageCap)); const stickyScrollLineCount = Math.min(promptRowCount + commandRowCount - 1, maxLineCount) - rowOffset; </ins> // Hide sticky scroll if it's currently on a line that contains it if (buffer.viewportY === stickyScrollLineStart) {

Discussion:
Testing I ran the following command which is a powershell command that spans 8 lines. In this case sticky scroll can fill the entire terminal. One thing we do for sticky scroll in the tree is we allow sticky scroll to take a maximum of 40% of the view height. If the widget takes more than 40% of the height, we start dropping some of the sticky lines. In that case you could possibly have a at the end of the last line to indicate to the user that there is more to the command than can be shown. powershell command: (is new line) used setting !
I was a little torn on this, I was thinking if a user says they want 10 lines then maybe we should respect that (up a maximum of rows - 1 which isn't the case now). I see there is some logic here in the editor: ! Though it only updates on scroll, not resize: ! Do you also use a max of 40% there?
Your case might be a bit different to the tree. Trees appear in many different locations. One tree might fill the entire height of the editor in one view and another tree view might be much smaller. This would lead the user to have a large max sticky item value to be able to see many nodes in the large tree but he would probably not want it to fill the entire view in the smaller tree view cases. This is maybe a bit different to the terminal where a users usually only has one terminal. I think you should at least guarantee that one line of the terminal is visible.
Hey we do not have such a logic in the editor sticky scroll although it is a very interesting idea and it may be worthwhile to look into it.
Change:
import { defaultGenerator } from 'vs/base/common/idGenerator'; import { escape } from 'vs/base/common/strings'; import { TPromise } from 'vs/base/common/winjs.base'; <del> import { IHTMLContentElement, MarkedString } from 'vs/base/common/htmlContent'; </del> <ins> import { IHTMLContentElement, MarkedString, removeMarkdownEscapes } from 'vs/base/common/htmlContent'; </ins> import { marked } from 'vs/base/common/marked/marked'; import { IMouseEvent } from 'vs/base/browser/mouseEvent';

Discussion:
According to and . should be used to escape a dot. However, it looks like our hover renderer doesn't unescape the dot when in a link !
Sorry to bother yall but is there an ETA on this? I'm hoping to release/publicize a project soon that relies heavily on json-schemas but I don't want to publicize it until this is fixed (because it will be a bad UX and I want people to have good experience the first time they try the thing). Thanks
From a quick look, the root cause may be the processing we do in the js extension for files: Can you please share an example json file that shows this in the latest builds. Thanks.
Verifying bug on master, latest commit ! See my original ticket for repro steps
Verified in code.
I still see unescaped characters: ! I created
Verified fix on master @ Thanks! Side question: how do changes like this get into release, i.e. when might one expect this change to be deployed to users?
Change:
readonly onDidSave: Event<IWorkingCopySaveEvent>; readonly onDidChangeOrphaned: Event<void>; readonly onDidChangeReadonly: Event<void>; <ins> readonly onDidRevertUntitled: Event<void>; </ins> readonly resource: URI; readonly viewType: string; readonly notebook: INotebookTextModel | undefined;

Discussion:
a new notebook (or new image with Luna editor) and also a new text file all the editors dirty hotexit is off the window, selecting "don't save" when prompted to revert all working copies -open the window - the text editor is gone (closed during shut down), but the other editors are open and blank.
This is why I thought the revert behavior was broken in I think it would be much better if an interactive window closed when it was reverted.
this is really up to the editor itself to decide whether to close the editor when the underlying working copy is reverted or not. Generally working copies try to stay as agnostic as possible to editors. There is only very few exceptions when it comes to restoring backups. Untitled editors listen to working copies getting reverted to self-dispose: This in turn, will close the editor. I suggest you go down a similar path. fyi for custom editors
fixed for notebook/Interactive window editor. - did you want another issue to track this for custom editors?
Yes that would be great
Change:
expandOnlyOnTwistieClick: true, multipleSelectionSupport: false, accessibilityProvider: new NotebookOutlineAccessibility(), <del> identityProvider: { getId: element => element.cell.id }, </del> <ins> identityProvider: { getId: element => element.cell.uri.toString() }, </ins> keyboardNavigationLabelProvider: new NotebookNavigationLabelProvider() };

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --<!-- Does this issue occur when all extensions are disabled?: Yes/No --<!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --VS Code Version: 1.73.1 Host OS Version: Windows 10 Enterprise 20H2 Remote OS Version: Ubuntu 20.04.3 LTS Steps to Reproduce: a notebook file setting: on Expand All in the Outline section on Split Editor Right window on the (newer) right-side of split view outline automatically collapses window back on the (original) left-side of split view outline automatically collapses views repeatedly continues to show outline view always collapsed, despite setting Expect switching between tabs of the same notebook file in split view to follow the last collapse/expand state.
is it expected that if I: Open the Notebook (Outline is expanded) change the setting to Click the Notebook tab to show it Then the Outline is still expanded. Is that expected?
Yeah, in response the settings change I didn't want to undo the current state but only apply it to future states
Change:
endOffset = lineTokens.getEndOffset(i); } <del> return getWordAtText( position.column, LanguageConfigurationRegistry.getWordDefinition(languageId), lineContent.substring(startOffset, endOffset), startOffset ); </del> <ins> return [startOffset, endOffset]; </ins> } public getWordUntilPosition(position: IPosition): model.IWordAtPosition {

Discussion:
VSCode Version: Version 1.19.1 (1.19.1) 0759f77bb8d86658bc935a10a64f6182c5a1eebaOS Version: macOS, 10.12.6 Steps to Reproduce: TypeScript React, and Reproduces without extensions: Yes.
For the case: where the user has just typed , returns false since returns . This in turn is caused by having the following language ranges for the string : where = and = . These language ranges cause to take as the current word, which does not match against the known word patterns
Any update on this? The Ctrl-Space works and provides the correct autocomplete options for props with associated type. Would be nice if I didn't have to do that each time.
Have the same problem, but wonder about: "... autocomplete options for props ...". Is VS Code capable to autocomplete my custom from an imported component?
Change:
import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actionRegistry'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; <del> import { KillTerminalAction, CopyTerminalSelectionAction, CreateNewTerminalAction, FocusActiveTerminalAction, FocusNextTerminalAction, FocusPreviousTerminalAction, FocusTerminalAtIndexAction, SelectDefaultShellWindowsTerminalAction, RunSelectedTextInTerminalAction, RunActiveFileInTerminalAction, ScrollDownTerminalAction, ScrollDownPageTerminalAction, ScrollToBottomTerminalAction, ScrollUpTerminalAction, ScrollUpPageTerminalAction, ScrollToTopTerminalAction, TerminalPasteAction, ToggleTerminalAction, ClearTerminalAction, AllowWorkspaceShellTerminalCommand, DisallowWorkspaceShellTerminalCommand, RenameTerminalAction, SelectAllTerminalAction, FocusTerminalFindWidgetAction, HideTerminalFindWidgetAction, DeleteWordLeftTerminalAction, DeleteWordRightTerminalAction } from 'vs/workbench/parts/terminal/electron-browser/terminalActions'; </del> <ins> import { KillTerminalAction, CopyTerminalSelectionAction, CreateNewTerminalAction, FocusActiveTerminalAction, FocusNextTerminalAction, FocusPreviousTerminalAction, FocusTerminalAtIndexAction, SelectDefaultShellWindowsTerminalAction, RunSelectedTextInTerminalAction, RunActiveFileInTerminalAction, ScrollDownTerminalAction, ScrollDownPageTerminalAction, ScrollToBottomTerminalAction, ScrollUpTerminalAction, ScrollUpPageTerminalAction, ScrollToTopTerminalAction, TerminalPasteAction, ToggleTerminalAction, ClearTerminalAction, AllowWorkspaceShellTerminalCommand, DisallowWorkspaceShellTerminalCommand, RenameTerminalAction, SelectAllTerminalAction, FocusTerminalFindWidgetAction, HideTerminalFindWidgetAction, DeleteWordLeftTerminalAction, DeleteWordRightTerminalAction, QuickOpenActionTermContributor, QuickOpenTermAction, TERMINAL_PICKER_PREFIX } from 'vs/workbench/parts/terminal/electron-browser/terminalActions'; </ins> import { Registry } from 'vs/platform/registry/common/platform'; import { ShowAllCommandsAction } from 'vs/workbench/parts/quickopen/browser/commandsHandler'; import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';

Discussion:
Needs one for some keybindings
Also should add a rename terminal button to each entry for easy discoverability
Change:
} let initialized = false; <ins> const onDidInitialize = new Emitter<void>(); </ins> export function initialize(overrides: IEditorOverrideServices): IInstantiationService { if (initialized) { return instantiationService;

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: Monaco Editor OS Version: macOS 13.0 (22A380) Steps to Reproduce: in the some logs in in vscode. any Monaco editor test page. the output of the consoleeach call to will re-register all registered languages. <img width="763" alt="image" src="https://user-"
Can you look into why this is the case, maybe even providing a PR?
Sorry for the late reply, I would be happy to submit a PR.
Change:
} /** <del> * Interface used to support insertion of matching characters like brackets and qoutes. </del> <ins> * Interface used to support insertion of matching characters like brackets and quotes. </ins> */ export interface IAutoClosingPair { open:string;

Discussion:
I have editor.autoClosingBrackets set to true but it seems it works stricly with brackets. I guess autoclosing single/double quotes is not implemented yet? If not, please do it. I think it is a common feature for every editor.
What language is missing them?
Closing after a number of days without a reply.
Change:
} private _renderStickyScroll() { <del> if (!(this._editor.hasModel())) { </del> <ins> const model = this._editor.getModel(); if (!model || model.isTooLargeForTokenization()) { this._stickyScrollWidget.setState(undefined); </ins> return; } <del> const model = this._editor.getModel(); </del> const stickyLineVersion = this._stickyLineCandidateProvider.getVersionId(); if (stickyLineVersion === undefined || stickyLineVersion === model.getVersionId()) { this._widgetState = this.findScrollWidgetState();

Discussion:
Repro: a perf profile a ~100mb TypeScript file (duplicate the contents of a large TS file to make this) perf profile ! It doesn't end up working properly anyway: !
After delete and undo: !
Change:
public getSettings(): Settings | undefined { return this._settings; } <del> } </del>  No newline at end of file <ins> } </ins>

Discussion:
Add some form of error reporting for links in markdown files where we are confident that link is incorrect. Example: We should also have a setting to disable this error reporting since we will not be able to understand every flavor of markdown link
Bad references (seems like this should almost always be a reasonable error to report) Missing files (false positive if users rely on different logic to resolve markdown paths) - Missing headers (false positive if users rely on custom slugifier or are linking to something besides headers, such as html elements) -Checking links to external resources () Checking html in markdown
Re-opening as we will likely keep this as experimental this iteration
Change:
private _onDidDisposeModel: Emitter<URI>; constructor( <del> @IInstantiationService private instantiationService: IInstantiationService </del> <ins> @IInstantiationService private instantiationService: IInstantiationService, @IConfigurationService private configurationService: IConfigurationService </ins> ) { this._onDidChangeContent = new Emitter<URI>(); this._onDidChangeDirty = new Emitter<URI>();

Discussion:
VSCode Version: 1.2.1 OS Version: Windows 10 64x Steps to Reproduce: create new file, before save file with '.js' extension and the manual language selection, need to have option to default language e.g. JavaScript, not plaintext as default
We would need to introduce a workbench configuration such that there is a default language mode for new files opened. Such that it is being picked up before a user manuly chooses a mode or sets the file extension.
I would think this could also be done nicely from an extension.
This is one of my key uses from PowerShell ISE that is hard to convert over to VS Code. I use the Untitled page often to construct commands and scripts rather than doing it in terminal because its much easier to edit and I'm not wanting to save it just yet. The trick though is this is Visual Studio Code and versatile so sometimes I will want the default to be different based on the language I'm focusing on in a given period. The two ways to handle this would be: Command Line option to select default language on startup. File New --Language menu options The first option allows me to create a shortcut focused on my language. VS Code PowerShell and VS Code C#. It would also make it easier for extensions to configure the environment more for their use if they knew someone was starting it up as their language. The second option should not be defaults, but rather configurations for me to add my own list to the File menu. I like both approaches but if I had to choose one, the first I think could be more useful.
I just looked into making an extension for this but there doesn't seem to be an API to change the language ID of a TextDocument. I tried passing the language ID as a parameter to but it always displays the quick pick dialog. Any ideas?
I think this can be done via a new command using the new API:
That doesn't work for new files that the user creates using "File -New", "Files: New File" or double-clicking in the tab area. Though maybe I should just send a PR to VS Code to add an official setting for default language mode :)
Oh yeah, but I would start with an extension first to see how it works. You can easily map it to Ctrl+N for "New File" by default.

All in all, also not opposed to seeing a PR on this, e.g. could be something like editor.defaultLanguage or file.defaultMode.
maybe? Not sure that most users know what a "mode" is.
I'm going to work on this today!
Verify: a new setting allows to configure the default language mode a new untitled file should get you can still change the mode from the picker and the untitled file will keep this association even between restarts
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import { Disposable, MutableDisposable } from 'vs/base/common/lifecycle'; </del> <ins> import { Disposable, DisposableStore, MutableDisposable } from 'vs/base/common/lifecycle'; </ins> import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; import { ITerminalCapabilityStore, TerminalCapability } from 'vs/platform/terminal/common/capabilities/capabilities'; import { ITerminalLogService } from 'vs/platform/terminal/common/terminal'; import type { Terminal, ITerminalAddon } from 'xterm'; <ins> import { debounce } from 'vs/base/common/decorators'; import { addDisposableListener } from 'vs/base/browser/dom'; </ins> export interface ITextAreaData { content: string;

Discussion:
a screen reader enabled, run some commands enter arrow left and right arrow keys to inspect the previously run command you cannot

a screen reader on, focus the terminal and type some characters left and right arrows to inspect the input something else and then refocus the terminal and try to do the same the textarea has been cleared so it announces blank
the text is in the textarea actually, but not visible and not detected by the screen reader after the blur !
Change:
// Revived webviews may not have an actively registered reviver but we still want to presist them // since a reviver should exist when it is actually needed. <del> return !(webview instanceof RevivedWebviewEditorInput); </del> <ins> return webview instanceof RevivedWebviewEditorInput; </ins> } private async tryRevive(

Discussion:
Issue Type: <bBug</bSteps window Bug Empty release notes tab still around after start VS Code version: Code - Insiders 1.33.0-insider (, 2019-04-03T08:11:05.447Z) OS version: Darwin x64 18.2.0 <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Fixed by in master
Another way to verify: Open a description view for a pull request from GH PR extension Reload the window
Fixed in 1.33 branch with