Type: Bug
Here is the file used to reproduce the bug: Move to file demo.js
Cursor in if else:

Cursor in if:

Cursor in else:

When I click "Move to a new file" the action removes whole if ... else (if) block and just puts it in a new file. Can't imagine anyone wanting such behaviour. Would be nice if we could decide where this action should show up.
VS Code version: Code 1.106.1 (cb1933bbc38d329b3595673a600fab5c7368f0a7, 2025-11-16T10:20:23.745Z)
OS version: Windows_NT x64 10.0.19045
Modes:
System Info
| Item |
Value |
| CPUs |
12th Gen Intel(R) Core(TM) i9-12900K (24 x 3187) |
| GPU Status |
2d_canvas: enabled direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok skia_graphite: disabled_off trees_in_viz: disabled_off video_decode: enabled video_encode: enabled vulkan: disabled_off webgl: enabled webgl2: enabled webgpu: enabled webnn: disabled_off |
| Load (avg) |
undefined |
| Memory (System) |
31.79GB (7.34GB free) |
| Process Argv |
--crash-reporter-id e9ca0812-669b-4c22-96cc-6578a0e47256 |
| Screen Reader |
no |
| VM |
0% |
Extensions (79)
| Extension |
Author (truncated) |
Version |
| insert-line-number |
and |
1.0.3 |
| find-and-transform |
Art |
5.3.7 |
| es6-string-css |
bas |
0.1.0 |
| unique-lines |
bib |
1.0.0 |
| vscode-toggle-quotes |
Bri |
0.3.6 |
| insert-use-strict |
cri |
1.1.7 |
| vscode-eslint |
dba |
3.0.16 |
| xml |
Dot |
2.5.1 |
| LogFileHighlighter |
emi |
3.4.5 |
| vscode-highlight |
fab |
1.9.0 |
| code-runner |
for |
0.12.2 |
| fryc-api |
fry |
0.0.1 |
| copilot |
Git |
1.388.0 |
| copilot-chat |
Git |
0.33.1 |
| selected-lines-count |
gur |
1.4.0 |
| vscode-embrace-line |
HAS |
1.0.0 |
| convert-to-arrow |
his |
1.0.6 |
| vscode-change-case |
hjd |
1.4.0 |
| fracturedjsonvsc |
j-b |
4.1.1 |
| latex-workshop |
Jam |
10.11.3 |
| align-by-regex |
jan |
1.0.4 |
| used-characters |
Kag |
1.0.0 |
| javadoc-generator |
Kee |
3.0.7 |
| vscode-smart-column-indenter |
lmc |
0.0.13 |
| javadoc-tools |
mad |
1.8.1 |
| vscode-autohotkey-plus-plus |
mar |
6.7.1 |
| language-matlab |
Mat |
1.3.7 |
| rainbow-csv |
mec |
3.23.0 |
| vscode-json5 |
mrm |
1.0.0 |
| vscode-language-pack-pl |
MS- |
1.106.2025111209 |
| csdevkit |
ms- |
1.80.2 |
| csharp |
ms- |
2.100.5 |
| vscode-dotnet-runtime |
ms- |
2.3.7 |
| vscodeintellicode-csharp |
ms- |
2.2.3 |
| debugpy |
ms- |
2025.16.0 |
| python |
ms- |
2025.18.0 |
| vscode-pylance |
ms- |
2025.9.1 |
| vscode-python-envs |
ms- |
1.12.0 |
| jupyter |
ms- |
2025.9.1 |
| jupyter-keymap |
ms- |
1.1.2 |
| jupyter-renderers |
ms- |
1.3.0 |
| vscode-jupyter-cell-tags |
ms- |
0.1.9 |
| vscode-jupyter-slideshow |
ms- |
0.1.6 |
| remote-wsl |
ms- |
0.104.3 |
| cmake-tools |
ms- |
1.21.36 |
| cpptools |
ms- |
1.28.3 |
| cpptools-extension-pack |
ms- |
1.3.1 |
| powershell |
ms- |
2025.4.0 |
| vsliveshare |
ms- |
1.0.5959 |
| copyplaintext |
p26 |
1.1.5 |
| refactor |
p42 |
3.0.1 |
| colorful-comments |
Par |
1.0.0 |
| emoji |
Per |
1.0.1 |
| material-icon-theme |
PKi |
5.28.0 |
| vscode-template-literal-editor |
pli |
0.10.0 |
| java |
red |
1.47.0 |
| vscode-xml |
red |
0.29.0 |
| vscode-sort-json |
ric |
1.20.0 |
| action-buttons |
seu |
1.2.3 |
| toggle-boolean |
sil |
0.10.0 |
| html-to-css-autocompletion |
sol |
1.1.2 |
| rewrap |
stk |
1.16.3 |
| es6-string-html |
Tob |
2.17.0 |
| cmake |
twx |
0.0.17 |
| sort-lines |
Tyr |
1.12.0 |
| remove-empty-lines |
use |
1.0.1 |
| vscodeintellicode |
Vis |
1.3.2 |
| intouch-language |
Vit |
1.5.0 |
| vscode-gradle |
vsc |
3.17.1 |
| vscode-java-debug |
vsc |
0.58.3 |
| vscode-java-dependency |
vsc |
0.26.4 |
| vscode-java-pack |
vsc |
0.30.5 |
| vscode-java-test |
vsc |
0.43.2 |
| vscode-java-upgrade |
vsc |
1.8.0 |
| vscode-maven |
vsc |
0.44.0 |
| JavaScriptSnippets |
xab |
1.8.0 |
| json |
Zai |
2.0.2 |
| ts-essential-plugins |
zar |
0.0.81 |
| explicit-folding |
zok |
0.24.3 |
(1 theme extensions excluded)
A/B Experiments
vsliv368:30146709
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
aj953862:31281341
nes-set-on:31351930
onetestforazureexpcf:31335614
63221493:31336333
envsdeactivate2:31353495
aa_t:31379598
c12345:31413568
0574c672:31404437
f1c06875:31397863
cloudbuttont:31379625
todos-1:31405332
qwen_all_req:31402696
control_gpt5applypatchexclusively:31412085
3efgi100_wstrepl:31403338
nes-auto-30:31406145
trigger-command-fix:31379601
auto_model_enabled:31385282
use-responses-api:31390855
auto_g2946222:31414244
je187915:31407605
ec5jj548:31418076
copilot-nes-oct-t:31418199
ff8f5884:31411053
haab2303:31418916
defaulttokens:31420721
c0683394:31419495
Type: Bug
Here is the file used to reproduce the bug: Move to file demo.js
Cursor in

if else:Cursor in

if:Cursor in

else:When I click "Move to a new file" the action removes whole
if ... else (if)block and just puts it in a new file. Can't imagine anyone wanting such behaviour. Would be nice if we could decide where this action should show up.VS Code version: Code 1.106.1 (cb1933bbc38d329b3595673a600fab5c7368f0a7, 2025-11-16T10:20:23.745Z)
OS version: Windows_NT x64 10.0.19045
Modes:
System Info
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
Extensions (79)
(1 theme extensions excluded)
A/B Experiments