사용자 도구

사이트 도구


visual_studio_code:java

VSCode Java

설정 위치

  • VSCode Java 확장은 Eclipse JDT 를 사용하는데, 프로젝트 관련 설정이 원래는 프로젝트 디렉토리 하위에 .settings 디렉토리 등에 있었으나,
  • 2021년 이후 최신 버전에서는 $HOME/.config/Code/User/workspaceStorage/<프로젝트UniquePath>로 변경 되었다.
  • 따라서 .settings/*에 있는 설정값을 바꾸고자 한다면, 해당 디렉토리로 가서 파일을 찾아서 변경해야한다.
  • 하지만, project 디렉토리에 .settings/가 존재하면 이게 더 우선시 됐다.

JDK의 설치

  • 2022년 현재, vscode java extension 작동에 기본 Java 11 필요. Gradle도 java 11 기본 필요(Gradle 4.7이상만 지어원)
  • 아래 설정과 무관하게 JAVA_HOME 환경변수 값 혹은 기본 JDK Path가 Java 11로 설정돼 있어야만 함.
    • 기존에는 “java.home” 설정값을 사용하라고 돼 있었는데 deprecated 됨.
  • 각 프로젝트의 JDK는 무관함.
  • 아래의 경로는 Ubuntu Linux의 OpenJDK 기본 경로임.
"java.configuration.runtimes": [
	{
		"name": "JavaSE-1.8",
		"path": "/usr/lib/jvm/java-8-openjdk-amd64"
	},
	{
		"name": "JavaSE-11",
		"path": "/usr/lib/jvm/java-11-openjdk-amd64",
		"default": true
	},
	{
		"name": "JavaSE-17",
		"path": "/usr/lib/jvm/java-17-openjdk-amd64"
	}
],
"java.import.gradle.java.home": "/usr/lib/jvm/java-11-openjdk-amd64"

Java project 설정

"java.settings.url": "/home/<your_name>/settings.prefs"

Java --enable-preview

  • Java 신규 버전의 preview 를 활성화하려면 빌드 도구에서 먼저 컴파일시점에 활성화를 해야한다.
  • Debugger for Java는 기본적으로 preview 를 활성화하는데, 만약 활성화가 안됐다면 “Clean Language Server Workspace” 를 실행해본다.
  • 그래도 안되면 .settings/org.eclipse.jdt.core.prefs 파일에서 아래 항목을 찾아서 enabled로 변경한다(동일 파일이 여러개였음).
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=enabled
  • 더 쉽게는, gradle 설정에 eclipse plugin 을 활성화하고 해당 값을 주입한다. 단, 이때 ./gradlew eclipse 명령으로 프로젝트를 초기화해줘야 했다.
plugins {
    // Apply the java-library plugin to add support for Java Library
    id 'java-library'
    id 'eclipse'
}
 
tasks.withType(JavaCompile) {
    options.compilerArgs += '--enable-preview'
}
tasks.withType(Test) {
    jvmArgs += "--enable-preview"
}
 
// buildship 은 아래를 실행하지 않는다.
// 따라서 gradlew eclipse 를 실행해줘야 한다.
eclipse.jdt.file.withProperties { props ->
    props['org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures']= 'enabled'
    props['org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures']= 'ignore'
}

java Formatter

"[java]": {
    "editor.defaultFormatter": "redhat.java"
},
"java.format.settings.url": "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml",
"java.format.settings.profile": "GoogleStyle",

Extensions

참조

visual_studio_code/java.txt · 마지막으로 수정됨: 2022/01/26 17:45 저자 kwon37xi