vscode 应用路径设置
迁移下vscode的userdata数据与extension数据
migrate_vscode.ps1
# ==============================
# VS Code 缓存迁移 + Java/LaTeX 输出路径 + 快捷方式修改
# ==============================
# 1. 关闭 VS Code
Write-Host "正在关闭 VS Code..."
taskkill /F /IM Code.exe 2>$null
# 2. 设定新目录(可修改)
$VSCODE_DATA_DIR = "D:\Application\Microsoft VS Code\VSCodeUserData"
$VSCODE_EXT_DIR = "D:\Application\Microsoft VS Code\VSCodeExtensions"
# 3. 创建目录(如果不存在)
New-Item -ItemType Directory -Force -Path $VSCODE_DATA_DIR | Out-Null
New-Item -ItemType Directory -Force -Path $VSCODE_EXT_DIR | Out-Null
# 4. 迁移 VS Code 用户数据(用 Remove-Item 代替 rmdir /S /Q)
$oldDataDir = "$env:APPDATA\Code"
if (Test-Path $oldDataDir) {
Write-Host "迁移 VS Code 用户数据到 $VSCODE_DATA_DIR"
robocopy $oldDataDir $VSCODE_DATA_DIR /MIR
Remove-Item -Path $oldDataDir -Recurse -Force
cmd /c mklink /J $oldDataDir $VSCODE_DATA_DIR
}
# 5. 迁移 VS Code 扩展目录
$oldExtDir = "$env:USERPROFILE\.vscode\extensions"
if (Test-Path $oldExtDir) {
Write-Host "迁移 VS Code 扩展到 $VSCODE_EXT_DIR"
robocopy $oldExtDir $VSCODE_EXT_DIR /MIR
Remove-Item -Path $oldExtDir -Recurse -Force
cmd /c mklink /J $oldExtDir $VSCODE_EXT_DIR
}
# 6. 修改 VS Code 快捷方式
Write-Host "正在修改 VS Code 快捷方式..."
$shortcutPaths = @(
"$env:USERPROFILE\Desktop\Visual Studio Code.lnk",
"$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Visual Studio Code.lnk"
)
$codeExePath = "C:\Users\$env:USERNAME\AppData\Local\Programs\Microsoft VS Code\Code.exe"
$shortcutArgs = "--user-data-dir `"$VSCODE_DATA_DIR`" --extensions-dir `"$VSCODE_EXT_DIR`""
$wsh = New-Object -ComObject WScript.Shell
foreach ($scPath in $shortcutPaths) {
if (Test-Path $scPath) {
$shortcut = $wsh.CreateShortcut($scPath)
$shortcut.TargetPath = $codeExePath
$shortcut.Arguments = $shortcutArgs
$shortcut.Save()
Write-Host "已修改快捷方式: $scPath"
}
}
Write-Host "✅ 所有配置完成:"
Write-Host " - VS Code 用户数据: $VSCODE_DATA_DIR"
Write-Host " - VS Code 插件: $VSCODE_EXT_DIR"
Write-Host "以后直接双击 VS Code 图标即可用 D 盘运行"
中间的4 5需要管理员权限,可复制出来单独运行
测试的脚本
# 1. 检查用户数据目录是否为软链接
Get-Item "$env:APPDATA\Code" | Format-List Mode,LinkType,Target,Name
# 2. 检查扩展目录是否为软链接
Get-Item "$env:USERPROFILE\.vscode\extensions" | Format-List Mode,LinkType,Target,Name
# 3. 查看 VS Code 启动参数(通过任务管理器查看,也可以用下面命令)
# PS 没法直接查进程参数,建议手动打开任务管理器查看 Code.exe 命令行
# 4. 查看 C 盘用户数据目录是否为空(或变成软链接)
Get-ChildItem "$env:APPDATA\Code"
常用快捷键
这里为您整理了 VS Code 中最常用、最高效的快捷键,按功能分类。
💡 说明:
- Windows/Linux 用户直接参考下表。
- macOS 用户请将
Ctrl 替换为 Cmd (⌘),将 Alt 替换为 Option (⌥)。
1. 核心与通用 (最常用)
| Windows/Linux 快捷键 |
功能描述 |
备注 |
| Ctrl + Shift + P |
打开命令面板 |
VS Code 最核心的功能,可以输入命令执行任何操作 |
| Ctrl + P |
快速打开文件 |
输入文件名快速跳转,无需在侧边栏寻找 |
| Ctrl + , |
打开设置 |
快速修改编辑器配置 |
| Ctrl + Shift + N |
打开新窗口 |
启动一个新的 VS Code 实例 |
| Ctrl + Shift + W |
关闭窗口 |
关闭当前 VS Code 窗口 |
2. 代码编辑 (编写代码神器)
| Windows/Linux 快捷键 |
功能描述 |
备注 |
| Ctrl + / |
行注释/取消注释 |
自动根据语言选择注释符号 |
| Alt + ↑ / ↓ |
上下移动当前行 |
极速调整代码顺序,无需复制粘贴 |
| Shift + Alt + ↑ / ↓ |
上下复制当前行 |
快速克隆代码行 |
| Ctrl + Enter |
在下方插入新行 |
光标在行中间时也能直接跳到下一行 |
| Ctrl + Shift + Enter |
在上方插入新行 |
快速在当前行上面插入空行 |
| Tab / Shift + Tab |
缩进 / 减少缩进 |
调整代码层级 |
| Shift + Alt + F |
格式化代码 |
一键美化代码排版 |
3. 光标与选择 (多光标黑科技)
| Windows/Linux 快捷键 |
功能描述 |
备注 |
| Alt + 鼠标左键 |
添加多光标 |
在不同位置同时编辑 |
| Ctrl + D |
选中下一个匹配项 |
连续按可同时选中多个相同的单词进行修改 |
| Ctrl + U |
回退上一个光标操作 |
如果 Ctrl+D 选多了,可以用这个回退 |
| Ctrl + Alt + ↑ / ↓ |
列模式选择 |
垂直生成一排光标 |
| Ctrl + L |
选中当前行 |
快速选中整行代码 |
4. 查找与替换
| Windows/Linux 快捷键 |
功能描述 |
备注 |
| Ctrl + F |
文件内查找 |
|
| Ctrl + H |
文件内替换 |
|
| Ctrl + Shift + F |
全局查找 |
在整个项目文件夹中搜索 |
| Ctrl + Shift + H |
全局替换 |
在整个项目中替换 |
5. 导航与跳转
| Windows/Linux 快捷键 |
功能描述 |
备注 |
| Ctrl + G |
跳转到指定行 |
输入行号直接跳转 |
| F12 |
转到定义 |
跳转到函数或变量定义的地方 |
| Alt + ← / → |
前进 / 后退 |
在光标的历史位置之间切换 |
| Ctrl + Home / End |
跳转到文件头 / 尾 |
|
| Ctrl + Tab |
切换已打开的文件 |
类似于 Windows 的 Alt+Tab |
6. 界面与终端
| Windows/Linux 快捷键 |
功能描述 |
备注 |
| Ctrl + ` |
打开/隐藏终端 |
快速调出命令行 (` 是键盘左上角波浪号键) |
| Ctrl + B |
显示/隐藏侧边栏 |
增大代码编辑可视面积 |
| *Ctrl + * |
拆分编辑器 |
将屏幕切分为左右两栏对比代码 |
| Ctrl + + / - |
放大 / 缩小界面 |
调整整体字体大小 |
7. 基础折叠 (针对光标所在代码块)
| Windows/Linux 快捷键 |
macOS 快捷键 |
功能描述 |
记忆技巧 |
| Ctrl + Shift + [ |
Cmd + Option + [ |
折叠 (Fold) |
左括号 [ 代表“收起来” |
| Ctrl + Shift + ] |
Cmd + Option + ] |
展开 (Unfold) |
右括号 ] 代表“打开” |
| :--- |
:--- |
:--- |
:--- |
| Ctrl + K, Ctrl + 0 |
Cmd + K, Cmd + 0 |
折叠所有代码 |
0 代表全部归零/收起 |
| Ctrl + K, Ctrl + J |
Cmd + K, Cmd + J |
展开所有代码 |
J 代表 "Juicy" (展开显示内容) |
| Ctrl + K, Ctrl + 1 |
Cmd + K, Cmd + 1 |
折叠级别 1 |
只保留最外层的类/函数定义 |
| Ctrl + K, Ctrl + 2 |
Cmd + K, Cmd + 2 |
折叠级别 2 |
保留两层嵌套,以此类推 |
| Windows/Linux 快捷键 |
macOS 快捷键 |
功能描述 |
|
| :--- |
:--- |
:--- |
|
| Ctrl + K, Ctrl + L |
Cmd + K, Cmd + L |
切换折叠状态 (Toggle) 如果当前折叠就展开,展开就折叠 |
|
| Ctrl + K, Ctrl + / |
Cmd + K, Cmd + / |
折叠/展开所有块注释 |
|