jiebi/CodeConvo huggingface dataset:
Code change:
isFeatureTerminal: withNullAsUndefined(internalOptions?.isFeatureTerminal), isExtensionOwnedTerminal: true, useShellEnvironment: withNullAsUndefined(internalOptions?.useShellEnvironment), <del> location: internalOptions?.location || this._serializeParentTerminal(options.location, internalOptions?.resolvedExtHostIdentifier) </del> <ins> location: internalOptions?.location || this._serializeParentTerminal(options.location, internalOptions?.resolvedExtHostIdentifier), disablePersistence: withNullAsUndefined(options.disablePersistence) </ins> }); }

Related discussion:
text: Currently we enable the persistent terminal/reconnect feature if a terminal is launched by an extension, unlike the env var relaunch where we disable outright because it can cause issues with the extension as it loses access to the terminal upon relaunch. Relaunching the PowerShell extension right now for example is a bit of a weird experience though because it creates the "PowerShell Integrated Console", and that reconnects upon reload but is no longer managed by the extension. Before reload: ! After reload it is restored, but no longer owned by the extension: ! Assigning to March for exploration. Thoughts
I think just allowing opt-out/opt-in on this behavior would be more than enough for PowerShell's case.
Has there been any progress on this? Now that persistent terminals are the default, this gets quite annoying and bothers users when extension-owned terminals come back but aren't actually connected.
No progress, we'll try get it in the next version
proposal:
Is this still ongoing and targeted for February?
Yes it is
Code change:
private readonly notebookEditor: INotebookEditor, @INotebookExecutionStateService private readonly notebookExecutionStateService: INotebookExecutionStateService, @IMarkerService private readonly markerService: IMarkerService, <del> @IInlineChatService private readonly inlineChatService: IInlineChatService, </del> <ins> @IChatAgentService private readonly chatAgentService: IChatAgentService, </ins> @IConfigurationService private readonly configurationService: IConfigurationService ) { super(); this.updateEnabled(); <del> this._register(inlineChatService.onDidChangeProviders(() => this.updateEnabled())); </del> <ins> this._register(chatAgentService.onDidChangeAgents(() => this.updateEnabled())); </ins> this._register(configurationService.onDidChangeConfiguration((e) => { if (e.affectsConfiguration(NotebookSetting.cellFailureDiagnostics)) { this.updateEnabled();

Related discussion:
text: There are some parts in notebook land that depend on . This service and its provider are deprecated and should be removed. As of today the following dependencies must be cleaned up first: , , The should be used instead, it will allow you to know if a agent per location exists or not
Code change:
} next(scrollType: ScrollType = ScrollType.Smooth): void { <ins> if (!this.canNavigateNext()) { return; } </ins> this._move(true, scrollType); } previous(scrollType: ScrollType = ScrollType.Smooth): void { <ins> if (!this.canNavigatePrevious()) { return; } </ins> this._move(false, scrollType); } <ins> canNavigateNext(): boolean { return this.canNavigateLoop() || this.nextIdx < this.ranges.length - 1; } canNavigatePrevious(): boolean { return this.canNavigateLoop() || this.nextIdx !== 0; } canNavigateLoop(): boolean { return Boolean(this._options.findResultLoop); } </ins> override dispose(): void { super.dispose(); this.ranges = [];

Related discussion:
text: <!-- 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. --Setting to stop at the bottom (or top) when navigating in the diff view through the changes with "next change" and reaching the last change. Like did in
Can I provide a PR for this feature
Go ahead.
Thanks a lot for implementing this. But what is the setting to enable this?
Looks like this behavior got to the "" setting
No, does not affect this unfortunately.
Code change:
} } } catch (error) { <del> const fileUri = URI.file(candidate); this.historyMainService.removeFromRecentlyOpened([fileUri]); // since file does not seem to exist anymore, remove from recent </del> <ins> this.historyMainService.removeFromRecentlyOpened([candidate]); // since file does not seem to exist anymore, remove from recent const fileUri = URI.file(candidate); </ins> if (options && options.ignoreFileNotFound) { return { fileUri, createFilePath: true, remoteAuthority }; // assume this is a file that does not yet exist }

Related discussion:
text: Open some See that it's in the "Open Recent..." list Close vscode Delete that code-workspace Open vscode Use Open Recent to select that deleted workspace Get a message that doesn't exist anymore See Open Recent again - the workspace is still in that list If I follow the same steps with a folder instead of a workspace, then the folder is removed from the list as I'd expect.
I cannot reproduce, tried with insiders on macOS. Here is what I did: open a workspace saved it as another workspace on my desktop closed vscode deleted that workspace opened vscode (opens empty) try to open that deleted workspace via file open recent dismiss the dialog try to find the entry again =it is gone Since this involves a menu update, could it be that you opened the menu too fast for the menu to update? I think the current delay is like 800ms?
Interesting, I am using the "File: Open Recent..." command. When I use that, it isn't removed from the list, but when I use the File Open Recent menu, it is removed.
I can reproduce and it seems to be a regression from the work to support URIs on the main side. The flow is: opening the workspace fails and we call remove from recently opened () since we pass over a URI we think this is a single folder workspace (which it is not) and fail to remove it moving to (cc
This was the change from adopting URIs for files.
Code change:
import { Position } from 'vs/editor/common/core/position'; import { withNullAsUndefined } from 'vs/base/common/types'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; <ins> import { EditorOption } from 'vs/editor/common/config/editorOptions'; </ins> export class GotoDefinitionAtPositionEditorContribution implements IEditorContribution {

Related discussion:
text: <!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --When we use to jump to definition, would open the definition in a new window, which is inconvenient for me. It would be better if we can choose where to open definition, like in . !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.492 --- <!-- score: 0.467 --<!-- potentialduplicatescomment --
Nice suggestion. If you agree with this, I'll create a setting so one can choose if 'ctrl+click' always opens the peek view.
Normally, ctrl+click runs and cmd+ctrl+click opens . With this setting enabled, they both run . I don't think that's expected. Possibly change to ?
you can reopen verification-found issues
Uhm, I'll take a look on that. Thanks for your feedback!
Please file a bug and don't reopen feature requests
I created
Code change:
}, scope: ConfigurationScope.RESOURCE }, <del> 'search.mode': { </del> <ins> [SEARCH_MODE_CONFIG]: { </ins> type: 'string', enum: ['view', 'reuseEditor', 'newEditor'], default: 'view',

Related discussion:
text: Just to confirm that if you are aware that this change will not show the keybinding for Search view anymore at following places: <img width="367" alt="image" src="https://user-"<img width="161" alt="image" src="https://user-"Not sure if it is intended. Originally posted by in
Code change:
if (this._activeSession) { this._zone.value.updateBackgroundColor(widgetPosition, this._activeSession.wholeRange.value); } <del> if (this._strategy) { needsMargin = this._strategy.needsMargin(); } </del> if (!this._zone.value.position) { <del> this._zone.value.setWidgetMargins(widgetPosition, !needsMargin ? 0 : undefined); </del> <ins> this._zone.value.setWidgetMargins(widgetPosition); </ins> this._zone.value.show(widgetPosition); } else { this._zone.value.updatePositionAndHeight(widgetPosition);

Related discussion:
text: I think we used to indent inline chat to the indentation level of the line: ! Steps: have an indented line press enter to be on an empty line (still indented) press to bring up inline chat
Code change:
return obj; } <del> export function getCellMetadata(cell: NotebookCell | NotebookCellData) { return { </del> <ins> export function getCellMetadata(cell: NotebookCell | NotebookCellData): CellMetadata { const metadata = { </ins> // it contains the cell id, and the cell metadata, along with other nb cell metadata <del> ...(cell.metadata?.custom ?? {}), // promote the cell attachments to the top level attachments: cell.metadata?.custom?.attachments ?? cell.metadata?.attachments </del> <ins> ...(cell.metadata?.custom ?? {}) </ins> }; <ins> // promote the cell attachments to the top level const attachments = cell.metadata?.custom?.attachments ?? cell.metadata?.attachments; if (attachments) { metadata.attachments = attachments; } return metadata; } export function getVSCodeCellLanguageId(metadata: CellMetadata): string | undefined { return metadata.metadata?.vscode?.languageId; } export function setVSCodeCellLanguageId(metadata: CellMetadata, languageId: string) { metadata.metadata = metadata.metadata || {}; metadata.metadata.vscode = { languageId }; } export function removeVSCodeCellLanguageId(metadata: CellMetadata) { if (metadata.metadata?.vscode) { delete metadata.metadata.vscode; } </ins> } function createCodeCellFromNotebookCell(cell: NotebookCellData, preferredLanguage: string | undefined): nbformat.ICodeCell { <del> const cellMetadata = getCellMetadata(cell); let metadata = cellMetadata?.metadata || {}; // This cannot be empty. </del> <ins> const cellMetadata: CellMetadata = JSON.parse(JSON.stringify(getCellMetadata(cell))); cellMetadata.metadata = cellMetadata.metadata || {}; // This cannot be empty. </ins> if (cell.languageId !== preferredLanguage) { <del> metadata = { ...metadata, vscode: { languageId: cell.languageId } }; } else if (metadata.vscode) { </del> <ins> setVSCodeCellLanguageId(cellMetadata, cell.languageId); } else { </ins> // cell current language is the same as the preferred cell language in the document, flush the vscode custom language id metadata <del> delete metadata.vscode; </del> <ins> removeVSCodeCellLanguageId(cellMetadata); </ins> } const codeCell: any = {

Related discussion:
text: <details<summaryInternal Notes</summaryHere's the work flow Add a cell A change event is triggered, undo redo stack is updated Last undo redo is User hits save button Working copy starts to handle the save operation Save participants start We add a save participant and update the model via a work space edit Now a new change event is triggered This results in a whole new undo redo stack The latest (last) undo redo item is Save participants done Working copy keeps track of the last as the entry for Problems Time line does not include , time line shows only I guess this is correct, However from a users perspective, the labels are never going to be meaningful as we'd always say . </details
Code change:
parameters: VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }} VSCODE_BUILD_MACOS: ${{ parameters.VSCODE_BUILD_MACOS }} <ins> - ${{ if eq(parameters.VSCODE_BUILD_MACOS_ARM64, true) }}: - job: MacOSARM64 pool: vmImage: macOS-11 steps: - template: ./darwin/cli-build-darwin.yml parameters: VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }} </ins> VSCODE_BUILD_MACOS_ARM64: ${{ parameters.VSCODE_BUILD_MACOS_ARM64 }} <del> - ${{ if eq(variables.VSCODE_BUILD_STAGE_WINDOWS, true) }}: - job: Windows </del> <ins> - ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}: - job: WindowsX64 </ins> pool: vscode-1es-windows steps: - template: ./win32/cli-build-win32.yml parameters: VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }} VSCODE_BUILD_WIN32: ${{ parameters.VSCODE_BUILD_WIN32 }} <ins> - ${{ if eq(parameters.VSCODE_BUILD_WIN32_ARM64, true) }}: - job: WindowsARM64 pool: vscode-1es-windows steps: - template: ./win32/cli-build-win32.yml parameters: VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }} </ins> VSCODE_BUILD_WIN32_ARM64: ${{ parameters.VSCODE_BUILD_WIN32_ARM64 }} <ins> - ${{ if eq(parameters.VSCODE_BUILD_WIN32_32BIT, true) }}: - job: WindowsX86 pool: vscode-1es-windows steps: - template: ./win32/cli-build-win32.yml parameters: VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }} </ins> VSCODE_BUILD_WIN32_32BIT: ${{ parameters.VSCODE_BUILD_WIN32_32BIT }} - ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WINDOWS'], true)) }}:

