在Eclipse中通过键盘快捷键调整Zoom编辑器字体大小

4
通过Eclipse(通过插件或其他方式)实现特定于选项卡的字体大小更改是否可能?这将使行为类似于Visual Studio。此主题的现有问题要么过时,要么不是我要问的内容。
更多细节: 在Visual Studio中,序列: 1.按住Ctrl键 2.向上或向下滚动鼠标滚轮
分别实现缩放和缩小。此外,您可以在每个打开的文件(IDE中的每个选项卡)上执行此操作,以便您可以在一个文件中有效地使用“72号”字体,在另一个文件中使用默认字体,在“36号”字体中使用另一个文件(我知道,这不是正确的术语,但你知道我的意思),它只是起作用。
在Eclipse中,上述操作无效,并且没有明显的方法来实现特定于选项卡的缩放或热键+滚动驱动的缩放,更不用说两者了。

1
我很抱歉,我不太熟悉VS。什么是选项卡特定的字体大小更改? - Rüdiger Herrmann
@RüdigerHerrmann 请查看编辑 - tacos_tacos_tacos
1个回答

1
即将发布的Eclipse里程碑版本Neon M4提供了您所需的一些功能。有关详细信息,请参见new and noteworthy
从外部提供缩放功能需要对Eclipse工作台和编辑器有相当的了解(或者您可以在学习的过程中获得)。我看到这里有三个工作项:
1. 更改编辑器字体大小
在Eclipse中,工作台窗口中心的标签称为编辑器。编辑器的实际UI和行为由贡献某种内容类型的编辑器的插件定义。因此,有许多编辑器实现。
编辑器不一定必须显示文本内容。例如,用于XML文件的编辑器可以选择将文件内容显示为元素树而不是纯文本。

然而,大多数文本编辑器都是从一个共同的基类(AbstractTextEditor)派生而来。

有一个基本文本字体首选项设置(窗口>首选项>常规>外观>颜色和字体),大多数文本编辑器使用它作为基础字体。如果您以编程方式增加或减少此设置的大小,则所有实现良好的文本编辑器都将相应地调整其显示。但这当然会影响所有文本编辑器。

如果每个文本编辑器都应该单独缩放,您需要深入了解AbstractTextEditor。我第一次尝试是获取编辑器用于编辑文本的StyledText并直接操作其字体大小。有一个受保护的getSourceViewer()方法通过getTextWidget()返回StyledText。

也许您的字体大小更改会被其他代码覆盖,但它仍然是可能起作用的最简单的方法。

2. 捕获Ctrl+滚轮

同样,您需要每个编辑器的StyledText来注册监听器,以便在发生Ctrl+滚轮事件时做出反应。

如果从注册IPartListener开始,每当部件激活和停用时都会收到通知。由于编辑器是一个部件,因此当编辑器获得和失去输入焦点时会收到通知。如果编辑器是AbstractTextEditor的实例,请注册或注销鼠标滚轮监听器。

3. 重新打开编辑器时恢复字体大小

为了使缩放级别持久化,您还需要一个IPartListener,当编辑器部件关闭(在此保存字体大小)和打开(在此设置存储的字体大小)时会收到通知。

由于您不知道所有文本编辑器实现的具体情况,因此您的缩放命令可能会干扰其中之一。


我安装了最新的官方Eclipse Neon(4.6.0,Build id: 20160613-1800),这个期待已久、延迟时间更长的功能根本不起作用:( - Honza Zidek
据我所知,该功能仅限于文本编辑器,但是我曾经看到在按下“Ctrl +”和“Ctrl -”时它可以增加和减小字体大小。如果您确定它不起作用,那么您应该打开一个错误报告:https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Platform - Rüdiger Herrmann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接