jiebi/CodeConvo huggingface dataset:
Code change:
export const NAVIGATE_ALL_EDITORS_GROUP_PREFIX = 'edt '; export const NAVIGATE_IN_ACTIVE_GROUP_PREFIX = 'edt active '; <ins> export const OPEN_EDITOR_AT_INDEX_COMMAND_ID = 'workbench.action.openEditorAtIndex'; </ins> export interface ActiveEditorMoveArguments { to?: 'first' | 'last' | 'left' | 'right' | 'up' | 'down' | 'center' | 'position' | 'previous' | 'next'; by?: 'tab' | 'group';

Related discussion:
text: I am forming an openEditorAtIndex command using the following syntax: '' + index 1-9 work correctly (and are default keybindings already). Would it be possible to add support for any index? I currently need to use this command if <= 9 and if 9, I have to go to index 9 and then next count - 9 times to get to the desired pane with a risk of wrapping around
trying to understand the scenario here, I do not think it makes sense for VSCode to introduce commands for more indices because this number is pretty much unlimited. Can we have another command that just goes to the next index, from the current one and you could use that instead? E.g. does it work if you use ?
Lines 55 - 89 are what I use to be able to go to any tab My case here is what I am trying to avoid Ideally I could do and never think twice about it The problem with using nextEditorInGroup is that I have no way of knowing the max editor number index, so if I say go to tab 10 and there are only 8 tabs, the current logic will try to go to tab 9 with the absolute exposed command, then use a nextEditorInGroup command.
that switch-case statement looks quite horrible, an alternative would be for the workbench to expose a command where you just pass the index as argument into. We already have that for other commands, e.g. see the "move editor command" () Would that be better?
That would work for me too! It is not very urgent since I don't think people navigate to tabs they can't see very often but for completeness it would be nice! Thanks!
Great. I would accept a reasonable small PR on this feature request.
I'll try to write a reasonable small PR for this :)
landed, thanks to
Some steps so I do not have to read the whole discussion? What command with what arguments should do what now?
here you go: write an extension that executes and verify the tab at that index opens.
Works nicely. Though the counting starts from - might be a bit confusing.
Ah yeah good point, but I think that is fine.
Code change:
if (info.password) { inputOptions.password = info.password; } <del> return this.quickInputService.input(inputOptions).then(resolvedInput => { return resolvedInput; </del> <ins> return this.userInputAccessQueue.queue(() => this.quickInputService.input(inputOptions)).then(resolvedInput => { return resolvedInput as string; </ins> }); }

Related discussion:
text: <!-- 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.63.2 OS Version: macOS 12.1 (ARM64) I can't get more than two launch configurations to run at the same time. I can run the rest of the configurations afterwards and everything works (debugging, etc.). StopAll will also only close the two configs that were successfully launched. I haven't found any mention in the documentation that this is limited to two launch configurations. I've only seen that two are used in every explanation or tutorial about this feature. Steps to Reproduce: multiple launch configurations in multi-root workspace inside of project roots. launch configurations to compounds in .code-workspace file debugging two of the many compound configurations will run Examples:
VS Code imposes no limit on number of launch configurations in compound config. I've verified this with this simple example project (which only relies on built-in VS Code features and not third-party extensions): unpack zip file in VS Code use "Open Workspace from file" to open workspace file inside folder switch to debug viewlet in debug config dropdown select and run "4 Debug Session" Observe: 4 debug sessions: <img width="1384" alt="CleanShot 2022-01-26 at 11 45 23 src="https://user-"Maybe there is a limit on dotnet/coreclr?
Thank you for taking a look at this After inspecting your configuration and some research in my own project I was able to isolate the culprit. The problem arises when you try to make use of inputs in the launch configuration.
Code change:
if (info.password) { inputOptions.password = info.password; } <del> return this.quickInputService.input(inputOptions).then(resolvedInput => { return resolvedInput; </del> <ins> return this.userInputAccessQueue.queue(() => this.quickInputService.input(inputOptions)).then(resolvedInput => { return resolvedInput as string; </ins> }); }

Related discussion:
text: I created a demo for download, the process is the same as you described above.
thanks for the additional info. I was able to create an even smaller repro without a multi-folder workspace: unpack zip file in VS Code open the "compound" folder switch to debug viewlet in debug config dropdown select and run "Compound" Observe: only one debug session starts
Is it possible to implement the input that allows blocking another input request until the first input has completed? Latter quick pick also cancels former ones so it needs to be fixed as well.
Do you own the configuration resolver Is my solution correct or should the service guarantee correct behavior when calling into it multiple times simultaneously?
your solution looks good. The configuration resolver service doesn't currently make any guarantees about what will happen if it's called into multiple time simultaneously. I would also be fine with the change being in the configuration resolver service though. We can change it's behavior so that it does make that guarantee.
Yes, making the fix in the configuration resolver service sounds better.
This fix doesn't fully cover our scenario (tested in latest insiders). This fixes case, and yet we also prompt for input or quick pick in , which is not covered in this PR. Is it appropriate to wait for as well?
Good point. Yeah, I think that makes sense.
I guess we'll need Queue's for and Would you like to make the changes, or should I work on this?
I can take care of it
This gets a bit weird. Since one launch config can be calling into the variable resolver (the first fix) while the second is calling the extension config provider, we also need a queue that orchestrates those two things. Easiest fix is to start launch configs one at a time instead of kicking them off in parallel: and I'm not sure what other impacts that could have. Perf to some extent, probably. So I wonder whether we would ever consider queueing calls into the quick pick control so that invoking the quick pick while it is already visible would wait instead of cancelling the first one as it does currently. Example of what I'm talking about (but in my real situation it's an extension competing with code in core): This extension code only shows one input box, while we could have the second wait for the first to complete. This could possibly be a breaking change for some extensions though, so it could be enabled with a flag.
Code change:
if (info.password) { inputOptions.password = info.password; } <del> return this.quickInputService.input(inputOptions).then(resolvedInput => { return resolvedInput; </del> <ins> return this.userInputAccessQueue.queue(() => this.quickInputService.input(inputOptions)).then(resolvedInput => { return resolvedInput as string; </ins> }); }

Related discussion:
text: As an easy workaround, I can put a queue around calling into the vscode variable resolver and calling an extension debug config provider. But, putting a queue around two unrelated pieces of code seems to say that I'm solving the problem at the wrong level.
Or maybe make them the same level by moving the resolve queue to
Just to be clear. The two callers of the are in two different places right (core and extension)?
Right
Ok I've not heard of any feature request like this but feel free to open one... I wonder if maybe instead Core could have concept of "important" quick picks that can't be stomped over by extensions and instead the extension calls wait until Core is done. Then we don't need any more API
It can also go the other way. The problem is just that there are two async processes that have to run and show a quick input, and we need both of them to complete and not to get canceled by the other. Filed I'll go with a workaround for now, so I'm not blocked, just figured I'd start the discussion
Sorry for the late reply. I tested this today and it works for our scenario. Thanks for the quick fixes!
Code change:
'editor.guides.highlightActiveBracketPair': { type: 'boolean', default: defaults.highlightActiveBracketPair, <del> description: nls.localize('editor.guides.highlightActiveBracketPair', "Controls whether bracket pair guides are enabled or not.") </del> <ins> description: nls.localize('editor.guides.highlightActiveBracketPair', "Controls whether the editor should highlight the active bracket pair.") </ins> }, 'editor.guides.indentation': { type: 'boolean',

Related discussion:
text: Issue Type: <bBug</bThe description for is copied from VS Code version: Code 1.64.2 (, 2022-02-09T22:02:28.252Z) OS version: Windows_NT x64 10.0. Restricted Mode: No Remote OS version: Linux x64 5.4.0-100-generic <details<summaryExtensions (15)</summaryExtensionVersion ------ jupyter-keymap1.0.0 remote-ssh0.74.0 remote-ssh-edit0.74.0 vscode-icons11.10.0 gitlens11.7.0 cmake-language-support-vscode0.0.4 git-graph1.30.0 vscode-dotnet-runtime1.5.0 python2022.0. vscode-pylance2022.2.3 jupyter2022.1. jupyter-keymap1.0.0 jupyter-renderers1.0.6 cmake-tools1.9.2 cpptools1.8.4 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Code change:
} // Find actions available for menu <del> const menuActions = this._getMenuActions(this._editor.getModel(), MenuId.EditorContext); </del> <ins> const menuActions = this._getMenuActions(this._editor.getModel(), this._editor.isSimpleWidget ? MenuId.SimpleEditorContext : MenuId.EditorContext); </ins> // Show menu if we have actions to show if (menuActions.length > 0) {

Related discussion:
text: re focus SCM input show context menu the is a entry "Command Palette..." which is awkward <img width="703" alt="image" src="https://user-"
Related to this, on my system that context menu also gives me entries that have been contributed by a couple of my extensions.
Same issue on macOS as well
This happens across all our inputs which use the Editor. IMO we should not include all those contributions and should just have , & in that menu. What's the simplest way towards this
The "Command Palette..." should potentially have a better context key for , not :
Thanks! But this is actually only half of the story. As mentions, extension contributed commands show up: ! Should we file issues to these extensions, suggesting to change their clauses?
It might be better/simpler to have another menu id, something like or even something SCM specific
To reproduce, you can use:
Code change:
"license": "MIT", "description": "Dependencies shared by all extensions", "dependencies": { <del> "typescript": "5.1.3" </del> <ins> "typescript": "5.1.6" </ins> }, "scripts": { "postinstall": "node ./postinstall.mjs"

Related discussion:
text: Track picking up
To verify, just open a TS file and click on the language status to check that the bundled TS version is 5.1.6
Code change:
let lastTimeScrolled: number | undefined; function flagRecentlyScrolled(node: Element, deltaY?: number) { scrolledElement = node; <del> if (!deltaY) { </del> <ins> if (deltaY === undefined) { </ins> lastTimeScrolled = Date.now(); previousDelta = undefined; node.setAttribute('recentlyScrolled', 'true');

Related discussion:
text: in VS Code stable and VS Code insiders all cells in each quickly up and down through the notebook :bug: in VS Code insiders scrolling over notebook outputs is not smooth anymore; scrolling appears to stutter and halt over notebook outputs I took performance profiles in stable and insiders but devtools won't let me save them unfortunately. Nothing stood out though in terms of memory usage or a particular function call increasing in percentage across profiles. LMK if I can provide more info
Is this with a trackpad? I might be seeing this. Could be a regression from
I've the same issue with a trackpad on Windows.
Yeah, trackpad on Windows for me as well
Code change:
return data; } else { const result = new Uri(data); <del> result._formatted = (<UriState>data).external; result._fsPath = (<UriState>data)._sep === _pathSepMarker ? (<UriState>data).fsPath : null; </del> <ins> result._formatted = (<UriState>data).external ?? null; result._fsPath = (<UriState>data)._sep === _pathSepMarker ? (<UriState>data).fsPath ?? null : null; </ins> return result; } }

Related discussion:
text: Following test throws: I found this while investigating At that point the editor component is quite broken because of a lot of errors being thrown. Notice how not even a tab shows for the editor: <img width="1058" alt="image" src="https://user-"
that should already throw because at least a scheme is needed. It doesn't because was designed to be the runtime counter part of which never produces such output so some IPC deserialisation cost can be saved.
, that works for me and will also throw when we get bad objects into such as the from
Yeah, my plan is to add an argument like we have in other URI-places. It will default to true and only IPC should be relaxed
Not doing that because it actually already exists as . I believe the adoption/migration task is to use instead of whenever getting uri components from storage or esp from command arguments. Tho, there is one special case for which is that it automatically uses when the scheme is missing. We could make that configurable but a check for might make this obsolete
Closing this after and the ask to use when creating uri from "untrusted" sources
I will see to adopt , I forgot we had it
Code change:
getId: () => { return null; }, getControl: () => { return { <del> getSelection: () => { return { positionLineNumber: this.mockLineNumber }; } </del> <ins> getSelection: () => { return { positionLineNumber: this.mockLineNumber }; }, getModel: () => { return { getValueInRange: () => this.mockSelectedText }; } </ins> }; }, focus: () => { },

Related discussion:
text: Variable substitutions that are available for (see ) do not include currently selected text. I am looking for something similar to $(CurText) that is available in Visual Studio Arguments for External Tools (see ). Please add a variable ${curtext} which would be replaced with the currently selected text in the editor window. If no selection is available, it could use the current line at cursor position.
Nice idea, but I think it's too late for implement that in the current milestone...
Fixed by in
Verifiers: what happens if all text in a 300 MB file is selected...
good point. Maybe we should put a limit on this. Or only to copy the howl line at most (even though the line could also be 300mb I am fine with that) thoughts?
Selecting lots of text, at some point I get . If there's a predictable limit where this will fail, we should just cut the string off there. Unless only sending part of the text could be dangerous or unexpected for the user. In any case I think that sending multiple lines of text could be useful.
there is not a predictable limit since the variables are used in different scenarios. If somebody has an idea for a limit I am open to PRs
Code change:
rangeEqual(matches[i], ranges[i][0], ranges[i][1], ranges[i][2], ranges[i][3]); } }); <del> }); </del> <ins> test('/^/ find', () => { var ranges = [ [1, 1, 1, 1], [2, 1, 2, 1], [3, 1, 3, 1], [4, 1, 4, 1], [5, 1, 5, 1] ]; var matches = thisModel.findMatches('^', false, true, false, false); assert.equal(matches.length, ranges.length); for (var i = 0; i < matches.length; i++) { rangeEqual(matches[i], ranges[i][0], ranges[i][1], ranges[i][2], ranges[i][3]); } }); test('/$/ find', () => { var ranges = [ [1, 74, 1, 74], [2, 69, 2, 69], [3, 54, 3, 54], [4, 65, 4, 65], [5, 31, 5, 31] ]; var matches = thisModel.findMatches('$', false, true, false, false); assert.equal(matches.length, ranges.length); for (var i = 0; i < matches.length; i++) { rangeEqual(matches[i], ranges[i][0], ranges[i][1], ranges[i][2], ranges[i][3]); } }); test('/^$/ find', () => { var text = [ 'This is some foo - bar text which contains foo and bar - as in Barcelona.', '', 'And here's a dull line with nothing interesting in it', '', 'Again nothing interesting here' ]; thisModel = new Model.Model(text.join('n'), null); var ranges = [ [2, 1, 2, 1], [4, 1, 4, 1] ]; var matches = thisModel.findMatches('^$', false, true, false, false); assert.equal(matches.length, ranges.length); for (var i = 0; i < matches.length; i++) { rangeEqual(matches[i], ranges[i][0], ranges[i][1], ranges[i][2], ranges[i][3]); } }); }); </ins>

Related discussion:
text: Using regex expressions am unable to find empty lines. Tried both the end of line sequence. Copying the same text in sublime simple n finds all the blank lines.
That has been an issue for me for quite a while. Never really checked again if it's already working because I started to automatically open notepad++ again whenever I needed to replace newlines.
This problem could manifest if the lines are being split before searching as opposed to doing a full text search. Interesting side note; seems to work in find in files (Ctrl+Shift+F), just not in the find dialog (Ctrl+F).
Couldn't even find empty lines with ^$ (in case they were being split without EOL).
Looked at the code, it does indeed look at each line individually. I'm created a new issue for multi-line matching
Code change:
import { TerminalCommandTracker } from 'vs/workbench/parts/terminal/node/terminalCommandTracker'; import { TerminalProcessManager } from './terminalProcessManager'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; <ins> import { execFile } from 'child_process'; </ins> // How long in milliseconds should an average frame take to render for a notification to appear // which suggests the fallback DOM-based renderer

Related discussion:
text: VSCode Version: 1.17.2 OS Version: Win10 Steps to Reproduce: Terminal to bash <Ctrl+<Shift+<Pand type "run active file" command not work because path to the file is windows-style and <.is missing in front.
I would like to fix this.
Looks like the util was introduced in Windows
Code change:
import { IStringDictionary } from 'vs/base/common/collections'; import { localize } from 'vs/nls'; import { IConfigurationPropertySchema } from 'vs/platform/configuration/common/configurationRegistry'; <del> import product from 'vs/platform/product/common/product'; </del> export const enum TerminalInitialHintSettingId { Enabled = 'terminal.integrated.initialHint'

Related discussion:
text: I've verified that I can see the terminal hint in insiders. Does this also need to be tested in stable?
Yes this needs a stable build as it checks quality. You could verify out of sources by setting quality to stable as well
Code change:
import { IStringDictionary } from 'vs/base/common/collections'; import { localize } from 'vs/nls'; import { IConfigurationPropertySchema } from 'vs/platform/configuration/common/configurationRegistry'; <del> import product from 'vs/platform/product/common/product'; </del> export const enum TerminalInitialHintSettingId { Enabled = 'terminal.integrated.initialHint'

Related discussion:
text: Can this support right click to toggle the setting to hidden? !
right click shows our terminal context menu, perhaps we should just put it in there rather than adding a new one? !
this isn't a feature the others offer, thus not a bug IMO
Code change:
dependencies: find-up "^3.0.0" <del> playwright-core@=0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-0.15.0.tgz#c605c98a13c81d5a2e2691f15d04758cf302c20a" integrity sha512-uTm4PoF2U3iXkLMMG9vlTxlGfO8atQGAHDxqi8xV7hEjNSYeLTU7c6HN5zwadeHRVuBbNsZ4yqu9u4hoqC7uxQ== </del> <ins> playwright-core@=1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.0.1.tgz#823b6f1afa16917ffd418f3cec0c14688a985738" integrity sha512-a71FjUDRFqWLG3VBAojVen2TaZiXkuog+ZmI0Nh0+/QndFUbbW3kameOfUTMXFvLUGWx2ipERZx6EQTJMEQDMA== </ins> dependencies: debug "^4.1.1" extract-zip "^2.0.0"

Related discussion:
text: Issue Type: <bBug</bPlotting a large plot (e.g seaborn pairplot) with many columns via jupyter interactive mode and then viewing in plots viewer is very slow to view/zoom/pan VS Code version: Code 1.45.1 (, 2020-05-14T08:27:35.169Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ vscode-django0.20.0 vscode-markdownlint0.36.1 python-extension-pack1.6.0 gc-excelviewer2.1.35 r1.4.2 vsc-python-indent1.10.1 MagicPython1.1.0 anaconda-extension-pack1.0.1 python2020.6. vscode-yaml0.8.0 vscodeintellicode1.2.8 </details<!-- generated by issue reporter --
This sounds like a problem caused by the extension providing the Jupyter Notebooks. Please file the issue there.
Hi same problem here, are there any workarounds in place for this?
I've moved to
Code change:
dependencies: find-up "^3.0.0" <del> playwright-core@=0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-0.15.0.tgz#c605c98a13c81d5a2e2691f15d04758cf302c20a" integrity sha512-uTm4PoF2U3iXkLMMG9vlTxlGfO8atQGAHDxqi8xV7hEjNSYeLTU7c6HN5zwadeHRVuBbNsZ4yqu9u4hoqC7uxQ== </del> <ins> playwright-core@=1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.0.1.tgz#823b6f1afa16917ffd418f3cec0c14688a985738" integrity sha512-a71FjUDRFqWLG3VBAojVen2TaZiXkuog+ZmI0Nh0+/QndFUbbW3kameOfUTMXFvLUGWx2ipERZx6EQTJMEQDMA== </ins> dependencies: debug "^4.1.1" extract-zip "^2.0.0"

Related discussion:
text: Following the discussion in Repro steps on Windows: use a monospace font, make sure ligatures are not used, etc. (i.e. default editor related settings) change the scale setting of the display the editor decorations / selection should render correctly (on top of the correct text) (the problem was that the font measurements done with a certain display scale were used across all display scales).
Code change:
.filter(r => this.repositoryPanels.every(p => p.repository !== r)) .map(r => this.instantiationService.createInstance(RepositoryPanel, r, this)); <del> // Add new selected panels </del> <ins> // Add new selected panels and focus repository panel </ins> this.repositoryPanels = [...repositoryPanels, ...newRepositoryPanels]; newRepositoryPanels.forEach(panel => { this.addPanel(panel, panel.minimumSize, this.length); panel.repository.focus(); <ins> panel.onDidFocus(() => this.lastFocusedRepository = panel.repository); if (newRepositoryPanels.length === 1 || this.lastFocusedRepository === panel.repository) { panel.focus(); } </ins> }); // Remove unselected panels

Related discussion:
text: <!-- Do you have a question? Please ask it on --<!-- Use Help Report Issue to prefill these. --- VSCode Version: OS Version: Window 10 Steps to Reproduce: gif: !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.562 --- <!-- score: 0.491 --<!-- potentialduplicatescomment --