Macros 为Jedit安装复制选择或行宏

Macros 为Jedit安装复制选择或行宏,macros,text-editor,jedit,Macros,Text Editor,Jedit,您好,我是jedit的新手,我正在尝试安装一项功能,允许我在未选择任何内容时复制当前行。我在这里的Copy_Selection_或_Line.bsh下找到了这个宏 这似乎是一个默认的宏,我应该能够使用它,而不安装任何东西。但我在名单上找不到 然后我尝试在这里使用这个宏的代码 我安装了它,现在可以启用它,但它不起作用 我花了很多时间试图让这个宏工作,但它就是不工作。有人能帮我吗?谢谢从这里可以看到,复制所选内容或行。bsh宏在7年前被重命名:。 文件似乎没有相应地更新。 如果您在此处打开一个文档错

您好,我是jedit的新手,我正在尝试安装一项功能,允许我在未选择任何内容时复制当前行。我在这里的Copy_Selection_或_Line.bsh下找到了这个宏

这似乎是一个默认的宏,我应该能够使用它,而不安装任何东西。但我在名单上找不到

然后我尝试在这里使用这个宏的代码 我安装了它,现在可以启用它,但它不起作用


我花了很多时间试图让这个宏工作,但它就是不工作。有人能帮我吗?谢谢

从这里可以看到,
复制所选内容或行。bsh
宏在7年前被重命名:。 文件似乎没有相应地更新。 如果您在此处打开一个文档错误,那就太好了: 这个附带的宏应该可以正常工作

您在上面链接的是我链接的更改之前的宏。很可能是一些API自7年前以来发生了变化,宏无法正常使用。
Copy\u Lines.bsh
宏是否正在执行您想要的操作?如果没有,它可能至少有助于更新旧的
Copy\u Selection\u或\u Line.bsh
宏以与当前的jEdit一起使用。

我修改了宏(附在下面):

// My Copy_Selection_or_Line.bsh
if (textArea.getSelectionCount() == 0) {
    caretLine = textArea.getCaretLine();
    lineEndOffset = textArea.getLineEndOffset(caretLine);
    textArea.setSelection(new Selection.Range(textArea.getLineStartOffset(caretLine), textArea.getBufferLength() >= lineEndOffset? lineEndOffset : lineEndOffset-1));
}

Registers.copy(textArea,'$');