当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

我的问题与堆栈溢出问题Gigantic Tabs in Eclipse on Ubuntu非常相似。

我已经尝试过提出的解决方案,但它们似乎已过时。我发现a solution可以很好地处理工具栏和菜单,但是却不能解决减小窗格内不成比例的大标签(和标签)的大小和填充的问题(请参见下面屏幕中的”Package Explorer”标签)。

我对我的OS-wide GTK主题的自定义方式感到满意,并且不想更改它。是否有快速解决方案来减小Eclipse中窗格的选项卡大小?

我在Ubuntu 12.04上使用Eclipse for Mobile Developers(Juno)。我还要提到,我真的很喜欢Eclipse在Windows 7中开箱即用的方式,因此类似的选择将是理想的。

这是我正在使用的蚀特定的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的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(对我来说很好)

那应该可以解决问题。

次佳回答

可以通过编辑CSS在Eclipse 4.2中更改选项卡的样式。安装E4 CSS编辑器plug-in之后,可以直接在Eclipse Preferences窗口中更改样式。

转到菜单帮助>安装新软件,然后使用Eclipse 4更新站点安装E4 CSS editor (Incubation) plug-in(添加此链接:http://download.eclipse.org/e4/updates/0.12)。

重新启动后,转到窗口>偏好设置,常规>外观,现在您可以在此处为任何选定主题编辑样式。

我将这种样式用于标签:

.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选项指定标签的高度。它的值设置制表符高度,而忽略字体大小。

第三种回答

我还想特别减少水平空间以适合更多标签,因为Eclipse缺少multi-row标签。

这些说明适用于任何平台(不限于例如Ubuntu /GTK)。

我所做的是:

  • 缩小字体

  • 将字体更改为horizontal-compact

  • 删除了X(关闭标签)按钮

…在系统上获得以下结果(Win 7):

…这是完成的过程:

  1. 检查您使用的CSS布局:“偏好设置”->“常规”->“外观”->检查’Theme:’列表框的值

  2. <eclipse folder>\plugins\org.eclipse.platform_<your version>\css中打开相应的文件,例如e4_default_win7.css

  3. 修改.MPartStack条目以设置字体大小和字体,例如:

    .MPartStack {
        font-size: 8;
        font-family: 'Arial Narrow';
        swt-simple: true;
        swt-mru-visible: false;
    }
    
  4. 添加以下条目以删除X(关闭图标):

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

而已!

第四种回答

Eclipse现在(4.5 Mars)在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}"

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9293.html,未经允许,请勿转载。