jiebi/CodeConvo huggingface dataset:
Code change:
I recently came across CSS rule. According to the : I do not think we want the panning and zooming, but the removal of the 300ms delay sounds great to get a more snappy UI when using touch for e.g. action bars. Maybe worth a try?
I wonder if would even be the right thing, but not sure it removes the 300ms delay:
Interesting, I see we use this property already, e.g. in the list:
Worth experimenting with. do you remember why you that css property for the list? For now assigning to June, might push out due to lack of time.
Did not have time, pushing out to August, since in July I am on vacation
Probably for the 300ms removal.
Adding bug, so we get this verified. Steps: ipad. sure the touch behaves as expected in the editor and some views touch triggers context menu
feels pretty snappy to me!

Related discussion:
text: } .monaco-workbench.web { <del> touch-action: initial; /* reenable touch events on workbench */ </del> <ins> touch-action: none; /* Disable browser handling of all panning and zooming gestures. Removes 300ms touch delay. */ </ins> } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
Code change:
Issue Type: <bBug</bI currently store some arbitrary JSON-serializable object using and updating keys. At the top level, my configuration variable is an array, and each element is a dictionary that contains some keys. One of those keys map to a value like this: This sets fine, and I can look in my workspace's to see all keys and values there as expected. However, when I try to get the value from the workspace configuration again, the empty string key and its value are missing, meaning I unable to retrieve the array with in it. So it seems VSCode filters out keys which are blank strings when reading workspace configurations, although it will set/save them. This is currently blocking a project I'm working on and should be a trivial fix. VS Code version: Code 1.57.1 (, 2021-06-17T13:28:07.755Z) OS version: Windows_NT x64 10.0. Restricted Mode: No <!-- generated by issue reporter --
I am sorry that I do not understand the usage of the API here and what is being done. Can you please provide a sample code snippet to reproduce the issue?
Here's a round trip example of me saving an object to the workspace configuration, and retrieving it. It shows all data is stored appropriately, but data is lost when reading it back if a blank string key exists. The message will be shown. If you comment out/remove the key-value pair in , it will instead say . So VSCode is losing data when obtaining data from the workspace configuration if you store an object which has a blank key somewhere (at any level of depth).
There was a fairly quick initial response here, but since then a good amount of time has elapsed. Has there been any progress updates or planning related to this issue? Can you confirm you now understand the issue given the above proof-of-concept? It should be very clear.
Thanks for the info. It is in my list of issues to investigate, I will try it out and get back to you.

Related discussion:
text: function onValue(value: any) { if (Array.isArray(currentParent)) { (<any[]>currentParent).push(value); <del> } else if (currentProperty) { </del> <ins> } else if (currentProperty !== null) { </ins> currentParent[currentProperty] = value; } }
Code change:
Issue Type: <bBug</bI currently store some arbitrary JSON-serializable object using and updating keys. At the top level, my configuration variable is an array, and each element is a dictionary that contains some keys. One of those keys map to a value like this: This sets fine, and I can look in my workspace's to see all keys and values there as expected. However, when I try to get the value from the workspace configuration again, the empty string key and its value are missing, meaning I unable to retrieve the array with in it. So it seems VSCode filters out keys which are blank strings when reading workspace configurations, although it will set/save them. This is currently blocking a project I'm working on and should be a trivial fix. VS Code version: Code 1.57.1 (, 2021-06-17T13:28:07.755Z) OS version: Windows_NT x64 10.0. Restricted Mode: No <!-- generated by issue reporter --
I am sorry that I do not understand the usage of the API here and what is being done. Can you please provide a sample code snippet to reproduce the issue?
Here's a round trip example of me saving an object to the workspace configuration, and retrieving it. It shows all data is stored appropriately, but data is lost when reading it back if a blank string key exists. The message will be shown. If you comment out/remove the key-value pair in , it will instead say . So VSCode is losing data when obtaining data from the workspace configuration if you store an object which has a blank key somewhere (at any level of depth).
There was a fairly quick initial response here, but since then a good amount of time has elapsed. Has there been any progress updates or planning related to this issue? Can you confirm you now understand the issue given the above proof-of-concept? It should be very clear.
Thanks for the info. It is in my list of issues to investigate, I will try it out and get back to you.

