Maison > outils de développement > VSCode > Comment configurer et utiliser Java dans VSCode

Comment configurer et utiliser Java dans VSCode

青灯夜游
Libérer: 2021-01-04 17:30:33
avant
5591 Les gens l'ont consulté

Cet article vous présentera la configuration et l'utilisation de VScode + Java. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Comment configurer et utiliser Java dans VSCode

Recommandations associées : "Tutoriel de base vscode"

1 vs code

Je suis nouveau dans vs code, mais j'en suis tombé amoureux au premier regard.

J'ai récemment essayé d'utiliser le langage nim. Il a été recommandé d'utiliser vs code. Je l'ai essayé et je n'ai pas pu le contrôler. J'ai donc eu une idée audacieuse : tout basculer vers vs code. Quelle est la situation actuelle ? J'utilise webstorm/sublime pour la première partie, idea pour java, PyCharm pour python, RubyMine pour ruby ​​et vs express pour c#.

vs code est en fait un éditeur, un gilet, mais différents langages peuvent implémenter les plug-ins correspondants et les empaqueter dans un IDE. C'est très bon et très avancé ! Le plus important est qu’il soit open source et gratuit !

1.1 Qu'est-ce que l'IDE

Un environnement de développement intégré (IDE, Integrated Development Environment) est une application utilisée pour fournir un environnement de développement de programme, généralement Comprend des outils tels que des éditeurs de code, des compilateurs, des débogueurs et des interfaces utilisateur graphiques. Il s'agit d'une suite de services logiciels de développement intégrés qui intègre des fonctions d'écriture de code, des fonctions d'analyse, des fonctions de compilation, des fonctions de débogage, etc.

Par exemple, la série Visual Studio de Microsoft, en tant qu'IDE c++/c#
IDE Java tels qu'Eclipse et IntelliJ IDEA.

1.2 VS code est un éditeur

vs code n'est pas un IDE, c'est un éditeur, un éditeur idéal qui peut Il est packagé dans un IDE via le plug-in du langage correspondant.

vi est également un éditeur. De nombreux programmeurs utilisent vi pour le développement et des outils indépendants pour la construction, tels que make, ant, maven, gradle, etc. ctags est utilisé pour indexer les symboles dans le code source. . . .

Alors pour les programmeurs, quel type d'éditeur est utile ?

  • Ouvrez le fichier rapidement et facilement, avec une coloration syntaxique et une belle apparence !

  • Édition : ajout, suppression, modification et vérification, riche et rapide

  • Symbole : requête de définition de symbole, saut, référence de symbole...

  • Gestion des dépendances : importer automatiquement les packages de dépendances

  • Analyse : structure de classe, relation d'héritage...

  • Invite automatique...

  • Autres fonctionnalités avancées. . .

Parmi les fonctionnalités ci-dessus, certaines peuvent être réalisées par vs code, et d'autres doivent être complétées par des plug-ins. Par exemple, la gestion des symboles et des dépendances liés aux fonctionnalités du langage doit être complétée par des plug-ins du langage correspondant. Vous ne pouvez pas reprocher à vs code d'être inintelligent lors de l'utilisation de vs code car le code ne peut pas passer à la définition.

2 java

Bien que l'expérience de l'idée soit également très bonne, elle semble parfois encore trop gonflée et pas assez fluide.

Bien sûr, il faut admettre que vs code ne peut pas correspondre aux fonctionnalités complètes fournies par idea. Pour les débutants, idea/eclipse est définitivement la voie à suivre. Cependant, en tant que programmeurs, nous devons également comprendre que la conception est un compromis. L'interface graphique méticuleuse de type nounou fournie par idea finira par paraître conviviale mais verbeuse. Un jour, lorsque vous mûrirez et grandirez, vous le ferez aussi. verbeux.

Extensions de support Java 2.1

https://code.visualstudio.com/docs/linguals/java

Suivez Documentation officielle, installez honnêtement les extensions liées à Java.

En bref :
VS Code Java IDE =

编辑器:vs code 
构建工具: maven/gradle
语言支持:Eclipse ™ JDT Language Server
Copier après la connexion

Prise en charge du langage 2.2 pour Java™ par Red Hat

Quelques fonctions telles que :

  • Complétion de code : complétion de code
  • Import automatique : organiser les importations
  • Saut de code : navigation de code

Attendez ! Évidemment, vs code ne fournira pas ces fonctionnalités au niveau du langage, c'est pourquoi JetBrains propose tant de produits :

  • IntelliJ IDEA - un ensemble d'outils de développement intégrés Java intelligents, particulièrement axés sur l'accent mis sur l'amélioration de développement et efficacité d'écriture des programmeurs
  • PHPStorm 7.0 est publié, outil de développement intégré PHP
  • PyCharm 3 est publié, outil de développement intégré Python intelligent
  • RubyMine -RubyMine est un outil pour Ruby et un IDE prêt pour les développeurs Rails, doté de toutes les fonctionnalités dont un développeur a besoin, étroitement intégrées dans un environnement de développement pratique.
  • WebStorm8.0 publié, outil de développement HTML/CSS/JS intelligent

vs code fournit les fonctionnalités IDE correspondantes via l'extension Pour Java, prise en charge du langage pour Java™ par l'extension Red Hat. fait ça.

Fournit la prise en charge du langage Java ™ via le serveur de langage Eclipse ™ JDT, qui utilise Eclipse ™ JDT, M2Eclipse et Buildship.

2.3 Qu'est-ce que 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
  "
Copier après la connexion

1.2 org.eclipse.m2e.core.prefs

  "
  activeProfiles=
  eclipse.preferences.version=1
  resolveWorkspaceProjects=true
  version=1
  "
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

要注意: 这些文件都是 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 项目结构

Comment configurer et utiliser Java dans VSCode

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

  • JAVA PROJECTS
  • MAVEN PROJECTS
  • JAVA DEPENDENCIES

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

总结

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

整体上很流畅!

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal