Windows 10 has a default programs section in settings where we can associate a default program to open the file with its file extension. I have a situation where I want to open all the .py files with VSCode(IDE) except few which I want to associate with python.exe. But when I change the file association it changes for all .py files. Any nice way to handle this without changing extensions back and forth?

  • Probably not. Consider creating shortcuts for the exception files. – Scott Jan 27 at 18:10

Disclaimer: This is a workaround. The following method requires administrator permission to change registry values.

Basis: After installing Python (any version), .py file is automatically associated with python.exe. In the following method, that python.exe association with .py extension is preserved. Because anytime we/users execute .py file with python.exe and this default file association helps to do it without typing python.exe in commands. Also Python files can be visually distinguished with blue-yellow pythons :) So what to do? Just add a context menu (i.e. right click dialog box) for .py file only which shows "Edit with VSCode" option.

Procedure: First check if .py is actually associated with python.exe (optional). Run these command:

assoc .py
ftype Python.File

From the first command output, grab the Python.File file type and write a text file as following:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Python.File\shell\Edit with VSCode\command]
@="E:\\VSCode\\Code.exe \"%1\""

Here E:\VSCode\Code.exe is the full path of VSCode executable. The path can be changed with Registry Editor.


Open HKEY_CLASSES_ROOT\Python.File\shell\Edit with VScode\command registry in Registry Editor. Edit the (Default) value with your own VSCode full path. So what does this registry value do? It adds a context menu for Python.File file type (e.g. for .py files) which execute Code.exe C:\path\to\abc.py command.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.