Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to change the font size and font of the workbench #519

Open
hsdk123 opened this issue Nov 24, 2015 · 457 comments
Open

Allow to change the font size and font of the workbench #519

hsdk123 opened this issue Nov 24, 2015 · 457 comments
Labels
feature-request Request for new features or functionality workbench-fonts
Milestone

Comments

@hsdk123
Copy link

hsdk123 commented Nov 24, 2015

At the moment, we can only change the font size / font of the editor. If we want to change the font size, we need to use a roundabout method of "zooming in / out". It would be nice if this could be adjusted through the preferences.

@jrieken jrieken added help wanted Issues identified as good community contribution opportunities feature-request Request for new features or functionality labels Nov 24, 2015
@skube
Copy link

skube commented Dec 3, 2015

Further to this, it seems weird that if I want larger fonts outside of the editor I have to zoom in each time I restart.

@egamma
Copy link
Member

egamma commented Dec 3, 2015

pls see #291 for the zooming issue (in general pls do not create combo issues 😄 )

@egamma egamma modified the milestone: Backlog Dec 10, 2015
@bpasero bpasero changed the title Change font size of outside editor Allow to change the font size of the workbench Apr 7, 2016
@bpasero bpasero self-assigned this Apr 7, 2016
@bpasero bpasero removed the help wanted Issues identified as good community contribution opportunities label Apr 7, 2016
@conceptualspace
Copy link

+1

v1.4.0 seemed to make the file explorer fonts larger/bolder, making it harder to traverse a large directory

@bpasero bpasero removed their assignment Aug 17, 2016
@bpasero bpasero changed the title Allow to change the font size of the workbench Allow to change the font size and font of the workbench Feb 10, 2017
@bobrocke
Copy link

bobrocke commented Mar 6, 2017

+1

@nishantgeorge
Copy link

+1

2 similar comments
@dodalovic
Copy link

👍

@cgiacomi
Copy link

cgiacomi commented May 5, 2017

👍

@bobrocke
Copy link

bobrocke commented May 5, 2017

Does the new UI theming interface give access to the font size?

@kentor
Copy link

kentor commented May 17, 2017

In addition, I would like to increase the line spacing in the explorer. File names are way too close to each other and is fatiguing to look at.

@xster
Copy link

xster commented May 18, 2017

Ha, I was gonna suggest exposing line height so I could decrease it and pack more files into each screen.

@timc13
Copy link

timc13 commented Jun 12, 2017

just to add another reason:

  • changing the Explorer to a monospaced font is easier to read when scanning for files

@mzabuawala
Copy link

+1

Please add support for changing font size of EXPLORER window.

@bhavyaus bhavyaus reopened this Jun 18, 2024
@nrthbound
Copy link

Uhh @bhavyaus, does you mistakingly closing and reopening the issue means someone might actually do something about this after 10 years and hundreds of comments here?

@tang-nn
Copy link

tang-nn commented Jun 21, 2024

😊😊😊
Please provide this feature!!!

Please provide this feature!!!

😒😒😒😒

@bhavyaus
Copy link
Collaborator

@nrthbound apologies. Thanks for catching this. We've been dealing with a lot of spam lately and this issue was accidentally closed.

@nrthbound
Copy link

@bhavyaus Okay, but what about the implementation of this? Is there some reason you guys keep skipping over this? It's got more comments and requests than anything else. Like, what else do we have to do to get the ball rolling on this? It's been years and there has been zero movement on one of the most requested features to solve huge accessibility issues. Zed has since been released, and re-written from scratch during the time this request has been waiting. What is the holdup?

@mariushx
Copy link

/* SidePanel */
:root {
       /* you can change these values */
	--vscode-pane-view-font-family: var(--monaco-monospace-font);
	--vscode-pane-view-font-size: 15px;
}
.monaco-pane-view {
  font-family: var(--vscode-pane-view-font-family);
  font-size: var(--vscode-pane-view-font-size) !important;
}
.monaco-pane-view h3 {
  font-family: var(--vscode-pane-view-font-family);
  font-size: calc(var(--vscode-pane-view-font-size) - 2px) !important;
}
.monaco-highlighted-label {
  font-family: var(--vscode-pane-view-font-family);
  font-size: calc(var(--vscode-pane-view-font-size) - 1px) !important;
}
.monaco-workbench .monaco-list-row .expression .value {
   font-family: var(--vscode-pane-view-font-family);
   font-size: calc(var(--vscode-pane-view-font-size) - 1px) !important; 
}

