cloudide java与idea对比
idea是2022.02版本,
新建一个maven构建的项目
没有使用archetype,所以pom.xml的文件简单那么一点点,没有任何dependence
加上:
<dependencies>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.49.Final</version>
</dependency>
</dependencies>
然后再maven菜单上reload一下,开始编码
代码提示还是很不错的:不过有点奇怪的时,输入一个netty类名的过程,没有主动补全,输入结束后,有提示可以import。之前用maven archetype建立项目不是这样。
在这一点上,cloudide很难匹敌,不是说没有提示,而是延迟感很明显,受制于网络,以及cloudide实例的运算资源。
对于要实现的方法的提示,也是到位的:
在idea里,默认删除行可以是Ctrl-Y,但它与常用的Ctrl-Z Ctrl-Y撤销、重做就冲突了,所以可以用Ctrl-X,剪切,完美。
抄写的代码,里面用的netty版本是5.0,我本地用的是4,所以代码有些要改,比如
这里没提示,所以用alt-Ins,选择override methods(ctrl-o),看看可以重写的方法,并没有抄来的channelRead(),所以这里要把ChannelHandlerAdapter修改为extends ChannelInboundHandlerAdapter,就可以了
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仓库里)
cloudide应该是基于vs code的,同样的把dependency加进去,刷新一下开始编码
类代码提示是有的,虽然相对本地IDE会有一点慢,不过创建类就没有创建inner class的选项,只有新建一个类文件
重新方法也是有提示的,在目标类上右键Source Action后:
代码提示延时,是硬伤,因为会严重伤害写代码的那种感觉。
包括代码检查,都是有延时,硬伤啊硬伤。
run起来,因为在云端,会提示你对外开发端口,通过一个域名访问
命令是:
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,为什么不用源码版本管理来满足漫游编码的要求呢?这样明显更完美一些。
- 点赞
- 收藏
- 关注作者
评论(0)