jiebi/CodeConvo huggingface dataset:
Change:
import { ColorThemeStore } from 'vs/workbench/services/themes/electron-browser/colorThemeStore'; import { FileIconThemeStore } from 'vs/workbench/services/themes/electron-browser/fileIconThemeStore'; import { FileIconThemeData } from 'vs/workbench/services/themes/electron-browser/fileIconThemeData'; <ins> import { IWindowService } from 'vs/platform/windows/common/windows'; </ins> // implementation

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:
const fileService = accessor.get(IFileService); const openerService = accessor.get(IOpenerService); <del> let { range, uri } = test.item; </del> <ins> const { range, uri } = test.item; </ins> if (!uri) { return; } // If an editor has the file open, there are decorations. Try to adjust the // revealed range to those decorations (#133441). <del> range = accessor.get(ITestingDecorationsService).getDecoratedRangeForTest(uri, extId) || range; </del> <ins> const position = accessor.get(ITestingDecorationsService).getDecoratedTestPosition(uri, extId) || range?.getStartPosition(); </ins> accessor.get(ITestExplorerFilterState).reveal.value = extId; accessor.get(ITestingPeekOpener).closeAllPeeks();

Discussion:
Using the test-provider-sample, adding newlines on a line marked as a test duplicates the test icon: ! It sorts itself out on the next update (at least in the sample, I'm still investigating to figure out if there's another issue, or that's in my extension). But it still looks bad - especially if a language is debouncing edits and/or discovery may be slow.. You can make the issue more pronounced (as I did for the GIF) by updating the test-provider-sample to have a delay in its updates:
I was able to repro the full issue I'm seeing in Dart (where the icons never disappear) using the sample too: ! My changes to the sample are here: I changed it so that tests can span multiple lines (since the original code split on lines then searched each line) and use the full range as the for the test. Now when pressing in the test, the original issue (VS Code duplicate the icons) still occurs, but also after the updates, since the range computed by the provider doesn't change from the range VS Code currently has (at least that's my guess), there's no update to the gutter icons so they no longer get cleaned up.
That's correct, we let the editor do its default decoration tracking until an update is received from the extension. for testing decorations, I already set , but is there a similar option to avoid extending the range over lines when edited? Or, alternatively, a way to only apply the glyphMarginClassName to the first line of the range. Reference:
You can create two decorations per test. One which has a range, a hover message, etc. And another one which renders the glyph margin with a collapsed range (perhaps the start position of the range). If you use for the second one, given it begins as a collapsed range, it will never grow, it will always remain a collapsed range.
Change:
constructor() { super({ id: 'workbench.action.openWalkthrough', <del> title: { value: localize('miGetStarted', "Get Started"), original: 'Get Started' }, </del> <ins> title: { value: localize('miWelcome', "Welcome"), original: 'Welcome' }, </ins> category: Categories.Help, f1: true, menu: {

Discussion:
Ref Right now I see: as a menu entry and command name "Get Started" as the tab name when looking at the welcome page "Show welcome page on startup" and "Reset welcome page walkthrough progress" "Getting Started with VS Code" as a walkthrough name There's a mix of "Welcome" and "Get Started" usage that makes it hard to differentiate between concepts. We could either revert back to "Welcome" for the welcome page itself or rename it to differentiate from the first walkthrough. Thoughts <img width="424" alt="CleanShot 2022-11-21 at 10 19 04 src="https://user-"<img width="200" alt="CleanShot 2022-11-21 at 10 19 12 src="https://user-"<img width="516" alt="CleanShot 2022-11-21 at 10 19 20 src="https://user-"<img width="273" alt="CleanShot 2022-11-21 at 10 19 23 src="https://user-"<img width="625" alt="CleanShot 2022-11-21 at 10 19 56 src="https://user-"
for historical context on naming here
Yeap..I believe changing the label in the tab to "Welcome" instead of "Get Started" is a good option - It should say Welcome on the tab here instead of Getting Started: ! When the user navigates away from the welcome page, the tab name should change to the walkthrough's name: It should say Learn the Fundamentals on the tab here instead of Getting Started: ! And this breadcrumb should say Welcome: !
"Welcome" was the old page and we "Get Started" as new name during development. "Get Started" did fit better for the walkthrough style, was a more action-style verb and used in many other apps. Not sure if more thoughts went into it, as the mockups that started in were before my time and already used "Get Started". I haven't many users ever get into Get Started or Welcome as command, so renaming would be low risk.
Is there a user issue mentioning the confusion? Asking to understand if we also need to account for user keyword search behavior in the command pallet when looking for walkthroughs or the Getting Started page after its been closed.

Currently, most walkthroughs use the "Get Started" terminology - Searching for "Get..." in the command palette surfaces the walkthroughs. I wonder if search terms are influenced by the page on which users first saw the walkthroughs and will the naming change have implications on the keywords to find walkthroughs?
No specific issue that I know of, I'm just spotting the issue of the strange overloading myself. might know if we have any hard data on people searching for the command. But I'd also assume it's quite unlikely compared to going to the "Help" menu, for example.
Change:
} } <del> export abstract class AbstractInstallAction extends ExtensionAction { </del> <ins> export class InstallAction extends ExtensionAction { </ins> static readonly Class = `${ExtensionAction.LABEL_ACTION_CLASS} prominent install`;

Discussion:
Look at telemetry and if not a lot of users are using the Install and Do not Sync extension action remove the action to simplify the Extension Install flow. is the action name. fyi
Ok was run on 59K distinct machines. For comparison extensionGallery:install was executed on 10.4M machines. So Do not Sync is used in 0.5% of cases. I think it is fine if we remove it - we keep it somewhere but not so prominent. what do you think?
Any suggestions?
We already have the "Sync Extension" check in the Extension context menu when it is installed - this is great. ! And we already have the "Sync Extension" check in the same context menu when it is not installed. Just currently if I click this, there is no effect. So ideally the experience would be that I can uncheck this before installing the extension. And thus we need no new actions. !
Lets try this in insiders already and see if we get any hit back.
Awesome - thanks!
Change:
import { URI } from 'vs/base/common/uri'; import { IExtHostRpcService } from 'vs/workbench/api/common/extHostRpcService'; import { IDisposable, DisposableStore, Disposable } from 'vs/base/common/lifecycle'; <del> import { Disposable as VSCodeDisposable, EnvironmentVariableMutatorType } from './extHostTypes'; </del> <ins> import { Disposable as VSCodeDisposable, EnvironmentVariableMutatorType, ThemeColor } from './extHostTypes'; </ins> import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'; import { localize } from 'vs/nls'; import { NotSupportedError } from 'vs/base/common/errors';

Discussion:
Testing Ran into this verifying a different issue, the API says that ThemeIcons are assignable in the TerminalOptions but they are not !
Change:
}); <ins> test('fold jumping', () => { let lines = [ /* 1*/	'class A {', /* 2*/	'  void foo() {', /* 3*/	'    if (1) {', /* 4*/	'      a();', /* 5*/	'    } else if (2) {', /* 6*/	'      if (true) {', /* 7*/	'        b();', /* 8*/	'      }', /* 9*/	'    } else {', /* 10*/	'      c();', /* 11*/	'    }', /* 12*/	'  }', /* 13*/	'}' ]; let textModel = createTextModel(lines.join('n')); try { let foldingModel = new FoldingModel(textModel, new TestDecorationProvider(textModel)); let ranges = computeRanges(textModel, false, undefined); foldingModel.update(ranges); let r1 = r(1, 12, false); let r2 = r(2, 11, false); let r3 = r(3, 4, false); let r4 = r(5, 8, false); let r5 = r(6, 7, false); let r6 = r(9, 10, false); assertRanges(foldingModel, [r1, r2, r3, r4, r5, r6]); // Test jump to parent. assert.strictEqual(getJumpToParentFoldLine(7, foldingModel), 6); assert.strictEqual(getJumpToParentFoldLine(6, foldingModel), 5); assert.strictEqual(getJumpToParentFoldLine(5, foldingModel), 2); assert.strictEqual(getJumpToParentFoldLine(2, foldingModel), 1); assert.strictEqual(getJumpToParentFoldLine(1, foldingModel), null); // Test jump to previous. assert.strictEqual(getJumpToPreviousFoldLine(10, foldingModel), 9); assert.strictEqual(getJumpToPreviousFoldLine(9, foldingModel), 5); assert.strictEqual(getJumpToPreviousFoldLine(5, foldingModel), 3); assert.strictEqual(getJumpToPreviousFoldLine(3, foldingModel), null); // Test jump to next. assert.strictEqual(getJumpToNextFoldLine(3, foldingModel), 5); assert.strictEqual(getJumpToNextFoldLine(4, foldingModel), 5); assert.strictEqual(getJumpToNextFoldLine(5, foldingModel), 9); assert.strictEqual(getJumpToNextFoldLine(9, foldingModel), null); } finally { textModel.dispose(); } }); </ins> });

Discussion:
It would be useful for navigating code to have a command to jump to previous/next foldable line. This would allow me to easily jump to the lines that I can either fold/unfold.
Awesome! Do I need to update my version to add this? I'm on macos Version: 1.58.2 currently and tried to my shortcuts, but didn't get it to work.
to get it you need to install Insiders.
Ahh I see the tag now, thanks.
Change:
import { IChatService } from 'vs/workbench/contrib/chat/common/chatService'; import { SlashCommandContentWidget } from 'vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget'; import { SubmitAction } from 'vs/workbench/contrib/chat/browser/actions/chatExecuteActions'; <ins> import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; </ins> const decorationDescription = 'chat'; const slashCommandPlaceholderDecorationType = 'chat-session-detail';

Discussion:
on a screen reader on Windows (JAWS/NVDA) in the chat view backspace hear "space' said this is typical of a screen reader. We discussed using an audio cue to indicate deletion. We have concluded it would be better and simpler to just disable this feature for screen reader users. !
-- After this meeting, something came to mind. What if I love the current command deletion behavior and would like to keep it? would you like to add a user setting to toggle this behavior for some advanced users?
We try to add settings sparingly because we want the default experience to be very nice. I will leave this with to decide. We could keep this behavior and mention it in the chat's accessibility help menu so a screen reader user is aware of what's happening.
do you personally anticipate that you would use this setting to preserve the command deletion behavior? Do you know why the screenreader reads 'space' on a deletion? If we can avoid that, would it be more reasonable that hitting backspace results in the screenreader announcing 'exiting mode'?
JooYoung and I discussed that approach and agreed it would be too verbose. We should either use an audio cue, disable the feature, or provide a setting.
Or mention it in the chat's accessibility help?
After thinking about this issue for a day, I think we can add an alert "input cleared" when the command is entirely deleted. I found that character-by-character deletion works after when you move your cursor to the left.
This is great
Change:
}; await explorerService.applyBulkEdit(resourceFileEdits, options); } else { <del> const resourceFileEdits = sourceTargetPairs.map(pair => new ResourceFileEdit(pair.source, pair.target, { copy: true })); </del> <ins> const resourceFileEdits = sourceTargetPairs.map(pair => new ResourceFileEdit(pair.source, pair.target, { copy: true, overwrite: incrementalNaming === 'disabled' })); </ins> const undoLevel = configurationService.getValue<IFilesConfiguration>().explorer.confirmUndo; const options = { confirmBeforeUndo: undoLevel === UndoConfirmLevel.Default || undoLevel === UndoConfirmLevel.Verbose,

Discussion:
Please add an option to disable incremental naming. By disabling ... the end effect should be to effectively overwrite existing files when pasting. The current options of and are helpful; however, not useful in my context. For myself and those users who commonly do file operations in the host OS file explorer, the expected behavior when copying files/folders in the VSCode explorer is to similarly have these overwritten.
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
<!-- -a7ce-58b9-b1f9- --This feature request has not yet received the 20 community upvotes 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
<!-- -a7ce-58b9-b1f9- --This feature request has not yet received the 20 community upvotes 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
<!-- -c9e0-7adb-d31b- --:slightlysmilingface: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our . Happy Coding!
We are open to a PR which adds the option to the setting. Code pointer
To verify set and copy and paste a file to ensure its name isn't changed and if a file of the same name exists in that directory it asks to overwrite the file
Change:
'libc.so.6(GLIBC_2.8)(64bit)', 'libc.so.6(GLIBC_2.9)(64bit)', 'libcairo.so.2()(64bit)', <del> 'libcups.so.2()(64bit)', </del> 'libcurl.so.4()(64bit)', 'libdbus-1.so.3()(64bit)', 'libdl.so.2()(64bit)',

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 <!-- 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 OS Version: Gentoo Linux Starting with 1.72, vscode has a hard dependency on a printing library, otherwise it refuses to even start. CUPS is quite a heavy dependency and not all Linux installations have it. This is a bug for two reasons: does not even support printing () then, such heavy libraries shall be only loaded on demand.
So, can you arrange with electron to not include the dependency on a heavy printing library? Nobody has printers these days.
Do you know which vscode release is going to start using Electron 22?
Verified with
Change:
import { registerIcon } from 'vs/platform/theme/common/iconRegistry'; import { ICommandActionTitle } from 'vs/platform/action/common/action'; import { mainWindow } from 'vs/base/browser/window'; <ins> import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; </ins> // Register Icons const menubarIcon = registerIcon('menuBar', Codicon.layoutMenubar, localize('menuBarIcon', "Represents the menu bar"));

Discussion:
Testing F1 Customize Layout Some of the entries have keybindinding with the same effect, like to show/hide the side bar, for the panel, or for zen mode The corresponding commands should show those keybinding so that I can learn how to achieve my goal faster
This can be easily done: <img width="633" alt="image" src=""PR:
Verification: open the layout picker ("Customize Layout") verify some of the entries show their keybindings
Change:
const position = args?.range ? new Range(args.range.startLineNumber, args.range.startLineNumber, args.range.endLineNumber, args.range.endColumn) : (args?.fileComment ? undefined : activeEditor.getSelection()); <del> return controller.addOrToggleCommentAtLine(position, undefined); } </del> <ins> const notificationService = accessor.get(INotificationService); try { await controller.addOrToggleCommentAtLine(position, undefined); } catch (e) { notificationService.error(nls.localize('comments.addCommand.error', "The cursor must be within a commenting range to add a comment")); // TODO: Once we have commands to go to next commenting range they should be included as buttons in the error. } }, weight: KeybindingWeight.EditorContrib, primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyC, </ins> }); MenuRegistry.appendMenuItem(MenuId.CommandPalette, {

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:
} }); <del> const mtw: MainThreadWorkspace = instantiationService.createInstance(<any>MainThreadWorkspace, SingleProxyRPCProtocol({ $initializeWorkspace: () => { } })); </del> <ins> const mtw = instantiationService.createInstance(MainThreadWorkspace, SingleProxyRPCProtocol({ $initializeWorkspace: () => { } })); </ins> return mtw.$startFileSearch('', null, null, 10, new CancellationTokenSource().token); });

Discussion:
Due to an oversight, does not enforce arguments or its return type. Fixing this exposes around 80 typings errors in our codebase that should be addressed To fix this issue in your code: , comment out the . (Do not check in this change. I will check in the change to the signature once all error have been fixed) look at the file assigned to you and fix the type error (you may need to restart the compile since we are changing such a core type) [x] — [x] — [x] — [x] — [x] — [x] — [x] — [ ] — [ ] — [ ] — [ ] — [x] — [x] — [x] — [x] — [x] — [x] — [ ] — [x] —
Change:
private themeTokenColors: ITextMateThemingRule[] = []; private customTokenColors: ITextMateThemingRule[] = []; private colorMap: IColorMap = {}; <del> private customColorMap: IColorMap = {}; </del> <ins> private customColorMap: IColorOrDefaultMap = {}; </ins> private semanticTokenRules: SemanticTokenRule[] = []; private customSemanticTokenRules: SemanticTokenRule[] = [];

Discussion:
From Add to setting See that the editor background changes to the 'default' gray color Comment or delete the setting The background color doesn't change back to the theme color, and I can't make it go back until reloading the window
Change:
await modifiedDocument.save(); <del> textEditor.selections = selectionsBeforeRevert; </del> textEditor.revealRange(visibleRangesBeforeRevert[0]); }

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --Step 0. Version 1.35.0 with extensions disabled. Step 1. Open a file with changes committed in git Step 2. Use ALT+F3 to navigate to the next change in-line Step 3. Click Revert Change Step 4. find the line number you were on and move your cursor there, then hit ALT+F3 again <!-- Describe the feature you'd like. --I would like vscode to remember where I was whenever I revert a change, then return me to that place, so that I can see the change disappear and so that I can proceed using hotkey to the next change.
We might just have to set the cursor in that position, should be simple. Would you like to submit a PR?
I can take a look at this.. As this will be my first pull request here in vscode repo, I will require some help. Do let me know a good starting point for this..
Hi, I would like to work on this issue. I'll submit a PR soon.
Do we want to fix this for 'stage change' functionality too? It behaves now the same way as 'revert change' - it starts searching from the beginning, instead of placing cursor in staged line position.
Sounds good.