jiebi/CodeConvo huggingface dataset:
Change:
// Set to default profile first and resolve and update the profile // only after the workspace-backup is registered. // Because, workspace identifier of an empty window is known only then. <del> profile: this.userDataProfilesMainService.defaultProfile </del> <ins> profile: defaultProfile </ins> }, homeDir: this.environmentMainService.userHome.fsPath,

Discussion:
I know I suggested but after trying it out I am convinced that was a wrong suggestion. I think we should just revert it, and whenever we open a new folder it should be using the CURRENT profile. I know and feel the same.
Lets discuss this!
Actually I liked this behaviour too. Reverted this after our discussion. Bringing this back again :)
Awesome - thanks!
Is it possible to associate a workspace (or folder) with a profile? E.g. can I set that if I open a workspace (or folder) "A", current profile will be switched to "Default" and if I open a workspace "B", current profile will be switched to "Work"?
Well, it seems to be already working:
Change:
if (decoration) { const { object: actions } = decoration.getContextMenuActions(); for (const action of actions) { <del> result.push(action); </del> <ins> result.push(action, '1_testing'); </ins> } } }

Discussion:
configure "testing.defaultGutterClickAction": "contextMenu", open a test file and click on a test icon a context menu opens but the test commands aren't atop <img width="356" alt="Screenshot 2023-03-31 at 15 41 37" src="https://user-"
Change:
if (oldPrimary !== newPrimary) { this._onDidChangePrimaryStatus.fire(newPrimary); } <ins> } else { this._statuses.set(status.id, status); // It maybe the case that status hasn't changed, there isn't a good way to check this based on // `ITerminalStatus`, so just fire the event anyway. this._onDidAddStatus.fire(status); </ins> } }

Discussion:
Testing microsoft/vscode-python Originally posted by in signs only appears next to terminals which are dirty, as they require a relaunch to update the envs. The second has not been interacted with yet, so envs are updated without the need for relaunching it, but it seems that the description is not updated. https://user-
any idea what might be going on?
We automatically accept the env changes in terminals which haven't been interacted with by design. That is why the description for the non-interacted with terminal appears the way it does vs the one that has been interacted with which requires relaunching
I understand that, although the bug here is that we should automatically accept the description changes in such terminals as well.
Change:
this._isPendingLabel.innerText = ''; } <del> this._actionsToolbarContainer = dom.append(header, dom.$('.comment-actions.hidden')); </del> <ins> this._actionsToolbarContainer = dom.append(header, dom.$('.comment-actions')); this.toggleToolbarHidden(true); </ins> this.createActionsToolbar(); } <ins> private toggleToolbarHidden(hidden: boolean) { if (hidden && !this.accessibilityService.isScreenReaderOptimized()) { this._actionsToolbarContainer.classList.add('hidden'); } else { this._actionsToolbarContainer.classList.remove('hidden'); } } </ins> private getToolbarActions(menu: IMenu): { primary: IAction[]; secondary: IAction[] } { const contributedActions = menu.getActions({ shouldForwardArgs: true }); const primary: IAction[] = [];

Discussion:
[x] Indicate when a document has commentable ranges Aria status when a document is opened [x] Add keyboard shortcut for adding a comment [x] Provide commands to go to next and previous commentable range [x] Add an accessible help menu to the comment widget Esc dismisses widget Lists go to next/previous commentable range commands + keyboard shortcuts Lists command and keyboard shortcut to add a comment Lists keyboard shortcut to execute the comment primary action and what the primary action is [x] The Comments view should respect the enter/space = reveal+focus/reveal [x] Make the comment widget toolbar always visible when in screen reader mode
Related to
is the last part of this, and it's almost done!
Mr.KITSANAPAN MEEKEAW
Change:
{ "command": "javascript.reloadProjects", "title": "%javascript.reloadProjects.title%" <ins> }, { "command": "typescript.tryAcceptSelectedSuggestionOnDot", "title": "%typescript.tryAcceptSelectedSuggestionOnDot.title%" </ins> } ], "breakpoints": [

Discussion:
VSCode Version: Code 1.8.1 (, 2016-12-19T14:49:23.350Z) OS Version: Windows_NT ia32 10.0. Extensions: Steps to Reproduce: from npm with typings to import a relative path downwards( import Person from '../person' for instance ). The import will suggest "" as it includes a '.' character or something.
in general please include snippets and screenshots that illustrate the problem and provide precise steps with snippets, screenshots that illustrates a problem (see our ).
Sorry, i provided a video now, it includes full editor and you can see the structure there. The is standard, so is with saved and Steps to reproduce is: init install --init in a folder, () containing a class: in a subfolder () to import a relative path to File1. When you're going to type a relative step back (../), it will autocorrect to "" instead of ".." as shown in the video. If anything more is needed, please let me know. hope this make things a bit clearer
thanks for the additional info.
Short update, it does not seem to happen when running js. i thought it might due to the automatic type acquisition, but it works as intended, for me at least.
me too
this looks like an issue we've seen before...
Fix reverted ,
Picked up improved fix with
Change:
const modelBasedVariableResolver = new ModelBasedVariableResolver(model); const clipboardService = editor.invokeWithinContext(accessor => accessor.get(IClipboardService, optional)); <ins> const workspaceService = editor.invokeWithinContext(accessor => accessor.get(IWorkspaceContextService, optional)); </ins> let delta = 0;

Discussion:
It would be really helpful if a variable with the repository name (workspace name or opened folder) that was available to use in the snippets. In my case, i use the snippets to create copyright messages, and i am using the project name (the same of the repository) as part of this message.
Hey I'd like to work on this. Can I give it a shot? I appreciate if you have any quick guidance.
Snippet variables are implemented and instantiated . add a variable resolver that uses the (like the and ) add a test here
Thanks :)
Change:
@IFileService private readonly fileService: IFileService, @IProductService private readonly productService: IProductService ) { <del> this.resourceExtension = resourceExtensionInfo?.resourceExtension; </del> <ins> } get resourceExtension(): IResourceExtension | undefined { if (this.resourceExtensionInfo) { return this.resourceExtensionInfo.resourceExtension; } if (this.local?.isWorkspaceScoped) { return { type: 'resource', identifier: this.local.identifier, location: this.local.location, manifest: this.local.manifest, changelogUri: this.local.changelogUrl, readmeUri: this.local.readmeUrl, }; } return undefined; </ins> } get gallery(): IGalleryExtension | undefined {

Discussion:
the vscode repo extensions the Selfhost Test Runner extension, Install it the window extensions See the Selfhost Test Runner extension is not visible
I cannot reproduce the issue. I also tried on fresh user data directory. Can you please share more specific details of the steps you followed to reproduce the issue?
Oh, I see, workspace extensions don't show under if they're already installed, unlike other extensions. Maybe a slight oddity to fix if easy, will let you close it if not.
Hmm, that's not what I expected too. They should be shown always. I will fix that.
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
Change:
// Rewrite `#editor.fontSize#` to link format text = fixSettingLinks(text); <del> const renderedMarkdown = renderMarkdown({ value: text }, { </del> <ins> const renderedMarkdown = renderMarkdown({ value: text, isTrusted: true }, { </ins> actionHandler: { callback: (content: string) => { if (startsWith(content, '#')) {

Discussion:
Issue Type: <bFeature Request</bHere's what I have tried using as a reference: In the settings page, "command" doesn't show up as a link, just plain text. It would be nice if command links were supported like regular URL links. VS Code version: Code 1.32.3 (, 2019-03-14T22:46:48.547Z) OS version: Darwin x64 18.2.0
I assume you want this in the settings UI.
That's correct. A clickable command link above the field.
Sure, out of curiosity, what sort of command would you use this for?
The property/setting I'm trying to use this for is a directory path containing some directories. And the command is a refresh command that will pick up the latest setting value and do some parsing of the contained directories. I know I could use to detect changes and trigger the command automatically but I want to allow the user to refresh manually.
Are you avoiding because it might trigger while the user is not done typing, or is there a different reason?
Yes, that's the main reason.
I would like to second this. My use case is: My extension involves authenticating with a server, and I have built a web-view for this. This authentication process is too complicated to handle through native VSCode settings (I want to validate the server, there might be 2FA, etc, etc) However, since users have an expectation of seeing their settings in the settings UI, I would like to display the server that the user has authenticated to in the settings UI as a read only property. This requires me to have a description which says "You can modify this value by doing X" And overall, it seems like a better user experience to have that description be "you can modify this by clicking " and having open my webview, rather than: "you can modify this setting by selecting the X command in the command palette"
Change:
<del> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ declare module 'vscode' { // https://github.com/microsoft/vscode/issues/158776 export interface DocumentRangeFormattingEditProvider { /** * Provide formatting edits for multiple ranges in a document. * * The given ranges are hints and providers can decide to format a smaller * or larger range. Often this is done by adjusting the start and end * of the range to full syntax nodes. * * @param document The document in which the command was invoked. * @param ranges The ranges which should be formatted. * @param options Options controlling formatting. * @param token A cancellation token. * @return A set of text edits or a thenable that resolves to such. The lack of a result can be * signaled by returning `undefined`, `null`, or an empty array. */ provideDocumentRangesFormattingEdits?(document: TextDocument, ranges: Range[], options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>; } } </del>

Discussion:
<!-- 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. --With set to , VSCode will sequentially send requests to its provider(s). It'd be nice if the whole list of ranges could be sent at once instead of sequentially, allowing the formatter to handle this batch as it sees fit. This could be achieved by modifying to take an additional optional metadata parameter that the provider can use to express support for this mode.
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
Would the team be open to PR for this change? I'm happy to provide one.
To give additional context, we've had user reports like this: When a file has lots of modified chunks, we see lots of round-trips to the server. Batching the requests can provide a very important performance improvement in some cases.
<!-- -a7ce-58b9-b1f9- --This feature request has not yet received the 20 community it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our . Happy Coding!
feedback from API sync, have explicit optional function
fyi this is done and LSP adoption is welcome
already provided a PR for LSP.
To verify: make sure API has a new optional function and make sure it's properly documented (extra) write a dummy extension that implements this and make sure it's called
Change:
*--------------------------------------------------------------------------------------------*/ import 'vs/css!./inspectTokens'; <ins> import { $, append, reset } from 'vs/base/browser/dom'; </ins> import { CharCode } from 'vs/base/common/charCode'; import { Color } from 'vs/base/common/color'; import { KeyCode } from 'vs/base/common/keyCodes'; import { Disposable } from 'vs/base/common/lifecycle'; <del> import { escape } from 'vs/base/common/strings'; </del> import { ContentWidgetPositionPreference, IActiveCodeEditor, ICodeEditor, IContentWidget, IContentWidgetPosition } from 'vs/editor/browser/editorBrowser'; import { EditorAction, ServicesAccessor, registerEditorAction, registerEditorContribution } from 'vs/editor/browser/editorExtensions'; import { Position } from 'vs/editor/common/core/position';

Discussion:
<!-- 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. --The next step in resolving . It aims to replace construction of HTML elements by string concatenation in file. The code contains mainly a table construction by concatenating strings of . The goal is to replace them all with function calls.
Change:
} @command('git.addRemote', { repository: true }) <del> async addRemote(repository: Repository): Promise<void> { </del> <ins> async addRemote(repository: Repository): Promise<string | undefined> { </ins> const remotes = repository.remotes; const sanitize = (name: string) => {

Discussion:
To address the original issue in more directly, it would be great if this worked: Create a new branch Run the "Publish branch" command See the "Pick a remote..." prompt Select a "Add New Remote" option The remote is and the branch is pushed to that remote Is that what you originally had in mind
I would like to take this.
yep that was it.
Change:
return TPromise.as(null); } <ins> private parseURIForOpen(uri: URI): string { /** * opening vscode://file/drive/path/to/project passes a POSIX-style path on Windows. * i.e vscode://file/c/path/to/project gives a path of /c/path/to/project * let's strip the root slash and ensure the drive letter is something Windows * can understand. */ if (uri.authority === 'file' && process.platform === 'win32') { let path = uri.path.substr(1); // strip the root slash let drive = path.slice(0, path.indexOf('/')); // find the drive letter if (drive.length === 1) { // add a colon if the uri.path contains a valid drive letter. path = path.slice(0, path.indexOf('/')) + ':' + path.slice(path.indexOf('/')); return path; } if (drive.length === 2 && drive.indexOf(':')) { // path has a colon already return path; } return uri.path; } // *NIX platforms can process this path natively. return uri.path; } </ins> dispose(): void { this.disposables = dispose(this.disposables); }

Discussion:
VSCode Version: 1.9.1 OS Version: Windows 10 Enterprise .693 Steps to Reproduce: VS Code a folder D:/Temp the following URL: vscode://file/d/temp/ Expected result: VS Code launches and opens folder D:/Temp Actual result: VS Code launches and says that folder /d/temp does not exist
I guess this is related to the windows CLI?
Want to ?
Thanks for the fix But actually went ahead with a simpler solution on top of yours. Instead of manipulating the strings we should just explicitly require the colon to be in the URI. So here's how URIs would work for Code: This works correctly now in .
Change:
import nls = require('vs/nls'); import * as types from 'vs/base/common/types'; import { IExtensionService } from 'vs/platform/extensions/common/extensions'; <del> import { IWorkbenchThemeService, IColorTheme, ITokenColorCustomizations, IFileIconTheme, ExtensionData, VS_LIGHT_THEME, VS_DARK_THEME, VS_HC_THEME, COLOR_THEME_SETTING, ICON_THEME_SETTING, CUSTOM_WORKBENCH_COLORS_SETTING, CUSTOM_EDITOR_COLORS_SETTING, CUSTOM_EDITOR_SCOPE_COLORS_SETTING } from 'vs/workbench/services/themes/common/workbenchThemeService'; </del> <ins> import { IWorkbenchThemeService, IColorTheme, ITokenColorCustomizations, IFileIconTheme, ExtensionData, VS_LIGHT_THEME, VS_DARK_THEME, VS_HC_THEME, COLOR_THEME_SETTING, ICON_THEME_SETTING, CUSTOM_WORKBENCH_COLORS_SETTING, CUSTOM_EDITOR_COLORS_SETTING, CUSTOM_EDITOR_SCOPE_COLORS_SETTING, DETECT_HC_SETTING, HC_THEME_ID } from 'vs/workbench/services/themes/common/workbenchThemeService'; </ins> import { IStorageService } from 'vs/platform/storage/common/storage'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { Registry } from 'vs/platform/registry/common/platform';

Discussion:
(Moved from internal Windows Feedback bug database) on High Contrast Black VS Code that inside of the frame, the text shows up normally (not in high contrast). This is an accessibility issue
The current workaround is to manually switch VS Code to the High Contrast Theme via
is there electron API to detect high contrast mode automatically?
Yeah I thought we detect high contrast on Windows, I have to check.
I see that the theme is correctly passed on to the renderer () but then is reset back to the previous one (e.g. ). Can you check why the theme is not applied? To reproduce: enable HC theme on Windows start VS Code expect it to show in HC theme
The hc theme needs to be set in the settings or on the theme service, like (). This will trigger all theming participants that then ally the theming and generate the css rules. Setting the class name just helps with the initial window appearance.
it looks like you removed that code that handles high contrast on Windows and never it back to the renderer ()? I created to prefer the HC theme if we detect high contrast mode. It is a bit ugly though because the settings are still containing the previous theme, not sure we should just blindly overwrite it because the HC theme on Windows could be a temporary thing.
Change:
constructor( private labels: ResourceLabels, onDidChangeRenderNodeCount: Event<ITreeNode<ResourceMarkers, ResourceMarkersFilterData>>, <del> @ILabelService private readonly labelService: ILabelService, @IFileService private readonly fileService: IFileService </del> ) { onDidChangeRenderNodeCount(this.onDidChangeRenderNodeCount, this, this.disposables); }

Discussion:
Type: <bBug</bworkspace a new notebook a syntax or other error in a cell problems view bug There's an extra to the right of the notebook file title ! VS Code version: Code - Insiders 1.88.0-insider (Universal) (, 2024-03-25T05:50:56.142Z) OS version: Darwin arm64 23.4.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
It is also same in Search ! Probably this should be something handled by the CC
Its possible to omit in the label widget for because there we know we are in a file context and is not very meaningful for descriptions (change in ). But for the problems view there is an explicit call to with an explicit description passed in: I am not sure just changing to return or wouldn't break some assumptions we have. I would argue that is a valid relative label for a path that has no parent (as in this case). any reason is not used? Or maybe we need to enlist the cell scheme as well as we do for untitled scheme.
I do not remember why we have two branches here - and . Is there a general suggestion for this? I am looking for this before digging deep. Is there a way to know this?
Yeah I would pick the and see what breaks, but maybe there is something in the history of that change that could explain it? I think schemes are pretty much hardcoded, here unfortunately while the notebook scheme is , the cell schemes are not. is there a way to know if a cell scheme is untitled?
It goes back before we used to have label service. I was also not showing the of the resource if the resource has no file provider. Showing parent was introduced . I believe using is the right way to go. I also see Search doing the same.
Change:
export interface IAuxiliaryWindow extends IDisposable { <ins> readonly onWillLayout: Event<Dimension>; </ins> readonly onDidLayout: Event<Dimension>; readonly onBeforeUnload: Event<void>;

Discussion:
Testing a workspace a tab into a new floating window in a couple times using keyboard shortcuts the zoom status bar item to zoom out. When the zoom out happens, the status bar item will move further right, as expected because everything is getting small. However, the hover itself moved further left. I would expect it to either stay under my cursor (ideal) or move with the status bar item. !
It also moves around unexpectedly when I zoom in.
My cursor isn't showing properly in this gif, but I think you can get the idea. !
<!-- 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!
Change:
return; } <ins> let outputFocus: { id: string } | undefined = undefined; </ins> for (const node of event.composedPath()) { if (node instanceof HTMLElement && node.classList.contains('output')) { <del> // output postNotebookMessage<webviewMessages.IOutputFocusMessage>('outputFocus', { id: node.id, }); </del> <ins> outputFocus = { id: node.id }; </ins> break; } }

Discussion:
a cell that will produce an error a link in the stack trace sometimes focus is not correctly given to the cell !
Change:
new ClipboardBasedVariableResolver(clipboardService, idx, indexedSelections.length), new SelectionBasedVariableResolver(model, selection), new CommentBasedVariableResolver(model), <del> new TimeBasedVariableResolver </del> <ins> new TimeBasedVariableResolver, new WorkspaceBasedVariableResolver(workspaceService), </ins> ])); const offset = model.getOffsetAt(start) + delta;

Discussion:
It would be really helpful if a variable with the repository name (workspace name or opened folder) that was available to use in the snippets. In my case, i use the snippets to create copyright messages, and i am using the project name (the same of the repository) as part of this message.
Hey I'd like to work on this. Can I give it a shot? I appreciate if you have any quick guidance.
Snippet variables are implemented and instantiated . add a variable resolver that uses the (like the and ) add a test here
Thanks :)