Where should I generate Windows Terminal JSON fragment extensions?

409 Views Asked by At

I'm creating "JSON fragment extensions" for Windows Terminal in my code, to create some "auto-generated" Windows Terminal profiles.

In the official docs, JSON fragment extensions in Windows Terminal, there are 2 locations recommended for storing fragments (if your application is not a Microsoft Store app):

For applications installed from the web, there are 2 cases. The first is that the installation is for all the users on the system. In this case, the JSON files should be added to the folder:

C:\ProgramData\Microsoft\Windows Terminal\Fragments\{app-name}\{file-name}.json

In the second case, the installation is only for the current user. In this case, the JSON files should be added to the folder:

C:\Users\<user>\AppData\Local\Microsoft\Windows Terminal\Fragments\{app-name}\{file-name}.json

This seems straightforward enough, but there's some other documentation that describes the actual settings.json file location:

The path for your Windows Terminal settings.json file may be found in one of the following directories:

  • Terminal (stable / general release): %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
  • Terminal (preview release): %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json
  • Terminal (unpackaged: Scoop, Chocolately, etc): %LOCALAPPDATA%\Microsoft\Windows Terminal\settings.json

So, to be clear, these paths are not important if I'm creating profile fragment files, right? I don't need to choose a different path (%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe vs %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe vs %LOCALAPPDATA%\Microsoft\Windows Terminal) for the Fragments files because Fragments will always be loaded from C:\Users\<user>\AppData\Local\Microsoft\Windows Terminal\Fragments etc?

Disclaimer: I work for Microsoft.

1

There are 1 best solutions below

0
On BEST ANSWER

So, to be clear, these paths are not important if I'm creating profile fragment files, right?

Correct! The locations Terminal looks for fragment files are well-defined and durable across different versions.