Until they find time to fix this for a quick workaround you might want to add these values at the end of the CSS file located at: C:\Users{user}\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\workbench.desktop.main.css.

@louwrentius
Copy link

louwrentius commented Jul 1, 2024

/* SidePanel */
:root {
       /* you can change these values */
	--vscode-pane-view-font-family: var(--monaco-monospace-font);
	--vscode-pane-view-font-size: 15px;
}
.monaco-pane-view {
  font-family: var(--vscode-pane-view-font-family);
  font-size: var(--vscode-pane-view-font-size) !important;
}
.monaco-pane-view h3 {
  font-family: var(--vscode-pane-view-font-family);
  font-size: calc(var(--vscode-pane-view-font-size) - 2px) !important;
}
.monaco-highlighted-label {
  font-family: var(--vscode-pane-view-font-family);
  font-size: calc(var(--vscode-pane-view-font-size) - 1px) !important;
}
.monaco-workbench .monaco-list-row .expression .value {
   font-family: var(--vscode-pane-view-font-family);
   font-size: calc(var(--vscode-pane-view-font-size) - 1px) !important; 
}

Until they find time to fix this for a quick workaround you might want to add these values at the end of the CSS file located at: C:\Users{user}\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\workbench.desktop.main.css.

Thanks for sharing this! I'm trying to find out how to do this on Mac, can't find said file.

 /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.css

The suggested code change does seem to have an affect, but the key issue is that a list of files starting with 01,02 and so on doesn't align properly when you get to:

09
10
11

As the '1' does take up less space. It feels like the 'font ligatures' setting that you fortunately can disable in the editor is affecting the font in the file explorer.

Screenshot 2024-07-01 at 20 55 56

@slifty
Copy link

slifty commented Jul 1, 2024

This must be pretty tricky to implement 😅

Just wanted to voice some support in 2024 since I'd love to be able to set the explorer to use a monospace font.

@silverling
Copy link

Hey guys, I came across a very good extension. By using Apc Customize UI++ Extension, the most parts of VS Code can be customized. Open the developer tools (Help > Toggle Developer Tools) to inspect any element you want to customize. For example, you can use CSS Selector to modify any stylesheet in your settings.json.

"apc.stylesheet": {
    /* Sidebar*/
    ".monaco-workbench .part.sidebar > .content": "font-family: 'Cascadia Code', 'Noto Sans CJK SC'; font-size: 12px;",

    /* Tab */
    ".monaco-workbench .part.editor > .content .title.tabs": "font-family: 'Cascadia Code', 'Noto Sans CJK SC'; font-size: 12px;",
    ".monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab .tab-label a": "font-family: 'Cascadia Code', 'Noto Sans CJK SC'; font-size: 12px;",

    /* Titlebar */
    ".monaco-workbench .part.titlebar": "font-family: 'Cascadia Code', 'Noto Sans CJK SC'; font-size: 12px;",
    ".monaco-workbench .part.titlebar .monaco-action-bar.vertical": "font-family: 'Cascadia Code', 'Noto Sans CJK SC'; font-size: 12px;",

    /* Statusbar */
    ".monaco-workbench .part.statusbar": "font-family: 'Cascadia Code', 'Noto Sans CJK SC'; font-size: 12px;",
    
},

image

This extension has lots of other features. Just check it out.

@id-aditya
Copy link

id-aditya commented Jul 30, 2024

@silverling Thanks for sharing that, I'm one of the very mature user of that extension, try this config if it's of some use to you or some newcomer:

/*----------------------------------------------------------------------------*/
/*widget*/
.monaco-editor .peekview-widget .head .peekview-title {
  font-family: var(--text-type);
  font-size: var(--text-size);
}

.monaco-workbench .part > .content {
  font-family: var(--text-type);
  font-size: var(--text-size);
}

