这几天开始重用vscode作为默认编辑器(Python, cpp),把它设为默认打开软件之后,发现windows 文件管理器中程序文件的图标变成了vscode自己的图标,没有区分文件类型,不方便。
修改效果:
手动修改注册表
修改教程 VS code关联的文件图标都变成了VS code的默认图标?
-
VSCode有一个自带的图标库,在其安装位置的这里
./VSCode\resources\app\resources\win32
如图:
-
我是便携版的VSCode,也许正因如此,才没有正确的图标,根据教程的方法,可通过注册表修复,步骤如下:
以重新关联
py
文件为例,事先找好Python文件的图标,然后-
打开注册表编辑器,在HKEY_CLASSES_ROOT下新建一项,起一个你喜欢的名字例如
VSCode.py
,然后建立如图所示的结构: -
VSCode.py
这一项的默认值中填入对文件类型的描述,对应于这里: -
DefaultIcon的默认值中填入图标的路径,如:
"E:\VSCode\VSCode\resources\app\resources\win32\python.ico"
-
open下的command默认值填VS Code的路径然后加个空格和"%1"(双引号也要,注意是英文的双引号),如:
"E:\VSCode\VSCode\Code.exe" "%1"
-
edit下的command默认值可以填另一个你喜欢的编辑器,在文件上右键点编辑时调用,这里以记事本为例,填入的内容是:
notepad.exe "%1"
-
转到
HKEY_CLASSES_ROOT\.py
,展开看到OpenWithProgids
一项(没有就新建一个),在这一项中新建字符串值,名称填VSCode.py
,值留空 -
按F5刷新注册表,然后在任务管理器重启“Windows 资源管理器”
-
然后随便找一个py文件,右键属性,在打开方式那里点击更改,弹出窗口中会有一项标着新增的 Visual Studio Code,这就是刚才在注册表中关联的vscode.py,选择这一项,图标就变成你之前在DefaultIcon里指定的图标了。
-
运行.reg文件修改
有多个类型的文件需要修改的话,可以用程序修改注册表。
- 替换
VSCode.py
为对应语言,如VSCode.cpp
- 修改注册表有风险,可先备份注册表中对应的两项:
[HKEY_CLASSES_ROOT\VSCode.py]
[HKEY_CLASSES_ROOT\.py]
- 如果运行之后效果和预期不一致,可再检查与上面的手动步骤哪里不一致
- 我运行之后,第4行总是无法更新到注册表,需要手动写入
Python
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\VSCode.py]
@="Python 源文件"
[HKEY_CLASSES_ROOT\VSCode.py\DefaultIcon]
@="\"E:\\VSCode\\VSCode\\resources\\app\\resources\\win32\\python.ico\""
[HKEY_CLASSES_ROOT\VSCode.py\shell]
[HKEY_CLASSES_ROOT\VSCode.py\shell\edit]
[HKEY_CLASSES_ROOT\VSCode.py\shell\edit\command]
@="notepad.exe \"%1\""
[HKEY_CLASSES_ROOT\VSCode.py\shell\open]
[HKEY_CLASSES_ROOT\VSCode.py\shell\open\command]
@="\"E:\\VSCode\\VSCode\\Code.exe\" \"%1\""
[HKEY_CLASSES_ROOT\.py]
@="Python.File"
"Content Type"="text/plain"
[HKEY_CLASSES_ROOT\.py\OpenWithProgids]
"VSCode.py"=""
C++
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\VSCode.cpp]
@="C++ 源文件"
[HKEY_CLASSES_ROOT\VSCode.cpp\DefaultIcon]
@="\"E:\\VSCode\\VSCode\\resources\\app\\resources\\win32\\cpp.ico\""
[HKEY_CLASSES_ROOT\VSCode.cpp\shell]
[HKEY_CLASSES_ROOT\VSCode.cpp\shell\edit]
[HKEY_CLASSES_ROOT\VSCode.cpp\shell\edit\command]
@="notepad.exe \"%1\""
[HKEY_CLASSES_ROOT\VSCode.cpp\shell\open]
[HKEY_CLASSES_ROOT\VSCode.cpp\shell\open\command]
@="\"E:\\VSCode\\VSCode\\Code.exe\" \"%1\""
[HKEY_CLASSES_ROOT\.cpp]
@="C++.File"
"Content Type"="text/plain"
[HKEY_CLASSES_ROOT\.cpp\OpenWithProgids]
"VSCode.cpp"=""
Java
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\VSCode.java]
@="JAVA 源文件"
[HKEY_CLASSES_ROOT\VSCode.java\DefaultIcon]
@="\"E:\\VSCode\\VSCode\\resources\\app\\resources\\win32\\java.ico\""
[HKEY_CLASSES_ROOT\VSCode.java\shell]
[HKEY_CLASSES_ROOT\VSCode.java\shell\edit]
[HKEY_CLASSES_ROOT\VSCode.java\shell\edit\command]
@="notepad.exe \"%1\""
[HKEY_CLASSES_ROOT\VSCode.java\shell\open]
[HKEY_CLASSES_ROOT\VSCode.java\shell\open\command]
@="\"E:\\VSCode\\VSCode\\Code.exe\" \"%1\""
[HKEY_CLASSES_ROOT\.java]
@="Java.File"
"Content Type"="text/plain"
[HKEY_CLASSES_ROOT\.java\OpenWithProgids]
"VSCode.java"=""