>개발 도구 >VSCode >VSCode에서 Java를 구성하고 사용하는 방법

VSCode에서 Java를 구성하고 사용하는 방법

青灯夜游
青灯夜游앞으로
2021-01-04 17:30:145574검색

이 글에서는 VScode + Java 구성 및 사용법을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

VSCode에서 Java를 구성하고 사용하는 방법

관련 추천: "vscode basic tutorial"

1 vs code

저도 vs code를 처음 접했지만 첫눈에 반했습니다.

최근에 nim 언어를 사용하려고 했는데 vs 코드를 사용하는 것이 좋습니다. 그래서 과감한 아이디어를 생각해냈습니다. 모든 것을 vs 코드로 전환하면 됩니다. 현재 상황은 어떻습니까? 첫 번째 부분에는 webstorm/sublime을 사용하고, java에는 idea를, python에는 PyCharm을, Ruby에는 RubyMine을, C#에는 vs express를 사용합니다.

vs 코드는 실제로 편집기, 조끼이지만 다양한 언어에 해당하는 플러그인을 구현하고 이를 IDE로 패키징할 수 있습니다. 이것은 매우 훌륭하고 발전된 것입니다! 가장 중요한 것은 오픈 소스와 무료입니다!

1.1 IDE란 무엇입니까

통합 개발 환경(IDE, Integrated Development Environment)은 일반적으로 코드 편집기, 컴파일러, 디버거 및 그래픽 사용자 인터페이스 및 기타 도구를 포함하여 프로그램 개발 환경을 제공하는 데 사용되는 응용 프로그램입니다. 코드 작성 기능, 분석 기능, 컴파일 기능, 디버깅 기능 등을 통합하는 통합 개발 소프트웨어 서비스 제품군입니다.

예: Microsoft의 Visual Studio 시리즈, c++/c# IDE
Java IDE(예: Eclipse 및 IntelliJ IDEA)

1.2 VS 코드는 편집기입니다.

vs 코드는 IDE가 아니라 편집기입니다. 해당 언어의 플러그인을 통해 IDE에 패키징할 수 있는 이상적인 편집기입니다.

vi는 또한 편집자이기도 합니다. 많은 프로그래머는 개발을 위해 vi를 사용하고 make, ant, maven, gradle 등과 같은 독립적인 구축 도구를 사용합니다. ctags는 소스 코드에서 기호를 색인화하는 데 사용됩니다. . . .

그렇다면 프로그래머들이 사용하기 쉬운 에디터는 무엇일까요?

  • 구문 강조와 아름다운 외관으로 편리하고 빠르게 파일을 열 수 있습니다!

  • 편집: 추가, 삭제, 수정 및 확인, 풍부하고 빠르게

  • 기호: 기호 정의 쿼리, 점프, 기호 참조...

  • 종속성 관리: 자동으로 종속성 패키지 가져오기

  • 분석 : 클래스 구조, 상속 관계 …

  • 자동 프롬프트…

  • 기타 고급 기능. . .

위 기능 중 일부는 vs 코드로 수행할 수 있고 일부는 플러그인으로 완료해야 합니다. 예를 들어 언어 기능과 관련된 기호 및 종속성 관리는 해당 언어의 플러그인으로 완료해야 합니다. 코드는 정의로 점프할 수 없기 때문에 vs 코드를 사용할 때 지능이 떨어진다고 비난할 수 없습니다.

2 java

아이디어 경험도 매우 좋지만 때로는 여전히 너무 부풀고 매끄럽지 않은 느낌이 듭니다.

물론, 아이디어가 제공하는 완전한 기능을 vs 코드와 일치시킬 수 없다는 점은 인정해야 합니다. 초보자에게는 아이디어/이클립스가 확실히 좋은 방법입니다. 하지만 프로그래머로서 우리는 디자인이 트레이드오프라는 점을 이해해야 합니다. 아이디어가 제공하는 세심한 유모 같은 그래픽 인터페이스는 결국 친근해 보이지만 장황하게 보일 것입니다. 말 수가 많은.

2.1 Java 지원 확장

https://code.visualstudio.com/docs/언어s/java

공식 문서를 따르고 Java 관련 확장을 정직하게 설치하세요.

간단히 말하면:
VS Code Java IDE =

编辑器:vs code 
构建工具: maven/gradle
语言支持:Eclipse ™ JDT Language Server

2.2 Red Hat의 Java™용 언어 지원

다음과 같은 일부 기능:

  • 코드 완성: 코드 완성
  • 자동 가져오기: 가져오기 구성
  • 코드 점프: 코드 탐색

잠깐만요! 분명히 vs 코드는 이러한 언어 수준 기능을 제공하지 않기 때문에 JetBrains에는 수많은 제품이 있습니다.

  • IntelliJ IDEA - 프로그래머 개발 및 작성에 특별히 중점을 두고 있는 지능형 Java 통합 개발 도구 세트 효율성 향상
  • PHPStorm 7.0 출시, PHP 통합 개발 도구
  • PyCharm 3 출시, 스마트 Python 통합 개발 도구
  • RubyMine -RubyMine은 Ruby 및 Rails 개발자를 위한 IDE로, 개발자에게 필요한 모든 기능을 갖추고 있으며, 편리한 개발에 긴밀하게 통합됩니다. 환경.
  • WebStorm 8.0이 출시되었습니다. 지능형 HTML/CSS/JS 개발 도구

