jiebi/CodeConvo huggingface dataset:
Change:
"brackets": [ ["{", "}"], ["[", "]"], <del> ["(", ")"] </del> <ins> ["(", ")"], ["#if","#endif"], </ins> ], "autoClosingPairs": [ { "open": "[", "close": "]" },

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. --Noticed that SourcePawn extension has this feature, it should be enabled for built-in C/C++ preprocessor #if and #endif, just like for brackets [] () {} SourcePawn: ! C/C++: ! Could probably be done for other languages that have keywords rather than braces for opening and closing a block, e.g. Lua's if-then-end: !
Not sure if this is editor or C/C++ language config / text mate.
<!-- -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!
Hello there,is this issue open?If so,could i work on this?
Should make request to Just add as brackets to !
This change should be reverted if it can't be made work with all the other preprocessor statements that match the endif: #if, #ifdef, #ifndef, #else, #elif, #elifdef, #elifndef, see matching isn't required, but it shouldn't show the #endif as unmatched.
it'll work fine with the rest of the #if's just #else etc won't work as vscode doesn't support inside/middle brackets but it won't cause any issues
ah..... one thing I forgot about ! bit of a deal breaker vscode would have to support 'transcendent' brackets similar problem to
Oh -- that seems like a different bug? ! -- The red }, not sure how you got the red {. It doesn't repro with VS Code (non-Insiders). Repro code is Should someone file a new bug on that or is it the same root issue?
Yeah, looks like the PR at fixes it though.
Thanks for reporting this! We will revert the PR as it causes too many unexpected issues. If you like to have this, you can configure the brackets to colorize in the user settings.
Okay, I figured it out via The directives remain the unmatched color.

We closed this issue because we in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider. If you wonder what we are up to, please see our and . Thanks for your understanding, and happy coding!
Change:
import { GetErrRoutingTsServer, ITypeScriptServer, ProcessBasedTsServer, SyntaxRoutingTsServer, TsServerDelegate, TsServerProcessFactory, TsServerProcessKind } from './server'; import { TypeScriptVersionManager } from './versionManager'; import { ITypeScriptVersionProvider, TypeScriptVersion } from './versionProvider'; <del> import * as semver from 'semver'; </del> const enum CompositeServerType { /** Run a single server that handles all commands  */

Discussion:
Issue Type: <bBug</brepo your user tsdk to use this version, for example: load the VS Code workspace (making sure you are using your user TS version) a file in and try getting the document outline Bug Big delay. This is because two full TS Servers are being spawned instead of a syntax only server + full server (see memory usage in screenshot): <img width="1079" alt="Screen Shot 2020-08-11 at 3 13 33 PM" src="https://user-"VS Code version: Code - Insiders 1.48.0-insider (, 2020-08-11T10:13:04.551Z) OS version: Darwin x64 19.6.0 <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Seems like this was caused by
For verification, try the following cases: Using TS 3.9.7 Using TS 4.0.1-rc Using TS Using an old TS version like 3.5 (older versions don't support the syntax server at all) All should load the document symbols quickly even while the loading spinner is showing You can use the same global install in all cases, just make sure to reload VS Code each time
Assigning this to july milestone since it is a candidate.
following your steps I have verified that the outline get loaded quickly, however I still see two tsservers spinning up when I open the process explorer. If I understood correctly this is by design, since only one of them has a large memory usage. I have verified for TS: 3.9.7, 4.0.1-rc. ts 3.5 Thus adding verified label !
Change:
watchingProblemMatcher.aboutToStart(); let delayer: Async.Delayer<any> | undefined = undefined; [terminal, error] = this._terminalForTask ? [this._terminalForTask, undefined] : await this._createTerminal(task, resolver, workspaceFolder); <ins> this._terminalForTask = undefined; </ins> if (error) { return Promise.reject(new Error((<TaskError>error).message));

Discussion:
to repro: run the build task reload the window delete the build task terminals run the build task you can't and see an error abt the terminal now existing ! Originally posted by in
Change:
public get localLinkRegex(): RegExp { return this._localLinkRegex; } <ins> public get gitDiffLinkPreImageRegex(): RegExp { return this._gitDiffPreImageRegex; } public get gitDiffLinkPostImageRegex(): RegExp { return this._gitDiffPostImageRegex; } </ins> public preprocessPath(link: string): string | null { return this._preprocessPath(link); }

Discussion:
Example:
Do you mind if I take on this issue? I assume the request is to make and Ctrl-clickable such that the links open the correct versions of the files.
sounds good. The link registration is done here and it's based on regexs: We basically want the and parts to be matched, but ignored as part of the link.
I'm having a bit of trouble with getting the two git blob IDs and , which are necessary to get the correct versions of the files. I tried to write a multi-line regex for that captures the blob IDs in groups, along with the paths we want to link, but currently only runs the regex on a per line basis (by iterating through the buffer), not on the whole content of the terminal. So the regex didn't find any matches. I also tried to get the blob IDs by parsing the contents of the terminal manually, but doesn't seem to offer a public interface to retrieve the contents. I do see but I don't want to rely on an internal implementation to do something like this. How do you suggest I proceed? Should I submit a PR to to allow multi-line regex in ?
I'm having a bit of trouble with getting the two git blob IDs and , which are necessary to get the correct versions of the files. Oh I wouldn't go that far, just pointing both links to the current version of the file would be good enough start with.
Ah I see, that's a lot simpler to do. Will open a PR soon.
Change:
type: 'string', description: nls.localize('contributes.viewsWelcome.view.group', "Group to which this welcome content belongs."), }, <ins> [ViewsWelcomeExtensionPointFields.enablement]: { type: 'string', description: nls.localize('contributes.viewsWelcome.view.enablement', "Condition when the welcome content buttons should be enabled."), }, </ins> } } });

