cloudide java与idea对比

举报
黄生 发表于 2022/10/30 19:14:42 2022/10/30
【摘要】 idea是2022.02版本,新建一个maven构建的项目没有使用archetype,所以pom.xml的文件简单那么一点点,没有任何dependence加上: <dependencies> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artif...

idea是2022.02版本,
新建一个maven构建的项目
image.png

没有使用archetype,所以pom.xml的文件简单那么一点点,没有任何dependence
image.png

加上:

    <dependencies>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.1.49.Final</version>
        </dependency>
    </dependencies>

然后再maven菜单上reload一下,开始编码
image.png

代码提示还是很不错的:不过有点奇怪的时,输入一个netty类名的过程,没有主动补全,输入结束后,有提示可以import。之前用maven archetype建立项目不是这样。
image.png

在这一点上,cloudide很难匹敌,不是说没有提示,而是延迟感很明显,受制于网络,以及cloudide实例的运算资源。

对于要实现的方法的提示,也是到位的:
image.png

在idea里,默认删除行可以是Ctrl-Y,但它与常用的Ctrl-Z Ctrl-Y撤销、重做就冲突了,所以可以用Ctrl-X,剪切,完美。

抄写的代码,里面用的netty版本是5.0,我本地用的是4,所以代码有些要改,比如
这里没提示,所以用alt-Ins,选择override methods(ctrl-o),看看可以重写的方法,并没有抄来的channelRead(),所以这里要把ChannelHandlerAdapter修改为extends ChannelInboundHandlerAdapter,就可以了
image.png

image.png

idea里是sout输出打印语句,这个是太频繁的使用了;另外在补全时,按tab可以往后跳转光标。

代码写好后,点运行,就RUN起来了,可以看到运行的命令

"D:\Program Files\JetBrains\IntelliJ IDEA 2022.2.2\jbr\bin\java.exe" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2022.2.2\lib\idea_rt.jar=53991:D:\Program Files\JetBrains\IntelliJ IDEA 2022.2.2\bin" -Dfile.encoding=UTF-8 -classpath D:\tool\IdeaProjects\idea\target\classes;C:\Users\hao\.m2\repository\io\netty\netty-all\4.1.49.Final\netty-all-4.1.49.Final.jar org.example.TimeServer

下面再来看一下cloudide
也有免费体验,体验完了实例和数据都会删除,我们先体验一下,不好就不购买
选一个all-in-one的,最简单的java工程样板(在华为云的git仓库里)
image.png

cloudide应该是基于vs code的,同样的把dependency加进去,刷新一下开始编码
image.png

类代码提示是有的,虽然相对本地IDE会有一点慢,不过创建类就没有创建inner class的选项,只有新建一个类文件
image.png

重新方法也是有提示的,在目标类上右键Source Action后:
image.png

代码提示延时,是硬伤,因为会严重伤害写代码的那种感觉。
包括代码检查,都是有延时,硬伤啊硬伤。

run起来,因为在云端,会提示你对外开发端口,通过一个域名访问
image.png
命令是:

user@zlkkc5t8idg6b3j-machine:~/java-console-sample$ cd '/home/user/java-console-sample' && env '/.cloudide/toolchains/java/jdk-11.0.9/bin/java' '-Dfile.encoding=UTF-8' '@/tmp/cp_c7xq2zs6y4zuowisomutb6qx7.argfile' 'TimeServer'

user@zlkkc5t8idg6b3j-machine:~/java-console-sample$ cat /tmp/cp_c7xq2zs6y4zuowisomutb6qx7.argfile 
-classpath "/home/user/java-console-sample/target/classes:/home/user/.m2/repository/io/netty/netty-all/4.1.49.Final/netty-all-4.1.49.Final.jar"

最后小小总结一下:
如果要有写代码的感觉,不能用cloudide
如果要漫游随时随地编码,用cloudide很好,有一个浏览器就可以。但是,因为上一条缺陷的存在,如果都有本地IDE,为什么不用源码版本管理来满足漫游编码的要求呢?这样明显更完美一些。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。