vs 코드는 확장을 통해 해당 IDE 기능을 제공합니다. Java의 경우 Red Hat 확장의 Java™ 언어 지원이 이를 수행합니다.

Eclipse™ JDT, M2Eclipse 및 Buildship을 활용하는 Eclipse™ JDT 언어 서버를 통해 Java™ 언어 지원을 제공합니다.

2.3 JDT란

JDT 叫做 Eclipse Java Development Tools

The JDT project provides the tool plug-ins that implement a Java IDE supporting the development of any Java application,

再看看 JDT core 都提供了哪些 vs code 需要扩展的功能:

  • A Java Model that provides API for navigating the Java element tree. The Java element tree defines a Java centric view of a project. It surfaces elements like package fragments, compilation units, binary classes, types, methods, fields.

  • A Java Document Model providing API for manipulating a structured Java source document.

  • Code assist and code select support.

  • An indexed based search infrastructure that is used for searching, code assist, type hierarchy computation, and refactoring. The Java search engine can accurately find precise matches either in sources or binaries.

  • Evaluation support either in a scrapbook page or a debugger context.

  • Source code formatter

需要注意的是,该 extension 使用了 Eclipse IDE 相关的实现。当生成一个新的 java 项目时,比如通过 mvn 来 generate 一个HelloWorld 项目:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.3

然后用 vs code 打开项目目录,会看到项目目录中会随之生成几个文件和目录:

1 .settings

1.1 org.eclipse.jdt.core.prefs

  "
  eclipse.preferences.version=1
  org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
  org.eclipse.jdt.core.compiler.compliance=1.6
  org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
  org.eclipse.jdt.core.compiler.source=1.6
  "

1.2 org.eclipse.m2e.core.prefs

  "
  activeProfiles=
  eclipse.preferences.version=1
  resolveWorkspaceProjects=true
  version=1
  "

2 .project

		<?xml version="1.0" encoding="UTF-8"?>
		<projectDescription>
			<name>spring-ldap-user-admin-sample</name>
			<comment></comment>
			<projects>
			</projects>
			<buildSpec>
				<buildCommand>
					<name>org.eclipse.jdt.core.javabuilder</name>
					<arguments>
					</arguments>
				</buildCommand>
				<buildCommand>
					<name>org.eclipse.m2e.core.maven2Builder</name>
					<arguments>
					</arguments>
				</buildCommand>
			</buildSpec>
			<natures>
				<nature>org.eclipse.jdt.core.javanature</nature>
				<nature>org.eclipse.m2e.core.maven2Nature</nature>
			</natures>
		</projectDescription>

3 .classpath

	<?xml version="1.0" encoding="UTF-8"?>
	<classpath>
		<classpathentry kind="src" output="target/classes" path="src/main/java">
			<attributes>
				<attribute name="optional" value="true"/>
				<attribute name="maven.pomderived" value="true"/>
			</attributes>
		</classpathentry>
		<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
			<attributes>
				<attribute name="maven.pomderived" value="true"/>
			</attributes>
		</classpathentry>
		<classpathentry kind="src" output="target/test-classes" path="src/test/java">
			<attributes>
				<attribute name="optional" value="true"/>
				<attribute name="maven.pomderived" value="true"/>
				<attribute name="test" value="true"/>
			</attributes>
		</classpathentry>
		<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
			<attributes>
				<attribute name="maven.pomderived" value="true"/>
			</attributes>
		</classpathentry>
		<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
			<attributes>
				<attribute name="maven.pomderived" value="true"/>
			</attributes>
		</classpathentry>
		<classpathentry kind="output" path="target/classes"/>
	</classpath>

要注意: 这些文件都是 extension 自动生成的,如果目录下没有生成相应的文件,那么就会出现各种问题,jdt 相关的很多功能无法正常使用,比如符号跳转,自动导入等。

如果用 IDEA 打开 java 项目,同样会创建类似的文件,只不过结构和名称不一样而已。

2.4 Java Classpath is incomplete. Only syntax errors will be reported

如果碰到该警告信息,说明 java 项目在打开过程中出问题了,缺少 .classpath .project 文件。有可能是以下原因,比如:

  • jdt 相关的 extentsions 没有安装
  • java 环境没有按官方说明配置
  • extension 配置不完整

这种情况下,符号跳转,自动补全,导入等等功能,肯定无法正常使用。

但是使用 mvn 进行构建是没有问题的,一定要清楚,mvn 是构建工具,只要源码完整正确,有 pom.xml 文件,那么 maven 就能正常工作。

另外,发现当项目同时支持 maven 和 gradle 时,vs code 创建项目会失败,导致 classpath 相关文件无法产生。这个时候将 build.gradle 删掉,只留下 pom.xml 文件,再次打开项目文件夹,就可以了。

2.5 项目结构

VSCode에서 Java를 구성하고 사용하는 방법

如上图,正常启动的java项目,需要包含

  • JAVA PROJECTS
  • MAVEN PROJECTS
  • JAVA DEPENDENCIES

其中 Java Projects 中包含 .classpath, .project, .settings

总结

总之,用 vs code 来作为 java ide 完全没有问题,使用过程中难免会碰到些问题,多查阅,多思考,应该能解决。

整体上很流畅!

更多编程相关知识,请访问:编程教学!!

위 내용은 VSCode에서 Java를 구성하고 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제