Discussion:
Below is a recording of a Control-R reload when no workspace is open and one non-builtin extension is contributing to to the Welcome view of Explorer. ! Observe how we start with Explorer's usual "NO FOLDER OPEN" view. Next my extension contributes its text and buttons. Finally the built-in git extension contributes text and a button. Since built-ins get higher priority the content from my extension jumps downward, perhaps while I'm reading it or trying to click one of its actions (link, button). There's no progress indicator when the content is being fetched and assembled, and it's hard to know how long to wait before concluding that no other extensions are going to contribute. VS Code version: Code 1.49.0 (, 2020-09-10T13:22:08.892Z) OS version: Windows_NT x64 10.0.
Similarly on the Source Control view, it starts with a message saying "No source control providers registered" and stays this way long enough for me to worry that something is broken or missing. Eventually the contribution from the git extension arrives. If a progress indicator isn't , maybe at least the initial message could say something like "Please wait while we look for source control providers". Then if nothing contributes (e.g. the git extension has been disabled,) it could then display "No source control providers registered".
This will be very hard to achieve. The problem here isn't actually the extension point, for which we could definitely add a progress indicator, but the activation of the git extension. That git section won't appear until the git extension is activated and all the potential repo locations have been probed... We simply can't add a progress indicator for that in the core unless we add some more API.
On this, we could potentially add a message.
That might help.
Closing this until we get actual user feedback that it's needed, sorry
Change:
const endOfLinePreference = isWindows ? EndOfLinePreference.LF : EndOfLinePreference.CRLF; text = editor.getModel().getValueInRange(selection, endOfLinePreference); } <del> instance.sendText(text, true); </del> <ins> instance.sendText(text, true, true); </ins> if (instance.target === TerminalLocation.Editor) { await terminalEditorService.revealActiveEditor(); } else {

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 "Run Selected Text In Active Terminal" function (especially with a key binding) is invaluable for quickly testing snippets in bash scripts. Unfortunately, the input is interpreted by the interactive terminal when tabs are used for indentation: Running this snippet leaves the terminal like this: For most terminals, setting in the or running skips the terminal handling for pasted text (see ). The integrated terminal should use bracketed paste (and set this option) by default. Currently, it can be circumvented by running , but then I would have to enable it manually again before using the terminal interactively.
Addendum: manually pasting the block with Strg+Shift+V works as intended
If we do this we need to be careful of edge cases like
Change:
import { MarkdownString } from 'vs/base/common/htmlContent'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { LOCALIZED_START_INLINE_CHAT_STRING } from 'vs/workbench/contrib/inlineChat/browser/inlineChatActions'; <del> import { IBreakpoint, IDebugService } from 'vs/workbench/contrib/debug/common/debug'; </del> <ins> import { IBreakpoint, IDebugService, IDebugSession } from 'vs/workbench/contrib/debug/common/debug'; </ins> import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences'; import { URI } from 'vs/base/common/uri';

Discussion:
Initially noticed by : <img width="780" alt="Screenshot 2023-11-17 at 13 53 45" src=""
Change:
keybinding: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyO, weight: KeybindingWeight.WorkbenchContrib + 1, <del> when: TerminalContextKeys.focus, </del> <ins> when: ContextKeyExpr.or(TerminalContextKeys.focus, TerminalContextKeys.accessibleBufferFocus) </ins> }, run: (activeInstance) => TerminalLinkContribution.get(activeInstance)?.showLinkQuickpick() });

