VsCode 一些设置
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"
浙公网安备 33010602011771号