文章目录
事情经过
- 未安装任何Java Extension Pack
- 使用 Maven 的 archetype:generate 命令来创建一个新的项目
- 使用vscode打开了该目录
- 然后安装Java Extension Pack等java插件
- 配置了vscode settings.json中的 java.configuration.runtimes和 java.jdt.ls.java.home参数
- 重启了vscode,发现vscode并不能识别刚刚用maven创建的java项目,明明我目录下面已经用 pom.xml文件了
- 因为没有被识别为java项目(visual studio code not recognizing java project),java代码无法自动补齐、语法高亮等功能
尝试
使用 java: Create Java project 创建了一个新的demo,发现java功能一切正常了,并且我我将原项目的所有代码拷贝过来也能正常使用
疑惑
https://code.visualstudio.com/docs/java/java-project
Import Java projects
You can directly import existing Java projects and modules to your workspace through File > Open Folder... (Make sure the opened >folder contains your build tool scripts, for example, pom.xml or build.gradle). VS Code for Java will detect your projects and import > > them automatically.
When you add a new module into your projects, you can trigger the command Java: Import Java projects in workspace to import >them to your workspace. This command helps to import new projects into the workspace without the need to reload the VS Code window
vscode官方介绍也说了,只要你的项目里面有pom.xml,就能自动识别,所以这边也看不出来问题出现在哪里
问题解决
还是怀疑是vscode项目缓存的问题,尝试在命令面板中执行 "Java: Clean the Java language server workspace" 命令,但是没有起效果。
但是我不死心,
- 关掉现在vscode项目,
- 重新开了一个vscode窗口,连上远程服务器,打开之前java项目目录
- wc 发现这次竟然成功了
结论
vscode应该会缓存之前打开过的项目,导致项目状态识别有问题
【期望你能愉快的看到这个窗口】