.monaco-findInput .monaco-inputbox {
  font-family: var(--text-type);
  font-size: var(--text-size);
}

.search-view .query-details.more h4 {
  font-family: var(--text-type);
  font-size: var(--text-size);
}

.monaco-editor .find-widget .monaco-findInput .input {
  font-family: var(--text-type);
  font-size: var(--text-size);
}

.monaco-editor .find-widget > .find-part {
  font-family: var(--text-type);
  font-size: var(--text-size);
}

/*----------------------------------------------------------------------------*/
/*explorer-rows*/
.explorer-folders-view > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .monaco-list-row > .monaco-tl-row > .monaco-tl-twistie {
  opacity: 0;
}

.explorer-folders-view > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .monaco-list-row[aria-expanded="false"] {
  color: #00470033;
}

.explorer-folders-view > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .monaco-list-row[aria-expanded="true"] {
  color: #004700FF;
}

.explorer-folders-view > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .monaco-list-row {
  color: #7F000033;
}

/*----------------------------------------------------------------------------*/
/*explorer*/
.explorer-folders-view > .monaco-list > .monaco-scrollable-element > .monaco-list-rows span {
  font-family: var(--text-type);
  font-size: var(--text-size);
}

.explorer-folders-view > .monaco-list > .monaco-scrollable-element > .monaco-list-rows {
  margin-left: -45px;
}

.explorer-folders-view .monaco-list-row {
  padding-left: 0;
}

/*----------------------------------------------------------------------------*/
/*sidebar-header*/
.monaco-workbench .pane-composite-part > .title > .composite-bar-container > .composite-bar > .monaco-action-bar .action-item {
  font-family: var(--text-type);
  font-size: var(--text-size);
  text-transform: lowercase;
}

.monaco-workbench .pane-composite-part > .title > .composite-bar-container > .composite-bar > .monaco-action-bar {
  line-height: calc(var(--text-size) * 2);
  height: calc(var(--text-size) * 2);
}

.monaco-action-bar .action-label {
  font-size: var(--text-size);
}

.monaco-workbench .part > .composite.header-or-footer,
.monaco-workbench .part > .composite.title {
  padding: 0 var(--text-size) 0 var(--text-size);
  border-bottom: 1px solid #EFEFEFFF;
}

.monaco-workbench .part.sidebar > .title > .title-label h2 {
  font-family: var(--text-type);
  font-size: var(--text-size);
  text-transform: lowercase;
}

.monaco-workbench .part > .title > .title-actions {
  line-height: calc(var(--text-size) * 2);
  height: calc(var(--text-size) * 2);
}

.monaco-workbench .part > .title > .title-label {
  line-height: calc(var(--text-size) * 2);
  height: calc(var(--text-size) * 2);
}

.monaco-workbench .part > .title {
  line-height: calc(var(--text-size) * 2);
  height: calc(var(--text-size) * 2);
  background-color: #FFFFFFFF;
}

/*----------------------------------------------------------------------------*/
/*sidebar-sub-header*/
.monaco-pane-view .pane > .pane-header h3.title {
  font-family: var(--text-type);
  font-size: var(--text-size);
  text-transform: lowercase;
}

.monaco-workbench .part > .title > .title-label {
  padding-left: 0;
}

.monaco-workbench .part > .title {
  padding-right: 0;
  padding-left: 0;
}

/*----------------------------------------------------------------------------*/
/*tab*/
.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.sticky-compact {
  max-width: 10px;
  min-width: 10px;
  width: 10px;
}

.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-label a,
.monaco-workbench .part.editor > .content .editor-group-container > .title .title-label a {
  font-family: var(--text-type);
  font-size: var(--text-size);
  line-height: var(--text-line);
}

.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.close-action-off:not(.sticky-compact) {
  padding-right: var(--text-size);
}

.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab {
  font-family: var(--text-type);
  font-size: var(--text-size);
  line-height: calc(var(--text-size) * 2);
  height: calc(var(--text-size) * 2);
  padding-left: var(--text-size);
  border-bottom: 1px solid #EFEFEFFF;
  box-sizing: border-box;
}

