2009-11-13 41 views
4

快乐星期五 - 有谁知道日食是否有像Textmate这样的智能报价的概念。它的工作方式是选择一些单词和简单地击中键引用他们我是一个新手在这里,所以要温柔FWIW? - 我使用的PyDev Eclipse中Eclipse智能报价 - 就像在Textmate

感谢

改编

我在找什么是我在屏幕上选择了一个单词或短语,我只想打'''键,并有引号括住整个单词或短语。这同样适用于不同的钥匙 - 。像([{“'`

所以说,我有以下代码

a = {} 
a[keyword] = 1 

现在(在python)的关键字应该是在引号我应该能够双击(选择)关键字,只需键入然后中提琴整个单词被引用。现在发生的事情是关键字由一个单引号...唉..代替

感谢

+0

这确实不错。 – 2009-11-14 14:06:58

+1

这在日食中是不可能的。但是Eclipse支持自动报价关闭。 – Secko 2009-11-18 00:46:45

回答

1

在最新的PyDev中,它应该像你想要的一样工作(在PyDev 2.2.3中测试过 - 实际上已经有一段时间了)。

0

我想我知道你是什么样的人王,是不是......

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

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

更新:

对不起,我不认为这是一个动作在Eclipse中做到这一点。 插件可能存在,您可以附加到一个键绑定,但我不知道一个。

+0

不是我真正想要的 - 我会试着重新说明我的问题。谢谢 – rh0dium 2009-11-14 13:45:44

2

对于Java和XML文件,您可以在Window/Preferences/Java/Editor/Templates中创建一个新模板。模板文本可以是这个样子:

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

然后你可以应用此模板使用标准的Ctrl-Space键启动代码完成(可能需要打2〜3次才能到模板选择器),然后选择你的报价模板。

0

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

我是一个很长时间的textmate用户,我很想念它。我强迫自己远离我的Mac硬盘。随着时间的许可,我会进行调查,但目前我无法保持小幅调整。

-Matt

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. 写入',” <,{[(而不是 '', “”,<>,{} ,当没有文本被选中时,[],()