Ever since about version 17.3 of SQL Server Management Studio, I've had problems with fresh installs (as opposed to upgrades). I've been unable to set the fonts and colors. When I go into that dialog, I see the list as shown in the main image above.
All the normal option for windows that you can make settings for aren't there.
On my current machine, I had just installed a v18 SSMS and it was fine. All font options, etc. were there. But I had to install v17.9.1 of SSMS side-by-side because the ssbdiagnose tool was missing on my machine. (I needed it for our new Service Broker course and v18 doesn't install it for some reason).
Once I'd installed v17.9.1 as a fresh side-by-side install, I found that I was back to the font problem on the v17 copy of SSMS. (v18 was still fine).
Previously when trying to fix this, the suggestions I've heard were to uninstall it, install v17.2, then upgrade it. That was a pain but didn't always fix it for me either.
One Solution for Now !
So today, Matteo Taveggia from the product group was trying to help me work out what was wrong. Turns out it's caused by missing files. At this point, we don't know why they were missing, but here's what Matt got me to do.
I checked the following folder:
C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\1033
It should have contained a file: Microsoft.DataWarehouse.VsIntegration.rll but it wasn't there. I found another copy of it on my machine (in VS2017 folders) but you could get it from another machine. I copied it into that folder.
Then, Matt asked me to edit the following file: ssms.pkgundef which I found in the parent folder:
C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio
I added another line at the end, saying:
[$RootKey$\FontAndColors\Data Warehouse Designer]
The Verdict ?
When I restarted SSMS v17.9.1, all was good in the world again:
I'd like to know more about what other files were missing and what they do, but if you have this problem, I hope it fixes it for you too.
Many thanks to Matt for his help.