问题描述
我的问题与堆栈溢出问题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;
}
您有两种可能的解决方案:
-
将
font-size
更改为更小的内容 -
只需注释掉或从此类中删除
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):
…这是完成的过程:
-
检查您使用的CSS布局:“偏好设置”->“常规”->“外观”->检查’Theme:’列表框的值
-
在
<eclipse folder>\plugins\org.eclipse.platform_<your version>\css
中打开相应的文件,例如e4_default_win7.css
-
修改
.MPartStack
条目以设置字体大小和字体,例如:.MPartStack { font-size: 8; font-family: 'Arial Narrow'; swt-simple: true; swt-mru-visible: false; }
-
添加以下条目以删除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}"