由于有超过 1000 行,Texstudio 2.7.0 中的行号占据了我显示屏的很大一部分。
我已经发现可以禁用行Options -> Advanced Editor -> Appearance -> Line Numbers
号此主题。
但我真正想要的是让数字或列变小(例如,当我在 1000 行以下范围内工作时,它可能会小一个字符)。
有没有办法使行号更小?(例如通过字体大小?)
答案1
实现所需功能的唯一方法是修改源代码。以下补丁应该可以实现所需功能。也许您需要更改4
以 f.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
- 在您的设置目录中创建一个文件
stylesheet.qss
。在我的 Ubuntu 中,它是~/.config/texstudio/
。 - 将以下内容放入该文件中
QLineNumberPanel, QLineNumberPanel * { color : #000; font-size: 9px;}
。这些是我的设置,你可以选择任何适合你的设置。
如果它有效,请告诉我。它并不完美,而且很多事情并没有按照直觉的方式来改变其他事情。