最近想使用vscode作为开发工具逐步替代eclipse,但是不影响eclipse作为项目管理的配置。以下是踩坑过程:
1、项目之间的依赖。如主projectA依赖projectB,projectB并不是已jar包的形式,而是项目的形式在eclipse中的,eclipse有个很方便的功能是直接把项目添加进依赖中,vscode貌似找不到直接添加项目的方式。所以projectB需要以源码目录的形式添加到projectB中,就注定projectA的依赖的jar包还需要添加projectB的。所以不能直接共用eclipse的项目配置。且看第二点。添加代码路径的方式,在.vscode/settings.json中添加:
"java.project.sourcePaths": [
"srcA",
"srcB"
]
2、.project,.classpath文件的兼容性。安装了vscode的java插件以后,vscode已经可以兼容eclipse的配置了,但是由于前面说的引用的jar包不同,原来eclipse的配置文件不满足vscode的要求,而且IDE并不能通过设置(如设置exclude这种,试过N种方法均无法跳过)跳过加载这些配置文件。实际上vscode有两种配置jar文件的方式,一个是通过设置.vscode/settings.json 里面的java.project.referencedLibraries,另一个就是eclipse的配置。但是尝试了前者发现,设置vscode的java.project.referencedLibraries不支持自定义引用顺序。所以最后还是要采用eclipse的.classpath的配置方式。
3、如何让eclipse和vscode引用同一个源码目录,而且配置文件相互不影响呢。这就得用到从linux学到的只是了[得意]--建立硬链接。网上搜索了一下原来windows也能建立硬链接。当前目录结构是这样的
文件夹A:eclipseproject
——src
——[eclipse] .classpath
——[eclipse] .project
文件夹B:vscodeproject
——src
——[vscode].classpath
——[vscode].project
其中src目录是两个不同的IDE项目共用的源码目录,其余配置文件是对应项目依赖的配置文件。用windows的mklink /H命令创建目录的硬连接以后就可以做到不同目录指向同一个源码目录了。至此最大的坑已经踩过。接下来分享一下vscode java使用上的一些技巧。
ps:vscode的java项目检测成功以后,会在启动以后会在左侧EXPLORER自动生成一个JAVA PROJECTS的栏目,并且和eclipse一样,这个栏目会有referenced libraries这些项目,看到这些说明vscode的java项目导入成功了。
参考一下我的目录结构
projectname
——srcA/
——srcB/
——.settings/
——.vscode/.settings
——.claspath
——.project