Discussion:
cc
Alternative idea: Using the symbol analogy, you could consider both links and commands close to symbols, so why not present both in the same quick pick, regardless of screen reader mode?
Great idea. The only concern is that presenting both info in one quick pick might be too messy and cause unnecessary confusion.
Yeah already said it's tough to navigate the quickpick as is. Nice idea, but I fear that would complicate things
do the headers in the quick pick not work well in screen readers? After filtering should we be announcing something like x items in header1, y items in header2?
An issue is that it wraps around when using arrow keys. So, for example, using the link quick pick is odd because you can wrap around to some pretty irrelevant "word link" results quite easily.
We could have this be one command but make the user select which type they're interested in IE or as the first step
Configuring on first use like that can be a bad experience as you don't know what you want initially and may not know how to change it after. Perhaps there should be a filter for workspace search links, like , and/or we hide non-relevant looking ones unless you hit show more links.
Oh, I didn't mean configuring. I meant showing that option every time the command is used.
IMO, these should remain separate commands because the point of a quick pick is you know what you're getting and don't have to go looking for a particular category - it's quick
Can you please provide steps to verify?
Steps were to check open detected link and navigate accessible buffer commands have differing keybindings and both work !
Change:
this.isExiting = true; this.dispose(); if (exitCode) { <del> console.error('Integrated terminal exited with code ' + exitCode); </del> <ins> this.messageService.show(Severity.Error, nls.localize('terminal.integrated.exitedWithCode', 'The terminal process terminated with exit code: {0}', exitCode)); </ins> } this.onExitCallback(this); }