.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container {
  font-family: var(--text-type);
  font-size: var(--text-size);
  line-height: calc(var(--text-size) * 2);
  height: calc(var(--text-size) * 2);
}

/*----------------------------------------------------------------------------*/
/*statusbar-text*/
.monaco-workbench .part.statusbar {
  font-family: var(--text-type);
  font-size: var(--text-size);
  text-transform: lowercase;
}

/*----------------------------------------------------------------------------*/
/*scrollbar-shadow-panel*/
.monaco-scrollable-element > .shadow.top {
  box-shadow: #00000000 0 0 0 0 inset;
  height: 0;
}

/*scrollbar-shadow-tab*/
.monaco-editor .scroll-decoration {
  box-shadow: #00000000 0 0 0 0 inset;
  height: 0;
}

/*----------------------------------------------------------------------------*/
/*icon-activitybar-extension*/
.monaco-workbench .activitybar > .content :not(.monaco-menu) > .monaco-action-bar .action-label:not(.codicon) {
  font-size: var(--text-size);
}

/*icon-activitybar-inbuilt*/
.monaco-workbench .activitybar > .content :not(.monaco-menu) > .monaco-action-bar .action-label.codicon {
  font-size: var(--text-size);
}

/*icon-statusbar-custom*/
.custom-statusbar .monaco-workbench .part.statusbar > .items-container > div.statusbar-item span.codicon {
  font-size: var(--text-size);
}

/*icon-statusbar*/
.monaco-workbench .part.statusbar > .items-container > .statusbar-item span.codicon {
  font-size: var(--text-size);
}

/*icon-sidebar*/
.monaco-action-bar .action-item .codicon {
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

/*icon*/
.monaco-workbench .codicon[class*=codicon-] {
  font-size: var(--text-size);
}

/*----------------------------------------------------------------------------*/
.linux,
.mac {
  --monaco-monospace-font: var(--text-type);
  font-family: var(--text-type);
  font-size: var(--text-size);
}

:root {
  --text-type: 'PragmataPro Mono', monospace;
  --text-size: 15px;
  --text-line: 1;
}

PS: Make sure to replace the text PragmataPro Mono with the name of mono space font you want to use.

@tomkra
Copy link

tomkra commented Aug 9, 2024

I think this issue is missing accessibility label so it can be included in accessibility issues query so It can be planned in month Iteration plan accessibility issues.

Font size and font family are definitelly part of accessibility issues and I think the label should be added.

@Iainmon
Copy link

Iainmon commented Aug 9, 2024

What if everyone here just opens a new issue with a similar title? It would certainly get someone's attention.

@Iainmon
Copy link

Iainmon commented Aug 9, 2024

Finally!! Now that you're here, see the comment above.

@DanBrown47
Copy link

What if everyone here just opens a new issue with a similar title? It would certainly get someone's attention.

Keep it civil

@Freemoneys31
Copy link

At the moment, we can only change the font size / font of the editor. If we want to change the font size, we need to use a roundabout method of "zooming in / out". It would be nice if this could be adjusted through the preferences.

https://medium.com/@moneysfreed/atlantas-hottest-underground-unsigned-artist-3ab0a32d5780 ![AB1D70F4-FC2D-4187-AD66-F187B9F3C546](https://github.com/user-attachments/assets/881ed395-ae9e-4b1b-9653-4373afe42aff) [File_000.png.pdf](https://github.com/user-attachments/files/16568751/File_000.png.pdf)

@meadowsys
Copy link

Font size and font family are definitelly part of accessibility issues and I think the label should be added.

oh 100% for sure (but there is no one here from microsoft that can add it... heh)

@id-aditya
Copy link

They're skeptical that this request will end up breaking the UI. They didn't plan the UI correctly initially like everyone else.

They need to be brave enough to implement this, not having this feature has made VSCode not so fun, those who are forced will never know the feel good feeling of being able to customize UI font family and size, it adds to productivity as well.

I escaped the matrix by using APC Customize UI+ extension but many especially newcomers to the editor will never taste it.

Those who wanna know how beautiful the IDE can become if we have this feature enabled:
2024-08-13-013944_hyprshot

@khalby786
Copy link

khalby786 commented Sep 4, 2024

Dear VSCode,

In 2015, I was 9 years old. Young and blissfully ignorant of the world outside. I was a mere 9-year-old kid back then, probably still in elementary school, dreaming of the day I'd be old enough to complain about things like font choices in code editors. I was a mere 9-year-old kid back then, where my biggest concern was going back home and watching Transformers episodes on TV.

I am now 18 years old—a full-fledged adult. Over these years, the world has undergone seismic shifts: we've seen new leaders rise and fall, memes come and go, technology evolve beyond our wildest imaginations, and even weathered a global pandemic.

Meanwhile, my personal journey has been nothing short of a tragic epic. I’ve lived through the darkest recesses of adolescence, survived the existential crises of my teenage years, and watched as the spark of youthful optimism withered into weary resignation. The hopes and dreams of my early childhood have crumbled, giving way to a profound sense of existential dread. I witnessed the rise and fall of countless civilizations with my own eyes. My own personal growth has felt like an endless cycle of trying to reinvent myself, only to face the cold, indifferent reality that some things, like this font request, never evolve.

Amid all this tumult and transformation, one constant has remained unchanged: the unresolved request for an interface font update in VSCode. Even when the tides of the world changed, when the tables turned, and the coins flipped; when my parents disowned me and I turned to an addicted life of video games and StackOverflow threads, this GitHub issue was the only thing that stayed strong with me and open throughout all the traumatizing times.

Here’s to a decade of waiting and hoping. As the world moves forward, let’s not forget the humble font request that has withstood the test of time. While everything else around us evolved—society, technology, even my maturity level—VSCode's persistence to not add this feature still stays strong in my heart. If my 9-year-old self could witness this touching moment, I'm sure he'd be proud.

Sincerely,
A recovering developer

@russeg
Copy link

russeg commented Sep 13, 2024

The lack of acknowledgement from the VS Code team makes me think this is not a technical issue, but something else. I mean, what is the insurmountable programming problem that this is still not implemented?

Maybe we should contact Guinness Book of World Records to suggest this as the hardest programming task in the universe?

This is really mind boggling.

@mitsukuri
Copy link

mitsukuri commented Sep 13, 2024

@russeg Why bother implementing font customization when all $takes are on neuroimplants and direct brain-to-AI interface) For the short transitory period when those brains are still needed for SkyNet's maintenance.. (Sarcasm, just in case)

