SQL 整个程序的 Server Management Studio 深色主题

SQL Server Management Studio dark theme for whole program

是否可以将SSMS主题设置为all dark?我真的很喜欢 Visual Studio 中的深色主题,而且 SSMS 是建立在 VS shell 之上的。我看到了这个 SQL Server Management Studio Skin / Appearance / Layout,但它仅适用于查询编辑器。

对于 SSMS 2016 打开 C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\ssms.pkgundef 转到

// Remove Dark theme
[$RootKey$\Themes{1ded0138-47ce-435e-84ef-9ec1f439b749}]

在上面的设置中注释掉,像这样,然后重启SSMS,你会排序在Color theme选项中多了一个Dark选项。

// Remove Dark theme
//[$RootKey$\Themes{1ded0138-47ce-435e-84ef-9ec1f439b749}]

这是一种自动化方法,可以更轻松地在 SQL Server 2014+ 中启用 SSMS 深色主题。如果您已经执行过它,它也是可重入的。如果您担心恢复,它将首先进行备份。 Inspired by this manual guide.

PS CommandLet 启用深色 SSMS 主题

function EnableDarkSSMSTheme() {
    $ssmsConfig = "C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\ssms.pkgundef"
    $fileContent = get-content $ssmsConfig 
    Set-Content -path ([System.IO.Path]::ChangeExtension($ssmsConfig, "backup")) -value $fileContent  # backup original file
    $startContext = $fileContent | Select-String "// Remove Dark theme" -context 0, 100 | Select-Object LineNumber, Line -ExpandProperty Context | select-object LineNumber, PostContext # grab start context
    $endContext = $startContext.PostContext | select-string "//" | Select Line, @{Name="LineNumber";Expression={$_.LineNumber + $startContext.LineNumber - 3}} -First 1 # grab end context, offset line # for ending
    for($i = $startContext.LineNumber-1; $i -le $endContext.LineNumber; $i++) { $fileContent[$i] = "//$($fileContent[$i])" } # prefix lines to comment
    Set-Content -path $ssmsConfig -value $fileContent # persist changes
}

EnableDarkSSMSTheme
kill -name ssms
start-process ssms

注意: 从 v17.2 到 v17.3 的版本升级,程序文件配置被覆盖,您必须重新应用此脚本。

我只是通过高对比度更改我的 windows 主题并进行了一些微调。这将使 SSMS 进入全暗模式。