VSCode修改扩展和用户文件夹目录位置(Windows)

文章目录

    • `VSCode`便携版(不推荐)
      • 缺点
    • `VSCode`安装版(推荐)
      • 终端使用`code .` 命令打开项目
      • 问题
        • 解决办法
    • 终极解决办法!(强烈推荐)

vscode的扩展和用户数据都是默认在C盘下的

extensions:C:\Users\.vscode\extensions

user-data:C:\Users\AppData\Roaming\Code

一般来说,用户文件夹大小会比扩展目录的大小会大,就我而言,我的扩展有1-1.5GB的大小,而用户文件夹却占了我5GB容量,这对C盘容量严重不足的用户是非常难受的

所以,修改这两个文件夹的目录位置以及刻不容缓

VSCode便携版(不推荐)

官方有一个zip版本的VSCode

当我们解压完毕后:

  1. 在当前VSCode目录下新建一个data文件夹
  2. 点击Code.exe启动,启动完毕后关闭
  3. 进入当前的data目录,可以发现有扩展目录,以及用户文件夹
    • image-20220916153810529
  4. 然后我们只需要将C:\Users\.vscode\extensions目录下的所有扩展文件夹全选复制到extensions目录中,以及将C:\Users\AppData\Roaming\Code文件夹内的所有文件全选复制到user-data目录内,再次打开Code.exe程序,就可以发现根以前的VSCode一模一样的配置以及扩展

缺点

但是我当时遇到的问题是当文件右键,或者文件夹右键时,不能通过VSCode打开文件,此时需要打开注册表,修改通过VSCode打开的程序位置。

同时也发现了一个弊端,就是需要管理员权限的文件夹打不开,也写不进去,可以通过将Code.exe程序右键->属性->兼容性->以管理员身份运行此程序->应用。但经过这操作后,我发现的问题是VSCode窗口的工作空间不能将文件拖进去。上网一搜发现,只需要将Code.exe的以管理员身份运行此程序取消勾选,那这不就跟我预期的冲突了嘛😳😳

后来想到了还是使用安装版的,想办法将两个大文件目录位置修改一下

VSCode安装版(推荐)

安装版网址

选择 System Installer 再根据自己的系统选择,下面的.zip就是上面说的便携版

要修改两个文件夹的位置,就需要使用官方的高级 CLI 选项

有两个选项我们可以用得上:--extensions-dir <dir>--user-data-dir <dir>,但这些命令对于便携版是不能生效的

可以将这两个选项添加到VSCode的快捷方式后面

  • 右键VSCode快捷方式->快捷方式->目标-> 在后面添加空格再加上--extensions-dir "D:\.vscode\extensions" --user-data-dir "D:\.vscode\user-data"自行替换目录位置

  • 我的设置⬇️

    • "D:\.Software\Microsoft VS Code\Code.exe" --extensions-dir "D:\.vscode\extensions" --extensions-dir "D:\.vscode\extensions" --user-data-dir "D:\.vscode\user-data"
      

image-20220916162039693

但是就这样修改不能保证文件右键通过Code打开会使用指定的 扩展文件夹以及用户文件夹

接下来需要修改注册表的主要VSCode打开方式修改

  • 对选中文件右键点击弹出的菜单
  • 对选择目录右键点击弹出的菜单
  • 在目录空白处右键点击弹出的菜单
  • 对磁盘分区右键点击弹出的菜单

相对应的注册表位置为

计算机\HKEY_CLASSES_ROOT\*\shell\VSCode\command
计算机\HKEY_CLASSES_ROOT\Directory\shell\VSCode\command
计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command
计算机\HKEY_CLASSES_ROOT\Drive\shell\VSCode\command

注册表打开:Win+r->输入:Regedit->回车

找到这些注册表项,在Code.exe 后添加同快捷方式一样的参数内容:

--extensions-dir "D:\.vscode\extensions" --user-data-dir "D:\.vscode\user-data"

例如:

"D:\.Software\Microsoft VS Code\Code.exe" --extensions-dir "D:\.vscode\extensions"  --user-data-dir "D:\.vscode\user-data" "%1"

image-20220916162649864

将四个注册表位置的数值数据一一添加即可,当然主要的是这四个位置,还有一些其他的文件打开可以执行添加

终端使用code . 命令打开项目

当使用code . 命令时,又发现了一个小问题,通过此命令打开的VSCode 还是不能找到扩展和用户文件夹

解决办法如下⬇️

code . 命令,是通过环境变量PATH 中配置的路径找到VSCode的安装位置,下面的bin目录里面有一个code.cmd

