Ubuntu上Eclipse窗格中的选项卡非常大

69

我的问题与Stack Overflow问题“在Ubuntu上的Eclipse中有巨大的选项卡”非常相似。

我尝试了提出的解决方案,但它们似乎已经过时。我找到了一个解决方案,可以很好地处理工具栏和菜单,但不能减小窗格中不成比例的大选项卡(和标签)的大小和填充(请参见下面屏幕中的“包资源管理器”选项卡)。

我对我的整个操作系统的GTK主题定制很满意,不想改变它。有没有快速的方法来减小Eclipse中窗格选项卡的大小?

我正在Ubuntu 12.04上使用Eclipse for Mobile Developers(Juno)。我还要提到,我真的很喜欢Windows 7中Eclipse的默认外观,因此类似于那样的东西是理想的。

以下是我正在使用的Eclipse特定的GTK样式:

style "eclin" {
    GtkButton::default_border={1,1,1,1}
    GtkButton::default_outside_border={1,1,1,1}
    GtkButtonBox::child_min_width=0
    GtkButtonBox::child_min_heigth=0
    GtkButtonBox::child_internal_pad_x=0
    GtkButtonBox::child_internal_pad_y=0
    GtkMenu::vertical-padding=1
    GtkMenuBar::internal_padding=1
    GtkMenuItem::horizontal_padding=4
    GtkToolbar::internal-padding=1
    GtkToolbar::space-size=1
    GtkOptionMenu::indicator_size=0
    GtkOptionMenu::indicator_spacing=0
    GtkPaned::handle_size=4
    GtkRange::trough_border=0
    GtkRange::stepper_spacing=0
    GtkScale::value_spacing=0
    GtkScrolledWindow::scrollbar_spacing=0
    GtkExpander::expander_size=10
    GtkExpander::expander_spacing=0
    GtkTreeView::vertical-separator=0
    GtkTreeView::horizontal-separator=0
    GtkTreeView::expander-size=12
    GtkTreeView::fixed-height-mode=TRUE
    GtkWidget::focus_padding=0
    font_name="Liberation Sans,Sans Regular 8"
}

class "GtkWidget" style "eclin"
    style "eclin2" {
    xthickness=1
    ythickness=1
}

class "GtkButton" style "eclin2"
class "GtkToolbar" style "eclin2"
class "GtkPaned" style "eclin2"

这是我的IDE截图,可以看到标签栏太大了:

Eclipse Juno IDE with tabs too big


@eicto,你应该把这个作为完整的答案,并且提到你必须选择GTK作为窗口管理器。 - Ajax
2
自至少Eclipse Mars版本起,就有专门的字体设置:转到“Preferences -> General -> Appearance -> Colors and Fonts -> View and Editor Folders -> Part title font”。 - StefanQ
7个回答

96
你可以编辑Eclipse的CSS而不是弄乱GTK主题。
在你的Eclipse目录中找到文件plugins/org.eclipse.platform_4.2.*/css/e4_default_gtk.css(其中有一个*,因为我猜版本可能会在将来更改或已经不同)。在此文件中,有一个CSS类:
.MPartStack {
    font-size: 11;
    swt-simple: false;
    swt-mru-visible: false;
}

你有两种可能的解决方案:

  1. font-size 改为更小的值
  2. 只需将 font-size 从此类中注释或删除(对我来说效果很好)

这样就可以解决问题了。


1
谢谢!对于简洁性的加分也+1。在知道要搜索什么之后,我能够找到以下文档,供其他遇到类似问题的人使用:http://wiki.eclipse.org/Eclipse4/CSS - Andy
1
在4.2版本中,有一个图形用户界面选项在常规 -> 外观下,可以使用GTK主题而不是经典主题。 - Ajax
1
@Ajax:你说得对,我不得不这样做才能使用我发布的自定义gtk主题,但是这个问题(和解决方案)只涉及选项卡,而这并没有被主题处理。 - Andy
3
我把 font-size 改成了 9,重新启动后字体变小了,但选项卡的高度没变。我将 swt-tab-heightpadding 都改为了 0px,但仍然没有任何变化。是否还有其他设置需要改变? - haridsv
1
@haridsv - 你找到标签问题的解决方案了吗?我也没有看到更小的标签,只有在一个巨大的标签中看到更小的字体。 - technocrat
显示剩余10条评论

61

在Eclipse 4.2中,可以通过编辑CSS来更改选项卡的样式。安装E4 CSS编辑器插件后,您可以直接在Eclipse首选项窗口中更改样式。

