VS代码无法识别我的java项目。该项目是一个minecraft mod的模板代码,找到了here。我已经安装了插件
- “Java调试工具”
- “Java扩展包”
- “Redhat提供的Java语言支持”
- “Java测试运行程序”
- “Java项目管理器”
我还得到一个与gradle相关的错误。
Could not run phased build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.0.2-bin.zip'.
java.io.StreamCorruptedException: invalid type code: 00
invalid type code: 00
这是我的settings.json文件
{
"files.exclude": {
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
},
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"java.configuration.updateBuildConfiguration": "interactive",
"java.home": "/usr/lib/jvm/java-16-openjdk-amd64",
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/usr/lib/jvm/java-8-openjdk-amd64",
"default": true
},
]
}
我的Java文件没有代码完成功能。在它工作之前,在Visual Studio的右下角它显示了我正在使用的Java版本,但现在它只显示Java。我猜这是因为Gradle有问题,因此无法计算出我的Java版本。感谢您的时间。
**更新:**这似乎工作,并给予我自动完成,但我仍然得到一个Gradle相关的错误上面提到的。
{
"files.exclude": {
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
},
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"java.configuration.updateBuildConfiguration": "interactive",
"java.home": "/usr/lib/jvm/java-16-openjdk-amd64",
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/usr/lib/jvm/java-8-openjdk-amd64",
"default": true
},
{
"name": "JavaSE-16",
"path": "/usr/lib/jvm/java-16-openjdk-amd64",
},
]
}
2条答案
按热度按时间7hiiyaii1#
对于任何和我遇到同样问题的人,请确保您的settings.json文件看起来和我的文件相似,包括java 1.8运行配置和java 11+运行配置,与指定为主路径的配置相同。这应该可以修复java语言级别。您可以忽略gradle错误,但必须使用gradle runClient,而不是vscode提供的运行配置。
dauxcl2d2#
在我的例子中,我通过创建一个新的Java项目并比较生成的文件来解决这个问题。
此外,
.settings/org.eclipse.jdt.core.prefs
中的一些设置也丢失了,但他们并没有立即修复这个问题,直到我添加了上面的内容。当然,每次进行更改时都需要清理工作空间(使用
... -> clean workspace
或命令面板Java > clean Java Language server workspace