0

一切尽在标题中。

如果一个已经打开了三个文件:

  • /some/relatively/long/path/dir1/file_a
  • /some/relatively/long/path/dir1/file_b
  • /some/relatively/long/path/dir2/file_a

文件下拉列表包含:

file_a (/some/relatively/long/path/dir1)
file_a (/some/relatively/long/path/dir2)
file_b (/some/relatively/long/path/dir1)

这让我很困扰,因为我必须向右看以区分两者file_a,而在左侧看其他人。这对我来说经常发生,主要是因为我在 python 中编码,因此我经常__init__.py打开几个文件。

如何让 jedit 显示

/some/relatively/long/path/dir1/file_a
/some/relatively/long/path/dir1/file_b
/some/relatively/long/path/dir2/file_a

配置:

  • 杰迪特 5.1.0
  • java 1.6.0_26
  • macOS 10.6
4

1 回答 1

2

不幸的是,目前这并不容易,我只是查看了源代码,这是不可配置的。

你可以:

  • 提交功能请求以使其可配置(无论如何都是好主意)
  • 创建或让创建一个启动宏
    • 注册一个监听新创建EBComponentEditBusEditPane
    • BufferSwitcher_EditPane
    • ListCellRenderer_BufferSwitcher
    • 设置一个新ListCellRendererBufferSwitcher,首先调用检索ListCellRenderer,然后另外将文本设置为value.getPath()
  • 试用Buffer List插件,看看它是否适合您的需求

现在遵循实现选项二的工作部分的代码,可作为 BeanShell 代码运行,该代码为当前编辑窗格执行此操作。当在 EBComponent 中完成时,第三行不是必需的,这只是立即显示动态操作。

r = editPane.getBufferSwitcher().getRenderer();

editPane.getBufferSwitcher().setRenderer(
    new ListCellRenderer() { 
        public Component getListCellRendererComponent(list, value, index, isSelected, cellHasFocus) { 
            rc = r.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); 
            rc.setText(value.getPath()); 
            return rc; 
        } 
    });

editPane.repaint();
于 2014-08-27T11:52:29.380 回答