WSL开发系列-idea篇(WSL2配置与结合IDEA2021使用体验(及wsl-gui踩坑))
2023.2更新:因更新较多,将大部分内容迁移至 WSL开发系列。
随着版本的迭代完善,加上本人丰富的踩坑经验,本人已放弃使用wslg版idea。
更推荐直接使用windows-idea的wsl功能。
本文给出相关使用建议。
导航
一 idea-wsl开发总结
首先需要明确,绝大部分开发工作都是可以在windows环境下完成的。
不推荐任何为了linux而linux的行为。
对我来说,WSL的开发应用场景主要在于:
- 大数据功能开发
之前简单的hdfs操作都需要在windows中配置hadoop相关的环境变量,而且存在各种版本或兼容性问题,很麻烦,以后这些直接丢wsl里面 - 大数据组件编译
很多组件并不是纯Java代码,可能还需要一些脚本,这些有平台依赖性的,很可能因为windows而导致编译失败 - linux脚本测试
以下为之前的记录,可参考,部分已过期。
1 |
|
总结一下,idea的wsl开发有两种方案:idea自带的wsl支持,以及,利用wslg在Linux系统里面装idea
- idea自带的wsl支持
前期存在较多bug,现使用上没有明显问题,
缺点是无法读取到wsl环境变量、性能相对较差 - wslg的idea
优点是原生linux应用、速度更快
缺点是wslg应用和windows切换并不顺畅,如输入法、快捷方式等
另外存在应用冻结(卡死)的bug,需强制关闭wsl重启,甚至会丢修改,这是不能忍受的
wslg的缺点是无法忍受的,所以最终我还是决定使用idea自带的wsl支持
下面会分享我个人的一些使用体验和处理方法
二 idea-wsl开发经验
- 尽量使用基于wsl的环境
如:项目放在wsl文件系统下,运行目标选择wsl,项目jdk选择wsl的,gradle jvm也选择wsl的 - 处理环境变量加载问题
运行目标选择wsl的工程,无法在运行时获取到wsl系统变量(/etc/profile),
这里建议在运行配置添加环境变量
如下,注意:
- 不要加载windows的环境变量
- 环境变量除了键值也可以像linux系统一样,使用命令的形式
如:hadoop classpath
WSL开发系列-idea篇(WSL2配置与结合IDEA2021使用体验(及wsl-gui踩坑))
https://linshenkx.github.io/wsl2_idea2021/