Related discussion:
text: assert.deepStrictEqual(testObject.configurationModel.keys, []); }); <ins> test('Test empty property is not ignored', () => { const testObject = new ConfigurationModelParser('test'); testObject.parse(JSON.stringify({ '': 1 })); // deepStrictEqual seems to ignore empty properties, fall back // to comparing the output of JSON.stringify assert.strictEqual(JSON.stringify(testObject.configurationModel.contents), JSON.stringify({ '': 1 })); assert.deepStrictEqual(testObject.configurationModel.keys, ['']); }); </ins> test('Test registering the same property again', () => { Registry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({ 'id': 'a',
Code change:
And we could use in browser.
Sorry, just confirm, Would this will be released in July (the next) version?

Related discussion:
text: } /** <ins> * Register an inlay hints provider. */ export function registerInlayHintsProvider(languageId: string, provider: modes.InlayHintsProvider): IDisposable { return modes.InlayHintsProviderRegistry.register(languageId, provider); } /** </ins> * Contains additional diagnostic information about the context in which * a [code action](#CodeActionProvider.provideCodeActions) is run. */
Code change:
And we could use in browser.
Sorry, just confirm, Would this will be released in July (the next) version?

Related discussion:
text: registerDocumentSemanticTokensProvider: <any>registerDocumentSemanticTokensProvider, registerDocumentRangeSemanticTokensProvider: <any>registerDocumentRangeSemanticTokensProvider, registerInlineCompletionsProvider: <any>registerInlineCompletionsProvider, <ins> registerInlayHintsProvider: <any>registerInlayHintsProvider, </ins> // enums DocumentHighlightKind: standaloneEnums.DocumentHighlightKind,
Code change:
And we could use in browser.
Sorry, just confirm, Would this will be released in July (the next) version?

Related discussion:
text: export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable; /** <ins> * Register an inlay hints provider. */ export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable; /** </ins> * Contains additional diagnostic information about the context in which * a [code action](#CodeActionProvider.provideCodeActions) is run. */
Code change:
Since it seems pretty simple to stop the server now, It seems like using the task as a way to run a persistent server is sort of unnecessary. Settings should have a way to toggle whether they want the task to run or not.
Verification steps: this setting (or set to ) ! the command palette or other means to open an external preview, when doing this, the server logging task should not run automatically. setting to , the task should automatically run with the external preview launch (default behavior).

Related discussion:
text: disposables.push(server.onServerStart(path => { <del> defaultStatus.text = '$(flame) Runnning'; </del> <ins> defaultStatus.text = '$(flame) Running'; </ins> defaultStatus.command = 'o.pickProjectAndStart'; defaultStatus.color = ''; render();
Code change:
Issue Type: <bBug</bThe user defined keybiding editorScroll command with arg property "' to': 'up'" repeats slower than "'to':'down'". The key combination doesn't seems to have influence. [edit] I tested it further, and found what triggers this behavior is the conjunction of this keybinding with the setting smooth scrolling : "editor.smoothScrolling": true, Windows and Linux versions have the same behavior. VS Code version: Code 1.58.2 (, 2021-07-14T22:30:16.440Z) OS version: Linux x64 5.4.0-77-generic Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (5)</summaryExtensionVersion ------ Bookmarks13.1.0 vscode-language-babel0.0.31 cpptools1.5.1 LiveServer5.6.1 ninja0.0.1 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.458 --<!-- potentialduplicatescomment --
I could not reproduce. I tried with the following keybindings: The scroll speed appears similar to me for both keybindings.
I tested it further, and found what triggers this behavior is the conjunction of this keybinding with the setting smooth scrolling : Windows and Linux versions have the same behavior.
I can reproduce a slowdown. On my macOS computer, scrolling down went 114 lines down in 10s, while scrolling up went 100 lines up in 10s.
Not sure if my case is special. My issue was closed as duplicate of this one. Windows 10 here. On two completely different and unrelated machines but with the same VSCode user configuration. Scrolling down a document of 114 lines: 4.5 seconds Scrolling up again: 13 seconds This is a major slowdown by the factor 3!

Related discussion:
text: if (args.unit === EditorScroll_.Unit.Line) { // scrolling by model lines <del> const visibleViewRange = viewModel.getCompletelyVisibleViewRange(); </del> <ins> const futureViewport = viewModel.viewLayout.getFutureViewport(); const visibleViewRange = viewModel.getCompletelyVisibleViewRangeAtScrollTop(futureViewport.top); </ins> const visibleModelRange = viewModel.coordinatesConverter.convertViewRangeToModelRange(visibleViewRange); let desiredTopModelLineNumber: number;
Code change:
Testing disassembly view on screen reader on an element, notice the following being read out "Can set breakpoint, Instruction address: 0x000000ea, Instruction: of" We need to imrpove this aria label: most important piece of information needs to go first, so that blind users can skip the boring repetitive part. So start with the "0x000000ea address, " it more concise, I think "can set breakpoint" is not needed here do not understand the last part "intruction: of", this needs to be fixed I think
will fix this.
Is there a way to update aria label via accessibility provider? Looks like it's set only when the element is rendered? I'm wondering if we can add/remove all texts about breakpoint and stack frame. If not, we should probably remove texts related to breakpoints. Also, it's a great suggestion that we should reduce the amount of duplicates. So I'll change it to . As for , it's likely the disassembly instruction you are looking at is . For now, each line in disassembly view looks like: Where there may not be InstructionBytes. For example, Will have aria label (currently) .
no, it is not possible to dynamically update the aria label. This sounds good, I would just cut it short to be

Related discussion:
text: getAriaLabel(element: IDisassembledInstructionEntry): string | null { let label = ''; <del> if (element.isBreakpointSet) { label += localize('breakpointIsSet', "Breakpoint is set"); } else if (element.allowBreakpoint) { label += localize('breakpointAllowed', "Can set breakpoint"); } </del> const instruction = element.instruction; <del> label += `, ${localize('instructionAddress', "Instruction address")}: ${instruction.address}`; </del> <ins> label += `${localize('instructionAddress', "Address")}: ${instruction.address}`; </ins> if (instruction.instructionBytes) { <del> label += `, ${localize('instructionBytes', "Instruction bytes")}: ${instruction.instructionBytes}`; </del> <ins> label += `, ${localize('instructionBytes', "Bytes")}: ${instruction.instructionBytes}`; </ins> } label += `, ${localize(`instructionText`, "Instruction")}: ${instruction.instruction}`;
Code change:
Testing the steps in the test plan item to create an interactive window I get a notification saying there are extensions on the marketplace that can handle . I feel like this is unnecessary noise
Which extension is it recommending?
The marketplace query is ext:interactive when I click on Search Marketplace !
I forgot that we had this but we automatically query show this when there are extensions in the marketplace that match the query . I'm curious about how this works, it seems overly sensitive since these extensions don't use that file extension, seems that it just matches based on keywords? I think the only way to avoid it here is to change the extension that the interactive window uses, which is probably fine.
Discussed with and even if we picked an extension that isn't yet in use, we can't prevent extensions from introducing collisions later. What about the following (essentially, parse the notebook URI from the cell URI, and check if it's an untitled://, file:// or vscode-remote:// URI based on the notebook URI instead)?
What will the interactive window be? It won't pass that check?
Is the motive here is to not show any recommendations for this resource?
Yeah we don't want to show the '.interactive' file recommendation because it's not actually a file on disk. The interactive notebook schema is 'interactive'.
Then we shall be filtering out in our recommendations logic as you recommended above.

Related discussion:
text: import { IExtensionRecommendationNotificationService, RecommendationsNotificationResult, RecommendationSource } from 'vs/platform/extensionRecommendations/common/extensionRecommendations'; import { distinct } from 'vs/base/common/arrays'; import { DisposableStore } from 'vs/base/common/lifecycle'; <ins> import { CellUri } from 'vs/workbench/contrib/notebook/common/notebookCommon'; </ins> type FileExtensionSuggestionClassification = { userReaction: { classification: 'SystemMetaData', purpose: 'FeatureInsight' };
Code change:
Testing the steps in the test plan item to create an interactive window I get a notification saying there are extensions on the marketplace that can handle . I feel like this is unnecessary noise
Which extension is it recommending?
The marketplace query is ext:interactive when I click on Search Marketplace !
I forgot that we had this but we automatically query show this when there are extensions in the marketplace that match the query . I'm curious about how this works, it seems overly sensitive since these extensions don't use that file extension, seems that it just matches based on keywords? I think the only way to avoid it here is to change the extension that the interactive window uses, which is probably fine.
Discussed with and even if we picked an extension that isn't yet in use, we can't prevent extensions from introducing collisions later. What about the following (essentially, parse the notebook URI from the cell URI, and check if it's an untitled://, file:// or vscode-remote:// URI based on the notebook URI instead)?
What will the interactive window be? It won't pass that check?
Is the motive here is to not show any recommendations for this resource?
Yeah we don't want to show the '.interactive' file recommendation because it's not actually a file on disk. The interactive notebook schema is 'interactive'.
Then we shall be filtering out in our recommendations logic as you recommended above.

Related discussion:
text: } private onModelAdded(model: ITextModel): void { <del> const uri = model.uri; const supportedSchemes = [Schemas.untitled, Schemas.file, Schemas.vscodeRemote, Schemas.vscodeNotebookCell]; </del> <ins> const uri = model.uri.scheme === Schemas.vscodeNotebookCell ? CellUri.parse(model.uri)?.notebook : model.uri; const supportedSchemes = [Schemas.untitled, Schemas.file, Schemas.vscodeRemote]; </ins> if (!uri || !supportedSchemes.includes(uri.scheme)) { return; }
Code change:
<!-- 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. --It would be ideal if the Testing user interface would allow to sort/filter based on duration. Use case: I have a large number of tests in my project and they're slow, I want to sort by duration to identify long running tests. !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.595 --- <!-- score: 0.493 --<!-- potentialduplicatescomment --
I want to work on this shall I give it a try ?
Can I get a little help here ? I think I am not able to find the UI in the app. Is this screen capture same as above ? (Left panel) ! I made two tests locally, but I am not seeing the time it took to run the tests ?
You'll need to use to make the Test Explorer use the native experience.
Hey admin, i have just started my open source contribution journey. Can you assign this task to me? so that i can start working on it.
Feel free to submit a PR
Hey Conor, can I work on this issue
, I found that following changes will be needed adding a class to adding to export const enum TestExplorerViewSorting { ByLocation = 'location', ByStatus = 'status', } inside the file
The TestExplorerView is where it happens. You can do a "find all references" on and that'll give you a good indication of places to update
There is such a line for sort ByLocation , but not there for ByStatus , why is it so
What changes should be made to this file , please help me out
Have a pull request for this:

Related discussion:
text: } } <ins> export class TestingSortByDurationAction extends ViewAction<TestingExplorerView> { public static readonly ID = 'testing.sortByDuration'; constructor() { super({ id: TestingSortByDurationAction.ID, viewId: Testing.ExplorerViewId, title: localize('testing.sortByDuration', "Sort by Duration"), toggled: TestingContextKeys.viewSorting.isEqualTo(TestExplorerViewSorting.ByDuration), menu: { id: MenuId.ViewTitle, order: ActionOrder.Sort, group: 'sortBy', when: ContextKeyExpr.equals('view', Testing.ExplorerViewId) } }); } /** * @override */ public runInView(_accessor: ServicesAccessor, view: TestingExplorerView) { view.viewModel.viewSorting = TestExplorerViewSorting.ByDuration; } } </ins> export class ShowMostRecentOutputAction extends Action2 { public static readonly ID = 'testing.showMostRecentOutput'; constructor() {
Code change:
<!-- 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. --It would be ideal if the Testing user interface would allow to sort/filter based on duration. Use case: I have a large number of tests in my project and they're slow, I want to sort by duration to identify long running tests. !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.595 --- <!-- score: 0.493 --<!-- potentialduplicatescomment --
I want to work on this shall I give it a try ?
Can I get a little help here ? I think I am not able to find the UI in the app. Is this screen capture same as above ? (Left panel) ! I made two tests locally, but I am not seeing the time it took to run the tests ?
You'll need to use to make the Test Explorer use the native experience.
Hey admin, i have just started my open source contribution journey. Can you assign this task to me? so that i can start working on it.
Feel free to submit a PR
Hey Conor, can I work on this issue
, I found that following changes will be needed adding a class to adding to export const enum TestExplorerViewSorting { ByLocation = 'location', ByStatus = 'status', } inside the file
The TestExplorerView is where it happens. You can do a "find all references" on and that'll give you a good indication of places to update
There is such a line for sort ByLocation , but not there for ByStatus , why is it so
What changes should be made to this file , please help me out
Have a pull request for this:

Related discussion:
text: ShowMostRecentOutputAction, TestingSortByLocationAction, TestingSortByStatusAction, <ins> TestingSortByDurationAction, </ins> TestingViewAsListAction, TestingViewAsTreeAction, ToggleInlineTestOutput,
Code change:
<!-- 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. --It would be ideal if the Testing user interface would allow to sort/filter based on duration. Use case: I have a large number of tests in my project and they're slow, I want to sort by duration to identify long running tests. !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.595 --- <!-- score: 0.493 --<!-- potentialduplicatescomment --
I want to work on this shall I give it a try ?
Can I get a little help here ? I think I am not able to find the UI in the app. Is this screen capture same as above ? (Left panel) ! I made two tests locally, but I am not seeing the time it took to run the tests ?
You'll need to use to make the Test Explorer use the native experience.
Hey admin, i have just started my open source contribution journey. Can you assign this task to me? so that i can start working on it.
Feel free to submit a PR
Hey Conor, can I work on this issue
, I found that following changes will be needed adding a class to adding to export const enum TestExplorerViewSorting { ByLocation = 'location', ByStatus = 'status', } inside the file
The TestExplorerView is where it happens. You can do a "find all references" on and that'll give you a good indication of places to update
There is such a line for sort ByLocation , but not there for ByStatus , why is it so
What changes should be made to this file , please help me out
Have a pull request for this:

Related discussion:
text: return (a instanceof TestTreeErrorMessage ? -1 : 0) + (b instanceof TestTreeErrorMessage ? 1 : 0); } <ins> const durationDelta = (b.duration || 0) - (a.duration || 0); if (this.viewModel.viewSorting === TestExplorerViewSorting.ByDuration && durationDelta !== 0) { return durationDelta; } </ins> const stateDelta = cmpPriority(a.state, b.state); if (this.viewModel.viewSorting === TestExplorerViewSorting.ByStatus && stateDelta !== 0) { return stateDelta;