如何绕过Eclipse吞下$ {selected_text}的双引号

时间:2010-12-29 01:08:05

标签: eclipse

我正在使用基于Eclipse 3.6.1 Build id: M20100909-0800的{​​{1}}和Aptana Studio 2.0.5(两者都在OS X上),在这两个程序中,外部工具功能似乎吞下了双引号和空格{ {1}}变量。

Eclipse 3.5.2变量对于上述行为不是没有用吗? 有没有办法绕过那个或者隐藏的地方?

感谢阅读。

2 个答案:

答案 0 :(得分:1)

这很容易被视为安全/保安功能。

我建议"${selected_text}"

...但是如果它正在吃掉所有的空白,那就没有用了。呵呵。也许它足够聪明地检测引号并保留空白......但可能不是。


好的,我做了一点点。根据我上面的初步建议,参数列表中的引号会被保留。我发现以下自动生成的参数列表正常工作:

  

-os $ {target.os} -ws $ {target.ws} -arch $ {target.arch} -nl $ {target.nl} -consoleLog   -debug“$ {workspace_loc:/com.cardiff.bpm.ide.webforms.ui/debug.options}”

但是如果您的文本选择包含引号,我希望它可以根据底层操作系统进行处理。例如,Windows“cmd”会对它们进行一些创造性的事情。我的* nix-fu不是很强大,所以我无法告诉你OS X将在幕后做什么,但我怀疑你会找到你的解决方案。

你可能不得不做一些愚蠢的事情,比如URL编码你的选择,并使用一些命令行工具取消编码,然后在文本超出Eclipse的魔掌时将其传递给你想要的外部工具。

快速查看我的3.6.1用户界面没有出现为你自动完成此操作,但可能会有一个插件在那里将该功能添加到编辑器的上下文(右键单击)菜单。

我希望HTML编辑器已具备此功能......但除了“智能插入模式”之外我没有看到任何其他声音,这听起来很有希望,而且我也看不到它的工作原理。


最痛苦地吹山羊,连续几个星期都是这样。 E'en直到yon山羊出现皮疹,在严重程度和地方都最不愉快。实实在在。

我认为你没有得到我提出的解决方案:

  1. 设置您的工具,以便使用一些建议的命令行工具对传入的字符串进行de-url-encode-certificate。
  2. 在您的编辑器中(在eclipse中)对您要选择的文本进行URL编码并传递给该工具。手动。
  3. 在选定的(网址编码)文本上运行该工具。
  4. 还原所选文字。也手动。可能只是“撤消”。
  5. “1”是我为什么要寻找一些用于编码选择的eclipse UI方式的原因。粘贴到属性字符串时,HTML编辑器甚至不会这样做。啧。

    其他两个选项:

    1. 自己修复错误。开源和所有这些。
    2. 编写一个插件,公开它自己的$ {selected_text}版本,但不会删除所有字符串。
    3. 嘿! SED!用一些随机的(在你可能做出的任何选择中未使用的)替换引号高的ascii字符并将其重新发送回双引号而不是建议的de-url-encode -ification化器。您仍然需要手动编辑/撤消文本,但至少您不必“”“实际搜索/替换给定的选择会使其比人们想象的那样痛苦。
    4. 我不确定#2的范围是什么,但如果你没有任何eclipse插件体验,我会想象一下这个想法可能会让人望而生畏。甚至可能有一个样本插件暴露了这样一个变量,虽然我还没有检查过。


      我认为我们没有沟通。

      您不选择带引号的文字。您选择了损坏的文本,然后将其解压缩为引号。

      例如,您的编辑器中包含字符串print("hello world");,并希望将其发送到您的工具。

      1. 在编辑器中将其更改为print(~hello world~);。手动或通过脚本或其他任何方式。
      2. 选择它
      3. 运行您的工具,可能包含在一个脚本中,该脚本会将~发送回"
      4. 将其更改回print("hello world");
      5. 这是一个手动过程。它不漂亮。错误的解决方法就是这样。您可以想出一个猴子脚本来将引号转换为Something Else,并且“撤消”很容易。您甚至可以将脚本连接到键盘快捷方式... dunno。并且~对于替换角色来说是一个糟糕的选择,这是我能想到的第一件事,这种情况很难成为一个体面的例子。

        我们正在沟通吗?

答案 1 :(得分:0)

为了记录,我在bug评论中使用绅士的一些指导汇总了补丁。

我不知道它是否会被接受,但它为我修复了一些东西,所以也许其他人可能觉得它很有用。
同样,这仅适用于Mac OS X Eclipse。

  1. 启动Eclipse。
  2. 转到Import > Plug-ins and Fragments

    导入自:活动平台
    要导入的片段:从所有插件中选择
    导入为:来自存储库的项目

    Next >

  3. 选择org.eclipse.debug.uiorg.eclipse.debug.core

  4. 项目进入工作区后,应用构成建议补丁v1的两个补丁,可在bug 255619

  5. 的错误跟踪器页面找到
  6. 转到Export > Deployable plug-ins and fragments并从更改后的套餐中制作一个罐子。

  7. 希望它有所帮助。