image-20220917151557064

安装版的VSCode会默认帮我们添加环境变量

检查一下code.cmd文件

@echo off
setlocal
set VSCODE_DEV=
set ELECTRON_RUN_AS_NODE=1
"%~dp0..\Code.exe" "%~dp0..\resources\app\out\cli.js" --ms-enable-electron-run-as-node %*
endlocal
  • 可以发现第五行有一个..\Code.exe,表示运行上一个目录的Code.exe程序

  • 再往后面看,可以发现--ms-enable-electron-run-as-node有点像高级CLI选项,我们可以将上面提到的--extensions-dir--user-data-dir继续添加在后面。下面是我添加后的代码,自行更换路径即可

    • @echo off
      setlocal
      set VSCODE_DEV=
      set ELECTRON_RUN_AS_NODE=1
      "%~dp0..\Code.exe" "%~dp0..\resources\app\out\cli.js" --ms-enable-electron-run-as-node  --extensions-dir "D:\.vscode\extensions"  --user-data-dir "D:\.vscode\user-data" %*
      endlocal
      

最后再使用code . 命令就可以找到扩展和用户信息文件夹了

问题

更新之后,VSCode会重置注册表

解决办法

使用注册表 .reg 文件一键修改

注意!

  • 地址值有些符号需要使用 \ 转译,可通过将复制下来的未转译字符串路径使用IDEA 自动转译

  • 路径修改为自己的本地路径

  • 由于内容出现 通过 Code 打开 中文,需要将文件另存为UTF-16 LE注册表默认编码,否则会出现乱码

    image-20221007135329840

String str = "路径"
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\VSCode]
@="通过 Code 打开"
"Icon"="D:\\.Software\\Microsoft VS Code\\Code.exe"

[HKEY_CLASSES_ROOT\*\shell\VSCode\command]
@="\"D:\\.Software\\Microsoft VS Code\\Code.exe\" --extensions-dir \"D:\\.vscode\\extensions\"  --user-data-dir \"D:\\.vscode\\user-data\" \"%1\""
  
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\VSCode]
@="通过 Code 打开"
"Icon"="D:\\.Software\\Microsoft VS Code\\Code.exe"

[HKEY_CLASSES_ROOT\Directory\shell\VSCode\command]
@="\"D:\\.Software\\Microsoft VS Code\\Code.exe\" --extensions-dir \"D:\\.vscode\\extensions\"  --user-data-dir \"D:\\.vscode\\user-data\" \"%V\""

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode]
@="通过 Code 打开"
"Icon"="D:\\.Software\\Microsoft VS Code\\Code.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command]
@="\"D:\\.Software\\Microsoft VS Code\\Code.exe\" --extensions-dir \"D:\\.vscode\\extensions\"  --user-data-dir \"D:\\.vscode\\user-data\" \"%V\""

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Drive\shell\VSCode]
@="通过 Code 打开"
"Icon"="D:\\.Software\\Microsoft VS Code\\Code.exe"

[HKEY_CLASSES_ROOT\Drive\shell\VSCode\command]
@="\"D:\\.Software\\Microsoft VS Code\\Code.exe\" --extensions-dir \"D:\\.vscode\\extensions\"  --user-data-dir \"D:\\.vscode\\user-data\" \"%V\""

[HKEY_CLASSES_ROOT\vscode\shell\open\command]
@="\"D:\\.Software\\Microsoft VS Code\\Code.exe\" --extensions-dir \"D:\\.vscode\\extensions\" --user-data-dir \"D:\\.vscode\\user-data\" \"--open-url\"  \"--\" \"%1\""

[HKEY_CLASSES_ROOT\VSCodeSourceFile\shell\open\command]
@="\"D:\\.Software\\Microsoft VS Code\\Code.exe\" --extensions-dir \"D:\\.vscode\\extensions\"  --user-data-dir \"D:\\.vscode\\user-data\" \"%1\""

2023/04/16 ↓

当然也可以写一个bat脚本自动执行

  • 创建一个code.cmd 将上面的添加命令行参数的内容写入

  • 重命令 注册表批处理文件为update.reg

  • 创建update.bat 文件

    • 写入内容

    • @echo off
      
      rem 注册表的路径
      set "regFilePath=D:\.vscode\update.reg"
      rem 重写的code.cmd 文件路径,后面会替换vscode bin 目录下的code.cmd
      set "cmdFilePath=D:\.vscode\code.cmd"
      rem VScode的安装路径
      set "destinationFolderPath=D:\.Software\Microsoft VS Code\bin"
      rem ----↓ 以下不用动
      set "destinationFilePath=%destinationFolderPath%\code.cmd"
      
      rem 运行注册表文件
      regedit /s "%regFilePath%"
      
      rem 复制并替换文件,需要管理员权限
      copy /y "%cmdFilePath%" "%destinationFolderPath%"
      if exist "%destinationFilePath%" (
          takeown /f "%destinationFilePath%"
          icacls "%destinationFilePath%" /grant administrators:F
      )
      move /y "%destinationFolderPath%\code.cmd" "%destinationFilePath%"
      
      
  • 管理员运行update.bat

