Describes the StudioShell settings.
StudioShell settings are available in the Visual Studio IDE from the
Tools > Options menu item, under the StudioShell page of the Options
Settings are saved to a file at the following location:
where ~ is the user's home directory. The settings file is a key=value
formatted file, suitable for passing to the ConvertFrom-StringData cmdlet.
The settings.txt file format is as follows:
To manipulate these settings from your PowerShell session, use the
StudioShell ships with two consoles.
The "default" console option results in a console window that is dockable
in the Visual Studio IDE. However, the console is subjected to various
threading and memoty limitations and may seem slow or choppy. In the
settings.txt file, this console choice is named "StudioShell".
The "old school" console option results in a normal PowerShell window.
This window does not dock in the IDE, but it is not subject to the same
threading limitations and is much more responsive. Note that using the
"old school" console has risk - if you exit the console or close the
console window, it is likely that Visual Studio will crash or exit without
saving your work. In the settings.txt file, this console choice is
You can control whether StudioShell attempts to load various profile
scripts at startup.
The "Load PowerShell Profile Scripts" option controls whether the standard
PowerShell profile scripts are loaded. In the settings.txt file, this
setting is named "LoadPowerShellProfiles" and can have a value of True or
The "Load StudioShell Profile Scripts" option controls whether the profile
scripts specific to StudioShell are loaded. In the settings.txt file, this
setting is named "LoadStudioShellProfiles" and can have a value of True or
The "Load Solution Modules" option controls whether StudioShell will
attempt to load solution modules. In the settings.txt file, this
setting is named "AutoManagePerSolutionModules" and can have a value of
True or False.
This setting is named "AutoManagePerSolutionModules" in the settings.txt
StudioShell can output various levels of logs while it is starting up.
These logs can be useful when debugging a profile script.
You can set the startup logging level to one of these values:
||no logging will take place; this is the default behavior.
||minimal logging, akin to the $debugpreference variable set to 'Continue'.
||open-bore logging, akin to the $debugpreference and $verbosepreference variables both set to 'Continue'. This log level includes logs from the PSDTE provider.
The log level is named "StartupLogLevel" in the settings.txt file.
Any modifications made after the StudioShell session has started will not
take effect until you restart Visual Studio.
These settings apply ONLY to the default StudioShell host and have no
effect when using the StudioShell module from other hosts, such as
NuGet or PowerShell.exe.