Change:
Verified twice and bisected to this range: Steps to Reproduce: some repo a change the diff view and set the cursor like this: <img width="1273" alt="Screenshot 2023-06-20 at 17 18 51" src=""<kbdCtrl</kbd+ <kbdC</kbdto the right side, put the cursor between text e.g. line 32. <kbdCtrl</kbd+ <kbdV</kbdExpected: The new line should be placed above <img width="683" alt="image" src=""Actual: The line line breaks and modifies cursor line + line below <img width="709" alt="image" src=""
Is this just the diff editor or does it happen in every editor?
I feel like the "line copy" from the left side in the diff editor is busted, when I then use this clipboard to paste it on the right side of the diff editor, or a normal editor it ends up in the unexpected state. Doing a "line copy" from a normal document, and pasting it into a normal editor or right side of the diff editor is still fine.
Unfortunately, I cannot reproduce. ! Pasting just triggers indentation.
Version: 1.80.0-insider Commit: Date: 2023-06-21T08:21:53.800Z Electron: 22.3.13 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Darwin arm64 22.5.0 Does this help? Let me know if you need something else. My list of extension is the following and hasn't changed over the last year, and I think using the bisect-vscode script it disables all of them since its a new profile. <table style="box-sizing: border-box; width: 575px; max-width: 100%; background-color: transparent; border-collapse: collapse;"<tr style="box-sizing: border-box;"<th style="box-sizing: border-box; vertical-align: bottom; border-bottom: 1px solid; text-align: inherit; padding: 5px;"Extension</th<th style="box-sizing: border-box; vertical-align: bottom; border-bottom: 1px solid; text-align: inherit; padding: 5px;"Author (truncated)</th<th style="box-sizing: border-box; vertical-align: bottom; border-bottom: 1px solid; text-align: inherit; padding: 5px;"Version</th</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-zipfs</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"arc</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"3.0.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"quitcontrol-vscode</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"art</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"4.0.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-eslint</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"dba</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"2.4.1</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"xml</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"Dot</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"2.5.1</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"gitlens</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"eam</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"14.0.1</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"github-actions</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"for</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.0.1</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"codespaces</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"Git</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.14.8</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"copilot-chat</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"Git</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.3.</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"copilot-labs</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"Git</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.14.884</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"copilot-nightly</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"Git</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.90.175</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-github-actions</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"git</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.25.8</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"go</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"gol</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.39.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"dotenv</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"mik</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.0.1</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-language-pack-zh-hans</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"MS-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.80.</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"playwright</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.0.13</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"isort</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"2023.9.</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"python</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"2023.11.</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-pylance</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"2023.6.20</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"jupyter</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"2023.5.</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"jupyter-keymap</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.1.2</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"jupyter-renderers</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.0.15</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-jupyter-cell-tags</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.1.8</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-jupyter-slideshow</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.1.5</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"remote-containers</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.296.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"remote-ssh</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.102.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"remote-ssh-edit</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.86.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"remote-wsl</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.79.5</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"remote-explorer</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ms-</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.4.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"java</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"red</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.19.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-yaml</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"red</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.13.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"kuskus-kusto-syntax-highlighting</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"ros</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.1.21</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"pdf</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"tom</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.2.2</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"intellicode-api-usage-examples</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"Vis</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.2.7</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscodeintellicode</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"Vis</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"1.2.30</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-java-debug</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"vsc</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.51.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-java-dependency</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"vsc</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.23.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-java-pack</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"vsc</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.25.11</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px;"vscode-java-test</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"vsc</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top;"0.39.0</td</tr<tr style="box-sizing: border-box;"<td style="box-sizing: border-box; padding: 5px; vertical-align: top; width: 172.5px; color: rgb(204, 204, 204); font-family: -apple-system, &quot;system-ui&quot;, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 42, 42); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"vscode-maven</td<td style="box-sizing: border-box; padding: 5px; vertical-align: top; color: rgb(204, 204, 204); font-family: -apple-system, &quot;system-ui&quot;, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(42, 42, 42); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"vsc</td<br class="Apple-interchange-newline"
Do you have any settings that could cause this?
bisect-vscode uses a new profile, so all the settings were default settings. I can try to bisect it down from the range to the individual commit if you want, 45 commits should be ok.
That would be awesome!
Bisected to and turns out if you set which is by default it behaves how it was before. cc
Thanks
<!-- 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!
/verified

Discussion:
} } <del> class ClipboardEventUtils { </del> <ins> export const ClipboardEventUtils = { </ins> <del> public static getTextData(clipboardData: DataTransfer): [string, ClipboardStoredMetadata | null] { </del> <ins> getTextData(clipboardData: DataTransfer): [string, ClipboardStoredMetadata | null] { </ins> const text = clipboardData.getData(Mimes.text); let metadata: ClipboardStoredMetadata | null = null; const rawmetadata = clipboardData.getData('vscode-editor-data');

} return [text, metadata]; <del> } </del> <ins> }, </ins> <del> public static setTextData(clipboardData: DataTransfer, text: string, html: string | null | undefined, metadata: ClipboardStoredMetadata): void { </del> <ins> setTextData(clipboardData: DataTransfer, text: string, html: string | null | undefined, metadata: ClipboardStoredMetadata): void { </ins> clipboardData.setData(Mimes.text, text); if (typeof html === 'string') { clipboardData.setData('text/html', html); } clipboardData.setData('vscode-editor-data', JSON.stringify(metadata)); } <del> } </del> <ins> }; </ins> export class TextAreaWrapper extends Disposable implements ICompleteTextAreaWrapper {

import { Disposable } from 'vs/base/common/lifecycle'; import { Mimes } from 'vs/base/common/mime'; import * as platform from 'vs/base/common/platform'; <ins> import { withUndefinedAsNull } from 'vs/base/common/types'; </ins> import { generateUuid } from 'vs/base/common/uuid'; <ins> import { ClipboardEventUtils } from 'vs/editor/browser/controller/textAreaInput'; </ins> import { toExternalVSDataTransfer, toVSDataTransfer } from 'vs/editor/browser/dnd'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { IBulkEditService } from 'vs/editor/browser/services/bulkEditService';

return; } <del> const metadata = this.fetchCopyMetadata(e.clipboardData); </del> <ins> const metadata = this.fetchCopyMetadata(e); </ins> const dataTransfer = toExternalVSDataTransfer(e.clipboardData); dataTransfer.delete(vscodeClipboardMime);

dataTransfer.setData(vscodeClipboardMime, JSON.stringify(metadata)); } <del> private fetchCopyMetadata(dataTransfer: DataTransfer): CopyMetadata | undefined { const rawMetadata = dataTransfer.getData(vscodeClipboardMime); </del> <ins> private fetchCopyMetadata(e: ClipboardEvent): CopyMetadata | undefined { if (!e.clipboardData) { return; } // Prefer using the clipboard data we saved off const rawMetadata = e.clipboardData.getData(vscodeClipboardMime); </ins> if (rawMetadata) { try { return JSON.parse(rawMetadata);

return undefined; } } <ins> // Otherwise try to extract the generic text editor metadata const [_, metadata] = ClipboardEventUtils.getTextData(e.clipboardData); if (metadata) { return { defaultPastePayload: { mode: metadata.mode, multicursorText: withUndefinedAsNull(metadata.multicursorText), pasteOnNewLine: !!metadata.isFromEmptySelection, }, }; } </ins> return undefined; }