V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
0x11901
V2EX  ›  问与答

礼问 Idea 有无替换常数公式为结果的插件?

  •  
  •   0x11901 · 2020-08-13 16:46:07 +08:00 · 1638 次点击
    这是一个创建于 1571 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT……好吧,这名字也太难取了,还是举一个例子吧:

    我有段代码如下:

    fuck(x + 1 + 2 * 4.1 + y);
    

    其中除了 x 、y 之外,其他的其实在写代码时已经可以计算出结果了,故我最终的代码想要的是:

    fuck(x + 9.2 + y);
    

    每次都复制粘贴使用计算器计算确实太蛋疼了,故是否有插件让我右键x + 1 + 2 * 4.1 + y后,点击下鼠标就替换为x + 9.2 + y,当然如果没有这么智能,那右键1 + 2 * 4.1替换为9.2也行啊!

    救救孩子吧,求求了!

    13 条回复    2020-08-14 12:00:42 +08:00
    aasdkl
        1
    aasdkl  
       2020-08-13 18:39:12 +08:00
    Alt+Enter 可解(应该是这个快捷键)
    或者你右键 Show Context Actions

    XiaoxiaoPu
        2
    XiaoxiaoPu  
       2020-08-13 18:42:55 +08:00
    编译器会优化常量表达式,所以原始的写法不会有性能问题,就按原始写法来呗。
    0x11901
        3
    0x11901  
    OP
       2020-08-13 19:14:12 +08:00
    @aasdkl 看样子这个操作是和编程语言绑定的……很遗憾我写的不是 js……
    0x11901
        4
    0x11901  
    OP
       2020-08-13 19:15:00 +08:00
    @XiaoxiaoPu 我写的脚本语言,并没有编译器优化所以必要时候我习惯手动算一下……
    XiaoxiaoPu
        5
    XiaoxiaoPu  
       2020-08-13 19:57:51 +08:00
    @0x11901 什么语言?解释器的常量表达式优化也是有的,看具体语言
    Croxx
        6
    Croxx  
       2020-08-13 20:25:42 +08:00 via iPhone
    应该没有语言差这点性能,不如为了可读性考虑直接保留原始公式?
    SoloCompany
        7
    SoloCompany  
       2020-08-13 22:48:32 +08:00
    echo 'fuck(x + (1 + 2 * 4.1) + y);' | node_modules/.bin/uglifyjs -c
    fuck(x+9.2+y);
    0x11901
        8
    0x11901  
    OP
       2020-08-14 10:54:53 +08:00
    @XiaoxiaoPu 其实硬要说性能的话确实也根本不差这点性能了,大概主要是代码风格原因吧,毕竟我都拿计算器按了这么久了,再改成保留原始公式感觉不协调了
    0x11901
        9
    0x11901  
    OP
       2020-08-14 10:55:13 +08:00
    @SoloCompany emmm……我试试,也许能用!
    SoloCompany
        10
    SoloCompany  
       2020-08-14 11:02:56 +08:00
    @0x11901 #9 我的意思不是让你去找插件, 而是希望说明编译器 / 工具链就能自动优化的事情, 代码应该尽量保持面向阅读而不是优化
    0x11901
        11
    0x11901  
    OP
       2020-08-14 11:07:04 +08:00
    @SoloCompany 虽说本意不同,但是我应该把这个东西在 Idea 的 external tools 中设置一下,应该就能满足我的需求了。
    SoloCompany
        12
    SoloCompany  
       2020-08-14 11:35:10 +08:00
    @0x11901 #11 你真没看懂 uglifyjs 是干嘛用的吗? 即使没用过看名字就能猜到啊
    0x11901
        13
    0x11901  
    OP
       2020-08-14 12:00:42 +08:00
    @SoloCompany 想啥呢大兄弟!“你永远不知道用户怎么使用你的产品”
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2952 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:45 · PVG 20:45 · LAX 04:45 · JFK 07:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.