Texstudio:修改行号的大小

Texstudio:修改行号的大小

由于有超过 1000 行,Texstudio 2.7.0 中的行号占据了我显示屏的很大一部分。

我已经发现可以禁用行Options -> Advanced Editor -> Appearance -> Line Numbers此主题

但我真正想要的是让数字或列变小(例如,当我在 1000 行以下范围内工作时,它可能会小一个字符)。

有没有办法使行号更小?(例如通过字体大小?)

答案1

实现所需功能的唯一方法是修改源代码。以下补丁应该可以实现所需功能。也许您需要更改4f.setPointSize(f.pointSize()-4)增大或减小行号的字体大小。

diff -rupN texstudio2.7.0-original/qcodeedit/lib/widgets/qlinenumberpanel.cpp texstudio2.7.0/qcodeedit/lib/widgets/qlinenumberpanel.cpp
--- texstudio2.7.0-original/qcodeedit/lib/widgets/qlinenumberpanel.cpp  2014-05-23 15:56:40.379727451 +0200
+++ texstudio2.7.0/qcodeedit/lib/widgets/qlinenumberpanel.cpp   2014-05-23 15:57:41.468030330 +0200
@@ -117,7 +117,9 @@ bool QLineNumberPanel::paint(QPainter *p
*/

    QFont f(font());
-   f.setWeight(QFont::Bold);
+   //f.setWeight(QFont::Bold);
+   f.setPointSize(f.pointSize()-4);
+   p->setFont(f);
    const QFontMetrics sfm(f);
    bool specialFontUsage=false;
    QFont specialFont(font());
@@ -141,8 +143,9 @@ bool QLineNumberPanel::paint(QPainter *p
    specialFontUsage=true;
#endif

-   int max = e->document()->lines();
-   if(max<100) max=100; // always reserve 3 line number columns to avoid ugly jumping of width
+   //int max = e->document()->lines();
+   //if(max<100) max=100; // always reserve 3 line number columns to avoid ugly jumping of width
+   int max = 100;
    QString s_width=QString::number(max);
    s_width.fill('6');
    const int panelWidth = sfm.width(s_width) + 5;
@@ -182,7 +185,7 @@ bool QLineNumberPanel::paint(QPainter *p
            draw = !((n + 1) % 10) || !n || !line.marks().empty();
        }

-       txt = QString::number(n + 1);
+       txt = QString::number((n + 1) % 1000);

    if ( n == cursorLine )
    {

截屏

答案2

我也尝试了很多技巧来实现同样的效果。最后我找到了一种方法...我使用的是 TeXstudio 2.12.16

  1. 在您的设置目录中创建一个文件stylesheet.qss。在我的 Ubuntu 中,它是~/.config/texstudio/
  2. 将以下内容放入该文件中QLineNumberPanel, QLineNumberPanel * { color : #000; font-size: 9px;}。这些是我的设置,你可以选择任何适合你的设置。

如果它有效,请告诉我。它并不完美,而且很多事情并没有按照直觉的方式来改变其他事情。

相关内容