Repository: vscode
Issue: ipynb editor makes it extremely easy to lose work
Labels: bug,notebook-undo-redo

Type: <b>Bug</b>

The Jupyter notebook editor likes to just randomly jump focus and delete cells when you hit the wrong mystery key **with no recovery**. Undo only works on changes inside the cell and hitting "Z" doesn't do anything. This is horrible - there should be multiple saveguards against deleting, irrecoverably, people's work.

VS Code version: Code 1.85.2 (Universal) (8b3775030ed1a69b13e4f4c628c612102e30a681, 2024-01-18T06:40:32.531Z)
OS version: Darwin arm64 23.0.0
Modes:

<details>
<summary>System Info</summary>

|Item|Value|
|---|---|
|CPUs|Apple M1 Max (10 x 24)|
|GPU Status|2d_canvas: enabled<br>canvas_oop_rasterization: enabled_on<br>direct_rendering_display_compositor: disabled_off_ok<br>gpu_compositing: enabled<br>multiple_raster_threads: enabled_on<br>opengl: enabled_on<br>rasterization: enabled<br>raw_draw: disabled_off_ok<br>video_decode: enabled<br>video_encode: enabled<br>vulkan: disabled_off<br>webgl: enabled<br>webgl2: enabled<br>webgpu: enabled|
|Load (avg)|4, 3, 3|
|Memory (System)|64.00GB (1.15GB free)|
|Process Argv|--crash-reporter-id 3626b525-0ab1-4cc4-a457-9fbfa96677d0|
|Screen Reader|no|
|VM|0%|
</details><details><summary>Extensions (51)</summary>

Extension|Author (truncated)|Version
---|---|---
rust-bundle|1Yi|1.0.0
vscode-bazel|Baz|0.8.1
flip|Chr|0.0.4
doxdocgen|csc|1.4.0
rust-syntax|dus|0.6.1
flatbuffers|gab|0.1.0
copilot|Git|1.153.0
copilot-chat|Git|0.11.1
go|gol|0.40.3
cmake-language-support-vscode|jos|0.0.9
cortex-debug|mar|1.12.1
debug-tracker-vscode|mcu|0.0.15
memory-view|mcu|0.0.25
peripheral-viewer|mcu|1.4.6
rtos-views|mcu|0.0.7
rainbow-csv|mec|3.11.0
vscode-docker|ms-|1.28.0
csdevkit|ms-|1.2.7
csharp|ms-|2.15.30
vscode-dotnet-runtime|ms-|2.0.0
vscodeintellicode-csharp|ms-|0.1.26
black-formatter|ms-|2023.6.0
isort|ms-|2023.10.1
python|ms-|2023.22.1
vscode-pylance|ms-|2023.12.1
jupyter|ms-|2023.11.1100101639
jupyter-keymap|ms-|1.1.2
jupyter-renderers|ms-|1.0.17
vscode-jupyter-cell-tags|ms-|0.1.8
vscode-jupyter-slideshow|ms-|0.1.5
remote-containers|ms-|0.327.0
remote-ssh|ms-|0.107.1
remote-ssh-edit|ms-|0.86.0
remote-wsl|ms-|0.81.9
vscode-remote-extensionpack|ms-|0.25.0
cmake-tools|ms-|1.16.32
cpptools|ms-|1.18.5
cpptools-extension-pack|ms-|1.3.0
remote-explorer|ms-|0.4.1
remote-server|ms-|1.5.0
vscode-yaml|red|1.14.0
rust-analyzer|rus|0.3.1815
crates|ser|0.6.5
rewrap|stk|1.16.3
even-better-toml|tam|0.19.2
cmake|twx|0.0.17
vscode-lldb|vad|1.10.0
vstuc|vis|0.9.4
arrange-selection|Wup|1.3.1
clang-format|xav|1.9.0
markdown-all-in-one|yzh|3.6.2

(1 theme extensions excluded)

</details><details>
<summary>A/B Experiments</summary>

```
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
binariesv615:30325510
vsaa593:30376534
py29gd2263:30899288
vsclangdf:30486550
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
0bi6i642:30933247
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
pythontbext0:30879054
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
dsvsc019acf:30933242

```

</details>

<!-- generated by issue reporter -->