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

And*_*ndy 69 eclipse gtk ubuntu user-interface

我的问题非常类似于Ubuntu上Eclipse中的 Stack Overflow问题Gigantic Tabs.

我尝试了所提出的解决方案,但它们看起来很旧.我找到了一个很好地处理工具栏和菜单的解决方案,但没有一个解决方案可以减少窗格内不成比例的大标签(和标签)的大小和填充(请参阅下面屏幕中的"Package Explorer"选项卡).

我很满意我的OS范围GTK主题的定制方式,并且不想改变它.是否有快速修复以减少Eclipse中窗格的选项卡大小?

我在Ubuntu 12.04上使用Eclipse for Mobile Developers(Juno).我还要提到我非常喜欢Eclipse在Windows 7中出现的方式,所以类似的东西是理想的.

以下是我正在使用的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"
Run Code Online (Sandbox Code Playgroud)

以下是我的IDE与巨大标签一起显示的截图:

带有选项卡的Eclipse Juno IDE太大了

kon*_*ack 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;
}
Run Code Online (Sandbox Code Playgroud)

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

  1. 变成font-size更小的东西
  2. 只是注释掉或font-size从这个课程中删除(适合我)

这应该可以解决问题.

  • 我将`font-size`更改为`9`,我可以看到重启后字体大小变小,但标签高度保持不变.我将`swt-tab-height`和`padding`更改为所有'0px`,但没有区别.还有其他设置要改变吗? (3认同)

Sta*_*tov 61

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

转到菜单帮助>安装新软件,然后E4 CSS editor (Incubation)使用Eclipse 4更新站点安装插件(添加此链接: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;
}
Run Code Online (Sandbox Code Playgroud)

您可以使用该swt-tab-height选项指定标签高度.它的值设置选项卡高度忽略字体大小.

  • 设置`swt-tab-height`比仅更改`font-size`更有用,谢谢,@ MrSmith42每次浪费像素数,除非它是4K显示:) (2认同)

Car*_*arl 13

我还想减少水平空间以适应更多标签,因为Eclipse缺少多行标签.

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

我做的是:

  • 缩小字体大小
  • 将字体更改为水平紧凑的内容
  • 删除了X(关闭标签)按钮

...在我的系统上产生以下结果(Win 7):

带有修改标签的截图

......这就是它的完成方式:

  1. 检查您正在使用的CSS布局:首选项 - >常规 - >外观 - >检查'主题:'列表框的值

  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;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 添加以下条目以删除X(关闭图标):

    CTabItem {
        swt-show-close: false !important;   
    }
    
    Run Code Online (Sandbox Code Playgroud)

而已!


mar*_*osh 8

Eclipse现在(4.5 Mars)在Linux上默认为GTK3.对于4.6一个修复似乎是alredy合并.

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

$ export SWT_GTK3=0
Run Code Online (Sandbox Code Playgroud)

或者将该变量设置为与运行eclipse内联

$ SWT_GTK3=0 /path/to/eclipse/eclipse
Run Code Online (Sandbox Code Playgroud)

要杀死它,只需将它放在root中作为eclipse.sh:

#!/bin/bash
SWT_GTK3=0 exec env "${0%.sh}"
Run Code Online (Sandbox Code Playgroud)

  • 要强制**Eclipse Mars**使用GTK 2,而不是导出`SWT_GTK3 = 0`,你也可以使用`{install_path}/eclipse --launcher.GTK_version 2`启动Eclipse.要查看该版本,请在Eclipse中转到**帮助>关于Eclipse>安装详细信息>配置**选项卡,然后查找`org.eclipse.swt.internal.gtk.version`. (4认同)