Related discussion:
text: The stage is now a bottleneck to having the platform specific stages run: ! Each job compiles each target serially. We could further parallelize all targets across different jobs. !
Code change:
private readonly _onRecommendationChange: Emitter<RecommendationChangeNotification> = new Emitter<RecommendationChangeNotification>(); onRecommendationChange: Event<RecommendationChangeNotification> = this._onRecommendationChange.event; <del> private _sessionIgnoredRecommendations: { [id: string]: { reasonId: ExtensionRecommendationReason } } = {}; private _sessionRestoredRecommendations: { [id: string]: { reasonId: ExtensionRecommendationReason } } = {}; </del> <ins> private _sessionIgnoredRecommendations: { [id: string]: { reasonId: ExtensionRecommendationReason, reasonText: string, sources: ExtensionRecommendationSource[] } } = {}; private _sessionRestoredRecommendations: { [id: string]: { reasonId: ExtensionRecommendationReason, reasonText: string, sources: ExtensionRecommendationSource[] } } = {}; </ins> constructor( @IExtensionGalleryService private readonly _galleryService: IExtensionGalleryService,

Related discussion:
text: Issue Type: <bBug</bOpen extension recommendations Click on one In the editor, click the ignore recommendation button Note that the extension is removed from the recommended extension list as expected Click on the undo button in the editor Note that the recommended extension is not placed back in the list. VS Code version: Code - Insiders 1.25.0-insider (, 2018-06-26T05:18:23.085Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (15)</summaryExtensionVersion ------ html-snippets0.2.1 jshint0.10.19 vscode-eslint1.4.12 tslint1.0.33 vscode-great-icons2.1.35 vscode-gutter-preview0.12.2 vscode-azureappservice0.8.1 vscode-cosmosdb0.7.2 azure-account0.4.1 csharp1.15.2 vs-keybindings0.2.0 team1.136.0 debugger-for-chrome4.7.0 addDocComments0.0.8 cordova-tools1.4.0 </details<!-- generated by issue reporter --! Testing:
Note: this only applies to non-workspace recommendations. Will look into
Closed with
Code change:
} })); <del> this._recomputeActive(); </del> <ins> const { changeEventTriggered } = this._recomputeActive(); if (!changeEventTriggered) { this._onDidChange.fire({}); } </ins> } private _recomputeActive(): { changeEventTriggered: boolean } {

Related discussion:
text: Open notebook with a header, code cell, and symbols in the code cell: # 1: symbols appear as a child of the header md cell, and the code cell is not present in the outline. # 2: changing the filter settings to remove code cells or symbols does not recompute the outline. Fixes: For # 1: an outline provider was being created with the incorrect target (sticky scroll was created with a QuickPick target), and this was being retrieved for the outline pane incorrectly. For # 2: one of the locations an outline change event is fired was shifted and subsequently removed, meaning that the outline did not recompute to reflect the filtered-out cells.
Code change:
import { IColorTheme, ICssStyleCollector, IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IHoverService } from 'vs/workbench/services/hover/browser/hover'; <del> import { IAction } from 'vs/base/common/actions'; </del> <ins> import { IAction, Separator } from 'vs/base/common/actions'; </ins> import { Emitter } from 'vs/base/common/event'; import { MarkdownString } from 'vs/base/common/htmlContent'; import { localize } from 'vs/nls';

Related discussion:
text: I wanted to copy this command to a diff't window and see how the selection didn't work so well https://user- Since we know where the prompt ends, could we do something about this? If not, should we have a copy command action?
Double click is all driven by the links system which works pretty well generally, adding prompt knowledge in there would be a bit of a mess and need some more APIs to override specific cell double-click selection handling since links live in but shell integration is all in vscode. The way I do this is to double click and drag it to the right a bit. I'd say this is out of scope but we can talk about it more if you want.
Yeah I thought abt the complications with the existing link/selection code and decided that would be too much. I wonder if we should have a copy command action though?
Sure we could do that, it would also be good to get some more order to this: ! Proposal: Rerun Command Copy Command - Copy Output Copy Output as HTML - How does this work?
Verified. Looks like the proposal to me. <img width="277" alt="image" src="https://user-"
Code change:
// ---- blinking logic private _getCursorBlinking(): TextEditorCursorBlinkingStyle { <del> if (this._isComposingInput) { </del> <ins> // TODO: Remove the following if statement when experimental edit context is made default sole implementation if (this._isComposingInput && !this._experimentalEditContextEnabled) { </ins> // avoid double cursors return TextEditorCursorBlinkingStyle.Hidden; }

Related discussion:
text: Version: 1.94.0-insider Commit: Date: 2024-09-20T05:03:57.400Z Electron: 30.5.0 ElectronBuildId: Chromium: 124.0.6367.243 20.16.0 V8: 12.4.254.20-electron.0 OS: Darwin arm64 22.6.0 Steps to Reproduce: Set Google IME for Japanese. The cursor is not visible during typing. On almost all the platforms and all the applications, the cursor is usually visible during composition.
Hi yes thank you for opening this issue. This is caused by some code that is related to the current edit context implementation which hides the blinking cursor because there is already a blinking cursor in the visible text area shown during composition. A PR has been made to fix this.
Code change:
out[0] = item.completion.detail; return true; } <del> if (typeof item.completion.documentation === 'string') { const match = ColorExtractor._regexRelaxed.exec(item.completion.documentation); if (match && (match.index === 0 || match.index + match[0].length === item.completion.documentation.length)) { </del> <ins> if (item.completion.documentation) { const value = typeof item.completion.documentation === 'string' ? item.completion.documentation : item.completion.documentation.value; const match = ColorExtractor._regexRelaxed.exec(value); if (match && (match.index === 0 || match.index + match[0].length === value.length)) { </ins> out[0] = match[0]; return true; }

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: OS Version: Steps to Reproduce: the extension in VS Code and run the "Run Extension" task from the "Run and Debug" panel a new untitled file and change the language to "HTML" the command or start typing "example" to reveal the "example" completion items that one of the completion items has a red block and one does not Expected Behaviour: Both completion items should display a red block. Suggested Fix: When the color extractor checks the property it should account for values: For example the piece of code above could be changed to the following:
Code change:
throw new Error('ChatEditor lifecycle issue: no editor widget'); } <del> this.updateModel(editorModel.model); </del> <ins> this.updateModel(editorModel.model, options.viewState); </ins> } <del> private updateModel(model: IChatModel): void { this._memento = new Memento('interactive-session-editor-' + model.sessionId, this.storageService); this._viewState = this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE) as IChatViewState; </del> <ins> private updateModel(model: IChatModel, viewState?: IChatViewState): void { this._memento = new Memento('interactive-session-editor-' + model.providerId, this.storageService); this._viewState = viewState ?? this._memento.getMemento(StorageScope.WORKSPACE, StorageTarget.MACHINE) as IChatViewState; </ins> this.widget.setModel(model, { ...this._viewState }); }

Related discussion:
text: chat in sidebar something into input Session in Editor :bug: input is cleared
This still repros for me
The input is preserved but the input for the new chat session in the sidebar is not cleared