@DanBrown47
Copy link

20240913_205745.jpg

10 വർഷത്തെ കാത്തിരിപ്പാ

@ismailarilik
Copy link

I am planning to look at this issue but I just wonder what the challenges are. Does it require a bunch of changes? Isn't a PR like this enough: #144365 (probably with a revision) If someone mentor me, I would be glad and have a chance to handle what is necessary for this long-waited issue.

@ismailarilik
Copy link

ismailarilik commented Sep 15, 2024

I am planning to look at this issue but I just wonder what the challenges are. Does it require a bunch of changes? Isn't a PR like this enough: #144365 (probably with a revision) If someone mentor me, I would be glad and have a chance to handle what is necessary for this long-waited issue.

TL; DR: This project (microsoft/vscode) is open source but not free; let's fork it and fix long-waited issues there.

Just gave up. The story behind the PR #144365 is strange: When it was ready, it is kept up-to-date and waited for a feedback or approval from maintainers but doesn't get any response. Maintainers (Microsoft) don't even review a PR which should probably fix an issue which is much wanted by the community for a long time. This is weird, right? Yes, if this project was driven by community's wishes. But this is not the situation here. The issues here are prioritized by if they would bring any profit directly. But hey, this must be the case, right? Microsoft is a non-non-profit company.

So if I open a PR to fix this issue, it won't even be reviewed. So what can we do? I think we should fork this repo and implement long-waited features there. Actually there is a popular fork named VSCodium but they are probably not interested to maintain a fork of vscode. But I am gonna open this issue there anyway and try to explain why we need to maintain a fork.

If you wanna support me just upvote this comment and that comment.

@manuartero
Copy link

maybe Cursor does consider this ? 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Request for new features or functionality workbench-fonts
Projects
None yet
Development

Successfully merging a pull request may close this issue.