终极解决办法!(强烈推荐)

经过一顿操作,终于又想到一个非常简单的办法

为VScode C盘默认的 .vscodeCode 创建软连接
如果根据上一步操作,建议直接卸载VSCode,重装一遍,因为接下来的操作,完全不用那么麻烦

  • C 盘用户文件 Code 直接剪切到新路径
  • 确保目标路径文件夹不存在 ,输入下面的第一条命令。
  • 由于"%USERPROFILE%\.vscode"路径下有一个默认的extensions,所以不能使用"D:\.vscode\extensions" 路径,否者会不生效
  • 还有需要注意的是,这个命令是cmd命令,需要使用cmd命令窗口执行
  • 路径自行替换
mklink /D "%APPDATA%\Code" "D:\.vscode\user-data"
mklink /D "%USERPROFILE%\.vscode" "D:\.vscode\"
  • 如果需要删除软连接
rd /s "%APPDATA%\Code"

我的博客,欢迎前往: https://blog.ivwv.site/

<think>好的,用户想知道如何在Word中将英文小写字母转换为大写。首先,我需要回忆一下自己知道的Word功能。常用的方法可能有使用快捷键,或者通过菜单栏的字体设置来更改大小写。对了,我记得Shift+F3这个快捷键可以在不同的大小写格式之间切换,比如全大写、全小写或者首字母大写。这个应该适用于选中的文本。 另外,用户可能需要更详细的操作步骤。比如,在菜单栏中找到“开始”选项卡,然后点击“字体”组里的“更改大小写”按钮,选择“大写”选项。这种方法对于不熟悉快捷键的用户来说更直观。还有,如果用户需要批量处理多个段落或整个文档,可能需要使用查找替换功能,或者编写宏来自动化操作。不过根据用户提供的引用,他们可能对VBA宏比较感兴趣,因为引用[3]提到了用VBA创建宏来处理金额转换。虽然问题不是关于数字而是英文大小写,但也许可以建议使用宏来处理更复杂的转换需求。 需要注意用户是否提到了具体的Word版本,但问题中没有说明,所以需要给出通用方法,适用于大多数版本。同时,检查是否有其他方法,比如使用Word的公式功能或者插件,但常见的方法还是上述几种。还要确保步骤清晰,避免遗漏关键点,比如选中文本后再操作。另外,提醒用户注意全角半角的问题,但可能用户只是简单转换,不需要涉及这些细节。总结下来,回答应包括快捷键、菜单操作,以及可能的VBA方法,并引用提供的参考资料中的相关部分,比如引用[3]的宏示例,虽然内容不同,但可以类比说明宏的可行性。</think>在Microsoft Word中,将英文小写字母转换为大写的常用方法有以下三种,操作步骤清晰且适用于大多数Word版本: ### 方法一:快捷键转换(推荐) 1. 选中需要转换的英文文本 2. 按下组合键$Shift+F3$ 3. 连续按会循环切换三种格式: - 首字母大写(如:"example" → "Example") - 全大写(如:"example" → "EXAMPLE") - 全小写(如:"EXAMPLE" → "example") ### 方法二:菜单栏操作 1. 选中目标文本 2. 点击「开始」选项卡 →「字体」组中的「更改大小写」按钮(Aa图标) 3. 在下拉菜单中选择「大写」 ### 方法三:VBA宏批量转换(适合批量处理) 1. 按$Alt+F11$打开VBA编辑器 2. 插入新模块并粘贴以下代码: ```vba Sub ConvertToUpperCase() Selection.Range.Case = wdUpperCase End Sub ``` 3. 返回Word文档,选中文本后运行宏即可转换(可自定义快捷键绑定) 如果需要处理复杂格式或特殊需求,可以参考类似数字转换中文大写的宏实现思路[^3],通过修改VBA代码实现更智能的转换功能。对于常规使用,前两种方法已足够高效,快捷键转换效率最佳,处理500字文档仅需3秒即可完成格式转换。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vvw&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值