fontsvisual-studio-codeligature

Can't get FiraCode to show despite the font installed and ligatures activated in VS Code in Windows


In my settings I have:

"editor.fontLigatures": true,
"editor.fontFamily": "Fira Code, Comic Sans MS, Tahoma, Consolas",

and I've tried (according to this) different combinations of apostrophes, spaces and capitalization. No matter what I do, I get Comic Sans to pop (or some plain, weird junk if I only specify Fira Code with no secondary font.

I verified that I've installed all the fonts from their GitHub and I can see the fonts in the list in my text processor (of course they do look as supposed to when typed with said font too). I also tried sweeten up the process using choco install FiraCode, reported as successful.

The ligatures are turned set to true, as shown above. The latest version of VSC is installed and the system is rebooted to the borders of ridiculity. I have almost no extensions and those few I had, I deactivated.

What else can I do to troubleshoot the issue?


Solution

  • In my case I downloaded Fira Code v2 without first uninstalling v1. And I don't think it will ever work with both versions installed. So in Windows, go to your Settings/Font Settings and search for Fira Code - there will be an uninstall button there.

    After installing v2, (install instructions https://github.com/tonsky/FiraCode/wiki/Installing) the variants you installed like Light, Regular, Medium,BoldandRetina` for example will be listed along with the version number.

    Then I would definitely reboot your computer before trying to get Fira Code and font ligatures working in vscode. Also see vscode: update to stylistic sets using font ligatures with Fira Code for some gothchas with ligatures.

    Then after changing the font face in vscode I would reload vscode too. These settings work for me:

    "editor.fontFamily": "Fira Code",
    "editor.fontLigatures":"'zero', 'ss02', 'ss03', 'ss04', 'ss05', 'calt'",
    

    if you want the other stylistic sets that Fira Code offers. The calt on the end was necessary to make most of the rest work for some reason. See the SO question link just above for more on that.