进入菜单“帮助”>“安装新软件”,然后使用Eclipse 4更新站点(添加此链接:http://download.eclipse.org/e4/updates/0.12)安装“E4 CSS编辑器(孵化)”插件。

重启后,进入“窗口”>“首选项”,选择“常规”>“外观”,现在您可以在此处编辑任何所选主题的样式。

我正在使用这种选项卡样式:

.MPartStack {
  font-size: 9;
  font-family: Liberation Sans;
  swt-tab-renderer: null;
  swt-tab-height: 22px;
  swt-selected-tabs-background: #FFFFFF #ECE9D8 100%;
  swt-simple: false;
  swt-mru-visible: false;
}

您可以使用swt-tab-height选项指定选项卡的高度。它的值设置选项卡的高度,忽略了字体大小。


2
设置 swt-tab-height 比仅更改 font-size 更有用,感谢 @MrSmith42,每个浪费的像素都很重要,除非是 4K 显示 :) - Mustafa
1
Eclipse Kepler不喜欢解析CSS中的注释。我还使用了这里的最后一个建议:http://techtavern.wordpress.com/2008/09/24/smaller-font-sizes-for-eclipse-on-linux/(覆盖主题),使我的软件包资源管理器字体大小更小。我还参考了这里:https://gist.github.com/andrioli/3825078,以获取更小的工具栏。这三个方法都提供了一个很棒的极简风格给Eclipse。 - technocrat
小心,你可以将 SWT-Tab-Height 最小化,这样就不会显示额外的选项卡命令/功能。 - Augustas
这个__CSS编辑器__现在在哪里(2014年夏季)?无法在任何仓库或市场中找到它。 - Redsandro
@Redsandro,你只需要编辑与被接受的答案相同的文件。对我来说,它是/usr/share/eclipse/plugins/org.eclipse.ui.themes_1.0.0.v20140604-1608/css/e4_default_gtk.css。我刚在新的Eclipse Luna上测试过,仍然可以正常工作;) - Stanislav Mamontov
在Eclipse Neon上,我能够通过更新站点找到插件:e4 v0.16 updates要查找的插件是“E4 CSS editor(孵化)”。安装后,我可以按以下方式编辑Dark主题:.MPartStack,.MPart { font-family: '#org-eclipse-ui-workbench-TAB_TEXT_FONT'; font-size: 8; swt-tab-height: 22px; } - troyfolger

13

我还想特别减少水平空间以适应更多的选项卡,因为Eclipse缺乏多行选项卡。

这些指令适用于任何平台(不限于Ubuntu/GTK等)。

我所做的是:

  • 减小字体大小
  • 更换为一种水平紧凑的字体
  • 删除X(关闭选项卡)按钮

...在我的系统上(Win 7),得到了以下结果:

Screenshot with modified tabs

...操作步骤如下:

  1. Check what CSS layout you're using: Preferences->General->Appearance-> check value of 'Theme:' listbox

  2. Open the corresponding file in <eclipse folder>\plugins\org.eclipse.platform_<your version>\css, e.g. e4_default_win7.css

  3. Modify .MPartStack entries to set font size and font, e.g.:

    .MPartStack {
        font-size: 8;
        font-family: 'Arial Narrow';
        swt-simple: true;
        swt-mru-visible: false;
    }
    
  4. Add the following entry to remove the X (close icon):

    CTabItem {
        swt-show-close: false !important;   
    }
    

就是这样!


很好,关闭X以节省空间!+1 - virtualeyes

8

现在(4.5 Mars版本),Eclipse在Linux上默认使用GTK3。对于4.6版本,修复已经合并。

更改SWT_GTK3环境变量可用于Eclipse Mars:

$ export SWT_GTK3=0

或者在运行Eclipse时内联设置该变量。
$ SWT_GTK3=0 /path/to/eclipse/eclipse

要完全终止它,只需将以下内容作为eclipse.sh放置在根目录中:

#!/bin/bash
SWT_GTK3=0 exec env "${0%.sh}"

4
为了让 Eclipse Mars 使用 GTK 2,而不是导出 SWT_GTK3=0,您也可以使用 {install_path}/eclipse --launcher.GTK_version 2 启动 Eclipse。要查看版本,请在 Eclipse 中转到 帮助 > 关于 Eclipse > 安装详细信息 > 配置 选项卡,并查找 org.eclipse.swt.internal.gtk.version - frIT
这个解决方案还解决了按钮非常大的问题(以及工具栏)。它适用于最新的Eclipse版本(截至2016年10月),即Oxygen。 - mpop
@fr13d,谢谢,设置那个开关对我很有用。而且比创建单独的配置文件和其他麻烦要容易得多... - Svenv

1

0

您可以在此处编辑有关选项卡大小的所有细节:

image


0

另一种方法是选择:

System settings > Universal access > Text size as small.

1
系统设置 - 在哪里? - Zitrax
1
啊,我正在使用 KDE,我在 Eclipse UI 中查找。 - Zitrax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接