Discussion:
Steps to Reproduce: terminal as "faketerm" +`
On Linux (ElementaryOS) I get an error dialog with message 'The terminal process terminated with exit code: 1'. Setting as verified, although more details would be helpful.
Indeed that verifies it. Thanks.
Change:
public globList: { include: boolean; text: string }[] = []; /** @inheritdoc */ <del> public onlyTags = new Set<string>(); </del> <ins> public includeTags = new Set<string>(); /** @inheritdoc */ public excludeTags = new Set<string>(); </ins> /** @inheritdoc */ public readonly text = new MutableObservableValue('');

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --Splitting this out from In the Test UI you can filter by text or exclude text using and filter by a . It would be nice if we could also negate tags in the filter like to exclude a specific tag. <!-- Describe the feature you'd like. --
Starting point, this is where tag filtering happens:
Change:
// React to configuration changes this._register(Event.runAndSubscribe(configurationService.onDidChangeConfiguration, e => { if (!e || e.affectsConfiguration(TerminalSettingId.StickyScrollMaxLineCount)) { <del> this._maxLineCount = configurationService.getValue(TerminalSettingId.StickyScrollMaxLineCount); </del> <ins> this._rawMaxLineCount = configurationService.getValue(TerminalSettingId.StickyScrollMaxLineCount); </ins> } }));

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:
"command": "git.stashPopLatest", "title": "%command.stashPopLatest%", "category": "Git" <ins> }, { "command": "git.stashApply", "title": "%command.stashApply%", "category": "Git" }, { "command": "git.stashApplyLatest", "title": "%command.stashApplyLatest%", "category": "Git" </ins> } ], "menus": {

Discussion:
I've attempted to find any other requests for this but didn't seem to see any. At the moment the CVS context menu shows: ! Only "Pop latest stash" and "Pop stash..." are visible. Is it possible to change the default stash behaviour to "apply" rather than "pop"? Additionally, is it possible to add two lines under "Pop stash..." for the same actions, just using apply: Apply latest stash Apply stash... I just lost a few hours and considerable amount of hair when a popped stash was deleted. I then had to sift through doing on each . Having "Apply stash..." easily accessible might be nicer.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.676 --<!-- potentialduplicatescomment --
I suggest to simply add and commands.
is anyone working on this, if not, I'll like to pick it up as a
looks like it might already be done in
yeah, just confirmed, Thanks. If I may ask, is there any rule around tagging an issue that is being worked on as it would be multiple efforts if I happen to have started it without anyone's knowledge. I've been scouting for an issue with no assignee to work on :-( Thanks for the catch tho!
Change:
const [executable, subcommand] = execution.commandLine.value.split(/s+/); const cwd = execution.cwd ?? shellIntegration.cwd; <del> if (executable.toLowerCase() !== 'git' || !this.subcommands.has(subcommand.toLowerCase()) || !cwd || exitCode !== 0) { </del> <ins> if (executable.toLowerCase() !== 'git' || !this.subcommands.has(subcommand?.toLowerCase()) || !cwd || exitCode !== 0) { </ins> return; }

Discussion:
Steps to Reproduce: VS Code a folder/workspace that contains a git repository the integrated terminal and run Developer Tools and see the following error:
Change:
} /* Status bar item focus outline */ <del> .monaco-workbench .part.statusbar > .items-container > .statusbar-item a:focus-visible:not(.disabled) { </del> <ins> .monaco-workbench .part.statusbar > .items-container > .statusbar-item a:focus-visible { </ins> outline: 1px solid ${this.getColor(activeContrastBorder) ?? itemBorderColor}; outline-offset: ${borderColor ? '-2px' : '-1px'}; }

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?: Unsure -- couldn't find a built-in status item without a command. <!-- 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.86.2 OS Version: Windows 11 Steps to Reproduce: a status bar item (e.g. via the extension API) that has no set attribute. For example you can modify the and comment out the line setting the item command. the keyboard to navigate focus to the item. that the focus outline does not appear on the item even though it has primary focus, tooltip shows, etc. !
<!-- 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!
could you please give an ETA when the fixes will be deployed in VS Code Insiders I already tested the issue in the above version which is version 1.86 but the issue is still reproducing. If am not correct with the version please let me know the version.
Github Tags: #BM-VisualStudioCodeClient-Win32-Jan2024; #Visual Studio Code Client; #A11yMAS; #WCAG2.4.7; #A11yTCS; #FocusVisible; #A11ySev3; #Keyboard;
Change:
[treeStickyScrollMaxElements]: { type: 'number', minimum: 1, <del> default: 5, </del> <ins> default: 7, </ins> markdownDescription: localize('sticky scroll maximum items', "Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled."), }, [typeNavigationModeSettingKey]: {

Discussion:
Testing Related: The UX degrades quite a bit when the maximum item count is hit. Thinking about the explorer specifically and the maximum 40% height cap, I think it makes sense to increase the maximum to something closer to 10. Here's my standard explorer setup: ! This has plenty of room to include the sticky scroll entries, which not only improve contextual awareness of , but every file in the view at that time, especially with guides showing: ! not sure if you've seen similar feedback for editor? I rarely have code indented that deep fwiw, but that's just my preferred style.
So I have not received feature requests for this in the editor. I think the code is less nested generally than in the explorer, where you can easily have a nesting with 10 levels.
because of that I think we're bad users to evaluate whether this is needed. The question is, as a user who frequently writes/reads deeply nested code, is it better to take an additional 20+ pixels per row for the proper context showing. Provided we have a decent maximum percentage cap I would guess that the answer will usually be yes, and in the off case where it's no the user can decrease the maximum themselves.
I was planning on increasing it, but wasn't sure yet what value to pick. 10 seems like a lot even if the user has the space for it. I think I will increase it to around 7/8. I'm also looking into other solutions which would compress multiple nodes into one when the limit is reached, but this won't be part of this release. I think 5 is good for the other two sticky scrolls.
I came up with a similar idea to compress which I think will be even better than increasing the max like that !
Should this not be based on screen size rather than a concrete item limit? My screen is a tiny 13" macbook and does not have room for 7/8
there's a cap of 40% of screen size regardless of the setting value