JavaScript - 如何在IntelliJ中轻松切换点与括号属性访问

时间:2014-09-08 20:00:51

标签: javascript intellij-idea google-closure-compiler

我希望能够轻松切换"点符号"和#34;括号符号"使用IntelliJ进行属性访问。

例如,可以使用以下JavaScript

var x = obj.a;

转换为

var x = obj['a'];

然后回到简单的"方式,类似于 alt + 输入重构提示?真的,我正在寻找任何能够有效转换任何方向的技术。

我尝试了什么

我创建了一个实时模板,该模板位于" dot"到"括号":

['$SELECTION$']

但是手动删除.

x = obj.a
// Use IntelliJ "Surround Template"
x.obj.['a']
// Manually remove the dot
x.obj['a']

(类似的效果可以用"环绕选择输入引号或括号"选中。)

不幸的是,我不能通过实时模板走另一条路("括号"到"点"),因为您无法删除实时模板中的字符。

动机

我正在使用带有ADVANCED优化标记的Google Closure Compiler。在没有任何干预的情况下,它重命名要在外部使用的方法/对象名称,并在外部代码上重命名方法/对象名称。解决方法是

  1. 使用括号表示法(GCC不会改变字符串)
  2. 使用" goog.exportSymbol()goog.exportProperty()"对于您要导出的代码(例如,您的代码是库),如here所示;并宣布" externs"您正在使用的外部代码的文件,如here
  3. 所述

    我觉得1.比2稍微麻烦。

    旁白

    • 虽然不是全部有效"括号"是有效的"点",可接受的解决方案不一定要考虑到这一点。
    • 这是关于哪种表示法更好/首选/等的问题。

0 个答案:

没有答案