注意:版本问题,可能会有部分出入
java.home
作用:
指定用于启动 Java 语言服务器的 JDK (11或更近版本)的文件夹路径。在 Windows 上,反斜杠必须转义
"java.home":"C:\\Program Files\\Java\\jdk11.0_8"
默认值:null
java.jdt.ls.java.home
作用:
指定用于启动Java语言服务器的JDK(11或更近版本)的文件夹路径。此设置将替换Java扩展的嵌入式JRE以启动Java语言服务器。在Windows上,反斜杠必须转义
"java.jdt.ls.java.home":"C:\\Program Files\\Java\\jdk11.0_8"
默认值:null
java.jdt.ls.vmargs
作用:
指定用于启动Java语言服务器的额外VM参数
"java.jdt.ls.vmargs":"-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m"
// 优化并行垃圾收集器的内存使用
默认值:-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m
java.errors.incompleteClasspath.severity
作用:
指定Java文件的类路径不完整时消息的严重性
"java.errors.incompleteClasspath.severity": "warning"
默认值:warning
java.configuration.checkProjectSettingsExclusions
作用:
控制是否从文件管理器中排除扩展生成的项目设置文件(.project, .classpath, .factorypath, .settings/)
"java.configuration.checkProjectSettingsExclusions": true
默认值:true
java.configuration.updateBuildConfiguration
作用:
指定对生成文件的修改如何更新Java类路径/配置
"java.configuration.updateBuildConfiguration": "interactive"
默认值:interactive
java.trace.server
作用:
跟踪VS代码与Java语言服务器之间的通信
"java.trace.server": "off"
默认值:off
java.import.maven.enabled
作用:
启用/禁用 Maven 导入器
"java.import.maven.enabled": true
默认值:true
java.import.gradle.enabled
作用:
启用/禁用 Gradle 导入程序
"java.import.gradle.enabled": true
默认值:true
java.import.gradle.wrapper.enabled
作用:
使用 gradle-wrapper.properties
文件中的Gradle
"java.import.gradle.wrapper.enabled": true
默认值:true
java.import.gradle.version
作用:
如果Gradle包装丢失或禁用,请使用特定版本的Gradle
"java.import.gradle.version": null
默认值:null
java.import.gradle.home
作用:
如果Gradle包装器丢失或禁用且没有指定 java.import.gradle.version
,请从指定的本地安装目录或 Gradle_HOME 使用 Gradle
"java.import.gradle.home": null
默认值:null
java.import.gradle.offline.enabled
作用:
启用/禁用 Gradle离线模式
"java.import.gradle.offline.enabled": false
默认值:false
java.import.gradle.arguments
作用:
要传递给 Gradle的参数
"java.import.gradle.arguments": null
默认值:null
java.import.gradle.jvmArguments
作用:
要传递给 Gradle的JVM参数
"java.import.gradle.jvmArguments": null
默认值:null
java.import.gradle.user.home
作用:
设置 GRADLE_USER_HOME
"java.import.gradle.user.home": null
默认值:null
java.maven.downloadSources
作用:
作为导入Maven项目的一部分,启用/禁用Maven源工件的下载
"java.maven.downloadSources": false
默认值:false
java.eclipse.downloadSources
作用:
为Eclipse项目启用/禁用Maven源代码工件的下载
"java.eclipse.downloadSources": false
默认值:false
java.maven.updateSnapshots
作用:
强制更新快照
"java.maven.updateSnapshots": false
默认值:false
java.referencesCodeLens.enabled
作用:
启用/禁用参考CodeLens(显示引用)
"java.referencesCodeLens.enabled": false
默认值:false
java.signatureHelp.enabled
作用:
启用/禁用识别标志帮助
"java.signatureHelp.enabled": false
默认值:false
java.implementationsCodeLens.enabled
作用:
启用/禁用实例CodeLens(显示引用)
"java.implementationsCodeLens.enabled": false
默认值:false
java.configuration.maven.userSettings
作用:
设置 Maven 用户配置文件(settings.xml)的路径
"java.configuration.maven.userSettings": null
默认值:null
java.configuration.maven.globalSettings
作用:
设置 Maven 全局配置文件(settings.xml)的路径
"java.configuration.maven.globalSettings": null
默认值:null
java.configuration.maven.notCoveredPluginExecutionSeverity
作用:
指定插件执行不在Maven build lifecycle范围内时的严重性
"java.configuration.maven.notCoveredPluginExecutionSeverity": "warning"
默认值:warning
java.configuration.workspaceCacheLimit
作用:
保留未使用的工作区缓存数据的天数(如果启用)
超过此限制后,缓存的工作区数据可能会被删除
"java.configuration.workspaceCacheLimit": null
默认值:null
java.format.enabled
作用:
启用/禁用默认Java格式化程序
"java.format.enabled": true
默认值:true
java.saveActions.organizeImports
作用:
启用/禁用保存操作时自动组织导入
"java.saveActions.organizeImports": false
默认值:false
java.import.exclusions
作用:
!
取消模式以允许子文件夹导入,你必须包含一个父目录"java.import.exclusions": "**/node_modules/**,**/.metadata/**,**/archetype-resources/**,**/META-INF/maven/**"
默认值:**/node_modules/**,**/.metadata/**,**/archetype-resources/**,**/META-INF/maven/**
java.import.generatesMetadataFilesAtProjectRoot
作用:
指定是否在项目根目录下生成项目元数据文件 (.project, .classpath, .factorypath, .settings/) 单击此处了解如何更改设置以使其生效
"java.import.generatesMetadataFilesAtProjectRoot": false
默认值:false
java.project.referencedLibraries
作用:
配置glob模式,以便将本地库引用到Java项目
"java.project.referencedLibraries": "lib/**/*.jar"
默认值:lib/**/*.jar
java.project.outputPath
作用:
"java.project.outputPath":
默认值:``
java.project.sourcePaths
作用:
"java.project.sourcePaths":
默认值:``
java.contentProvider.preferred
作用:
你喜欢的Content Providers(通常是第三方反编译器id)
"java.contentProvider.preferred": null
默认值:null
java.autobuild.enabled
作用:
启用/禁用"自动生成"(auto build)
"java.autobuild.enabled": true
默认值:true
java.maxConcurrentBuilds
作用:
最大同步项目构建数
"java.maxConcurrentBuilds": 1
默认值:1
java.recommendations.dependency.analytics.show
作用:
显示推荐的依赖项分析扩展
"java.recommendations.dependency.analytics.show": true
默认值:true
java.completion.maxResults
作用:
0
(默认值)禁用该限制,将返回所有结果"java.completion.maxResults": 0
默认值:0
java.completion.enabled
作用:
启用/禁用代码补全支持
"java.completion.enabled": true
默认值:true
java.completion.overwrite
作用:
"java.completion.overwrite": true
默认值:true
java.completion.guessMethodArguments
作用:
当设置为true时,当从代码辅助方案列表中选择方法时,会猜测方法参数
"java.completion.guessMethodArguments": false
默认值:false
java.completion.favoriteStaticMembers
作用:
定义静态成员或具有静态成员的类型的列表。即使缺少导入,Content assist也会推荐这些静态成员
"java.completion.favoriteStaticMembers": "org.junit.Assert.*,org.junit.Assume.*,org.junit.jupiter.api.Assertions.*,org.junit.jupiter.api.Assumptions.*,org.junit.jupiter.api.DynamicContainer.*,org.junit.jupiter.api.DynamicTest.*,org.mockito.Mockito.*,org.mockito.ArgumentMatchers.*,org.mockito.Answers.*"
默认值:org.junit.Assert.*,org.junit.Assume.*,org.junit.jupiter.api.Assertions.*,org.junit.jupiter.api.Assumptions.*,org.junit.jupiter.api.DynamicContainer.*,org.junit.jupiter.api.DynamicTest.*,org.mockito.Mockito.*,org.mockito.ArgumentMatchers.*,org.mockito.Answers.*
java.completion.filteredTypes
作用:
java.awt.*
将对awt包隐藏所有类型"java.completion.filteredTypes": "java.awt.*,com.sun.*,sun.*,jdk.*,org.graalvm.*,io.micrometer.shaded.*"
默认值:java.awt.*,com.sun.*,sun.*,jdk.*,org.graalvm.*,io.micrometer.shaded.*
java.completion.importOrder
作用:
"java.completion.importOrder": "java,javax,com,org"
默认值:java,javax,com,org
java.foldingRange.enabled
作用:
启用/禁用智能折叠范围支持。如果禁用,它将使用 VS Code 提供的默认基于缩进的折叠范围
"java.foldingRange.enabled": true
默认值:true
java.progressReports.enabled
作用:
[实验性]启用/禁用服务器上后台进程的进度报告
"java.progressReports.enabled": true
默认值:true
java.format.settings.url
作用:
指定Eclipse格式化程序xml设置的url或文件路径
"java.format.settings.url": null
默认值:null
java.format.settings.profile
作用
Eclipse格式化程序设置中的可选格式化程序配置文件名称
"java.format.settings.profile": null
默认值:null
java.format.comments.enabled
作用
包括代码格式化期间的注释
"java.format.comments.enabled": true
默认值:true
java.format.onType.enabled
作用
在键入 ;
时启用/禁用自动块格式 <输入>
或 }
"java.format.onType.enabled": true
默认值:true
java.codeGeneration.hashCodeEquals.useJava7Objects
作用
Objects.hash
和 Objects.equals
时生成生成 hashCode
和 equals methods
"java.codeGeneration.hashCodeEquals.useJava7Objects": false
默认值:false
java.codeGeneration.hashCodeEquals.useInstanceof
作用
在生成hashCode和equals方法时,使用 instanceof
比较类型
"java.codeGeneration.hashCodeEquals.useInstanceof": false
默认值:false
java.codeGeneration.useBlocks
作用
生成方法时,在“if”语句中使用块
"java.codeGeneration.useBlocks": false
默认值:false
java.codeGeneration.generateComments
作用
生成方法时生成方法注释
"java.codeGeneration.generateComments": false
默认值:false
java.codeGeneration.toString.template
作用
用于生成toString方法的模板
"java.codeGeneration.toString.template": "${object.className} [${member.name()}=${member.value}, ${otherMembers}]"
默认值:${object.className} [${member.name()}=${member.value}, ${otherMembers}]
java.codeGeneration.toString.codeStyle
作用
生成 toString 方法的代码风格
"java.codeGeneration.toString.codeStyle": "STRING_CONCATENATION"
默认值:STRING_CONCATENATION
java.codeGeneration.toString.skipNullValues
作用
生成toString方法时跳过空值
"java.codeGeneration.toString.skipNullValues": false
默认值:false
java.codeGeneration.toString.listArrayContents
作用
列出数组的内容,而不是使用本地toString()
"java.codeGeneration.toString.listArrayContents": true
默认值:true
java.codeGeneration.toString.limitElements
作用
0
则列出所有项目"java.codeGeneration.toString.limitElements": 0
默认值:0
java.codeGeneration.insertionLocation
作用
指定源操作生成的代码的插入位置
"java.codeGeneration.insertionLocation": "afterCursor"
默认值:afterCursor
java.selectionRange.enabled
作用
"java.selectionRange.enabled": true
默认值:true
java.showBuildStatusOnStart.enabled
作用
启动时自动显示生成状态
为了向后兼容,此设置还接受布尔值,其中true与notification和false具有相同含义off
"java.showBuildStatusOnStart.enabled": `notification`
默认值:notification
java.configuration.runtimes
作用
将Java执行环境映射到本地JDK
"java.configuration.runtimes":
默认值:``
java.server.launchMode
作用
"java.server.launchMode": "Hybrid"
默认值:Hybrid
java.sources.organizeImports.starThreshold
作用
指定在使用star-import之前添加的导入数
"java.sources.organizeImports.starThreshold": 99
默认值:99
java.sources.organizeImports.staticStarThreshold
作用
指定在使用star-import之前添加的静态导入数
"java.sources.organizeImports.staticStarThreshold": 99
默认值:99
java.imports.gradle.wrapper.checksums
作用
定义Gradle包装的允许/不允许SHA-256校验和
"java.imports.gradle.wrapper.checksums":
默认值:``
java.project.importOnFirstTimeStartup
作用
指定首次以(Hybrid)混合模式
支持的值是
"java.project.importOnFirstTimeStartup": "automatic"
默认值:automatic
java.project.importHint
作用
启动时跳过Java项目导入时,启用/禁用服务器模式切换信息
"java.project.importHint": true
默认值:true
java.project.resourceFilters
作用
["node_modules",".git"]
将排除所有名为 node_modules
or .git
的文件和文件夹"java.project.resourceFilters": "node_modules,.git"
默认值:node_modules,.git
java.templates.fileHeader
作用
"java.templates.fileHeader":
默认值:``
java.templates.typeComment
作用
"java.templates.typeComment":
默认值:``
java.references.includeAccessors
作用
在查找引用时包括getter、setter和builder/constructor
"java.references.includeAccessors": true
默认值:true
java.references.includeDecompiledSources
作用
在查找引用时包括反编译的源代码
"java.references.includeDecompiledSources": true
默认值:true
java.typeHierarchy.lazyLoad
作用
"java.typeHierarchy.lazyLoad": false
默认值:false
java.settings.url
作用
指定工作区Java设置的url或文件路径。请参见设置全局首选项
"java.settings.url": null
默认值:null
java.symbols.includeSourceMethodDeclarations
作用
在符号搜索中包含源文件中的方法声明
"java.symbols.includeSourceMethodDeclarations": false
默认值:false
java.quickfix.showAt
作用
在问题或行级别显示快速修复
"java.quickfix.showAt": "line"
默认值:line
java.server.mode.switch
切换到标准模式
java.projectConfiguration.update
更新项目
java.project.import
将Java项目导入工作区
java.open.serverLog
打开Java语言服务器日志文件
java.open.clientLog
打开Java扩展日志文件
java.open.logs
打开所有日志文件
java.workspace.compile
强制Java编译
java.open.formatter.settings
打开Java格式化程序设置
java.clean.workspace
清理Java语言服务器工作区
java.project.updateSourceAttachment
Attach Source
java.project.addToSourcePath
将文件夹添加到Java源路径
java.project.removeFromSourcePath
从Java源路径中删除文件夹
java.project.listSourcePaths
列出所有Java源路径
java.show.server.task.status
显示建立工作状态
java.action.navigateToSuperImplementation
转到实现该方法的类文件的父文件
java.action.showTypeHierarchy
显示类型层次结构
java.action.showClassHierarchy
显示类层次结构
java.action.showSupertypeHierarchy
显示超类型层次结构
java.action.showSubtypeHierarchy
显示子类型层次结构
java.action.changeBaseType
基于this类型
java.action.clipboardPasteAction
导入所有需要导入的类
快捷键:Ctrl + Shift + V
如果只是新手使用Language Support for Java(TM) by Red Hat拓展的LightWeight【轻量级模式】就够了
Language Support for Java(TM) by Red Hat拓展默认是Hybrid【混合模式】
在你的工作目录(如果不懂先学一下这个概念)
比如有一个目录(myProject)【随便】
在这个目录下建一个.vscode
目录
- 在
.vscode
中是专门添加一些配置文件【会覆盖你对VScode的一些设置】- 文件名必须是
.vscode
在 .vscode
目录新建 settings.json
文件
配置就在 settings.json
文件其中添加,上面的选项根据自身需求添加即可
1示例(使用拓展的LightWeight模式):
{
"java.server.launchMode": "LightWeight"
}
2示例(使用混合模式,打开文件夹时不想导入 Java 项目)
{
"java.server.launchMode": "LightWeight",
"java.project.importOnFirstTimeStartup": "disabled"
}
多设置就是示例2,以此类推
{
选项: 值,
选项: 值,
...
选项: 值
}
选项和值在上面都有自身需求添加即可
比较复杂细学官方文档:
https://code.visualstudio.com/api
粗讲:
能快捷键调用的
Shift + Alt + U
:更新项目Shift + Alt + B
:强制Java编译【不建议使用】Ctrl + Shift + V
: 导入所有需要导入的类【学习Java新手别用】自己动手,丰衣足食