4

星期五快乐——有谁知道 eclipse 是否有像 Textmate 这样的智能引号的概念。它的工作方式是选择一些单词并通过简单地"按键来引用它们?我是这里的新手,所以要温柔。FWIW - 我在 Eclipse 中使用 pydev。

谢谢

改写

我正在寻找的是给定我在屏幕上选择了一个单词或短语,我想简单地点击'"'键并将整个单词或短语用引号括起来。这同样适用于各种键——比如 ( [{"'`。

所以说我有以下代码

a = {}
a[keyword] = 1

现在(在 python 中)关键字应该用引号引起来。我应该能够双击(选择)关键字并简单地键入'然后中提琴整个单词被引用。现在发生的事情是关键字被单引号代替......叹息......

谢谢

4

5 回答 5

2

对于 Java 和 XML 文件,您可以在 Window / Preferences / Java / Editor / Templates 中创建一个新模板。模板文本可能如下所示:

"${word_selection}${}"${cursor}

然后,您可以使用标准 Ctrl-Space 应用此模板激活代码完成(可能必须按 2 或 3 次才能到达模板选择器),然后选择您的报价模板。

于 2009-12-03T01:38:34.980 回答
1

在最新的 PyDev 中,它应该已经完全按照您的意愿工作了(在 PyDev 2.2.3 中测试过——这实际上已经存在了一段时间)。

于 2011-11-01T00:25:02.043 回答
0

我想我知道你在问什么,是不是...

如果你按 X 键,它会选择光标所在的当前单词?

如果是这个问题,那我不这么认为。有很多可能的键绑定没有在 Eclipse 中设置。请参阅窗口 > 首选项 > 常规 > 键

更新:

抱歉,我认为在 Eclipse 中没有执行此操作的操作。可能存在一个可以附加到键绑定的插件,但我不知道有一个。

于 2009-11-13T17:15:41.353 回答
0

您可以查看其中一个注释命令是如何工作的。例如,如果我选择说 4 行代码并且我想对所有代码行进行注释,我可以简单地选择它们然后按 ctrl+/ 并且所有选定的代码行都将被注释。

我是一个长期的 textmate 用户,我错过了一些可怕的东西。我强迫自己从我的 Mac 上做出一个艰难的转变。我会在时间允许的情况下进行调查,但目前我不能一直停留在细微的调整上。

-马特

于 2010-06-11T05:40:28.227 回答
0

这是用 Autohotkey 写的:

#NoEnv
SetWorkingDir %A_ScriptDir%
SendMode Input
#InstallKeybdHook
#UseHook On

(::
    if GetKeyState("ScrollLock","T")
    {
        sel := GetSelection(1)
        if sel
            PasteText("(" sel ")")
        else
            Send (
        sel := ""
    }
    else
        Send (
Return

"::
    if GetKeyState("ScrollLock","T")
    {
        sel := GetSelection(1)
        if sel
            PasteText("""" sel """")
        else
            Send "
        sel := ""
    }
    else
        Send "
Return

'::
    if GetKeyState("ScrollLock","T")
    {
        sel := GetSelection(1)
        if sel
            PasteText("'" sel "'")
        else
            Send '
        sel := ""
    }
    else
        Send '
Return

{::
    if GetKeyState("ScrollLock","T")
    {
        sel := GetSelection(1)
        if sel
            PasteText("{" sel "}")
        else
            Send {{}}
        sel := ""
    }
    else
        SendRaw {
Return

[::
    if GetKeyState("ScrollLock","T")
    {
        sel := GetSelection(1)
        if sel
            PasteText("[" sel "]")
        else
            Send [
        sel := ""
    }
    else
        Send [
Return

<::
    if GetKeyState("ScrollLock","T")
    {
        sel := GetSelection(1)
        if sel
            PasteText("<" sel ">")
        else
            Send <
        sel := ""
    }
    else
        Send <
Return


GetSelection(wait = "")
{
    ClipBack := ClipboardAll
    Clipboard := ""
    Send ^c
    if wait
        ClipWait 0.05
    Selection := Clipboard
    Clipboard := ClipBack
    Return Selection
}

安装 Autohotkey 后,将此代码保存到文本文件,将扩展名重命名为 .ahk 并运行它。它需要打开 Scroll Lock 才能使代码正常工作。

此代码从http://www.autohotkey.net/~Vifon/修改为:

  1. 包括 ' 和 <
  2. 当没有选择文本时,写 ', ", <, {, [, ( 代替 '', "", <>, {}, [], ()。
于 2011-08-02T15:52:41.570 回答