亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VSCode中怎樣配置和使用Java

發布時間:2021-01-05 09:56:28 來源:億速云 閱讀:373 作者:小新 欄目:軟件技術

小編給大家分享一下VSCode中怎樣配置和使用Java,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1 vs code

也是剛剛接觸 vs code,但是一見鐘情。

最近在試著使用 nim language,推薦用 vs code,就試用了一下,然后一發不可收拾。于是有了一個大膽的想法,干脆全部轉到 vs code 上來吧,現在的情況是什么呢?前段用 webstorm/sublime,java 用 idea,python 用 PyCharm, ruby 用 RubyMine, c# 用 vs express,多麻煩啊。

vs code 其實就是的編輯器,是個馬甲,但是各種語言都可以實現對應的插件,包裝成一個 ide,這很好,很先進!最最最關鍵的是,開源,免費!

1.1 什么是 IDE

集成開發環境(IDE,Integrated Development Environment )是用于提供程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面等工具。集成了代碼編寫功能、分析功能、編譯功能、調試功能等一體化的開發軟件服務套。

如微軟的Visual Studio系列,作為 c++/c# IDE;
Java 的 IDE 如 Eclipse 和 IntelliJ IDEA。

1.2 VS code 是個編輯器

vs code 并不是一個 IDE,它是個編輯器,是個有理想的編輯器,可以通過相應語言的插件,將其包裝成一個 IDE。

vi 也是一個編輯器,很多程序員就是使用 vi 來做開發,構建用獨立的工具,比如 make,ant,maven,gradle 等等。ctags 用來對源代碼中的符號建索引。。。。

那么對于程序員來說,怎樣的編輯器來算是好用的呢?

  1. 打開文件,方便快捷,語法高亮,美觀!

  2. 編輯:增刪改查,豐富快捷

  3. 符號:符號定義查詢、跳轉,符號引用…

  4. 依賴管理:自動導入依賴包

  5. 分析:類結構,繼承關系…

  6. 自動提示 …

  7. 其他高級特性。。。

上述特性里面,有些是 vs code 可以做的,有些是必須由插件來完成的。比如符號和依賴管理等跟語言特征相關的,那就必須由相應語言的插件來完成,你不能在使用 vs code 時,因為代碼無法跳轉到definition,就罵 vs code 不智能。

2 java

盡管 idea 體驗也很不錯,但有時還是感覺太臃腫了,不夠流暢。

當然,必須承認 vs code 肯定無法匹敵 idea 所提供的完整特性,對于初學者來說,idea/eclipse 絕對是必經之路。然而,作為程序員,我們也必須清楚,設計是一種取舍,idea 提供的無微不至的保姆一般的圖形界面,終將會顯得友好但啰嗦,會有那么一天,你成熟了,長大了,就嫌她啰里啰嗦了。

2.1 java support extensions

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

按照官方文檔,老老實實的安裝好 java 相關的 extensions。

簡單來說:
VS Code Java IDE =

編輯器:vs code 
構建工具: maven/gradle
語言支持:Eclipse ? JDT Language Server

2.2 Language Support for Java? by Red Hat

有些功能如:

  • 代碼補全: code completion

  • 自動導入: organize imports

  • 代碼跳轉: code navigation

等等!很顯然,vs code 不會提供這些語言級別的特性,這也是為什么 JetBrains 有那么多產品的原因:

  • IntelliJ IDEA - 一套智慧型的Java整合開發工具,特別專注與強調程序師的開發撰寫效率提升

  • PHPStorm 7.0 發布,PHP 集成開發工具

  • PyCharm 3發布,智能Python集成開發工具

  • RubyMine -RubyMine 是一個為Ruby 和Rails開發者準備的IDE,其帶有所有開發者必須的功能,并將之緊密集成于便捷的開發環境中。

  • WebStorm8.0 發布,智能HTML/CSS/JS開發工具

vs code 通過 extension 來提供相應的 IDE 特性,對于 Java 來說,Language Support for Java? by Red Hat 這個 extension 就是干這個事情的。

Provides Java ? language support via Eclipse ? JDT Language Server, which utilizes Eclipse ? JDT, M2Eclipse and Buildship.

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

以上是“VSCode中怎樣配置和使用Java”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屯门区| 利川市| 绥宁县| 丹巴县| 信阳市| 隆林| 汕尾市| 西盟| 南召县| 迭部县| 黄浦区| 吉木乃县| 东台市| 卫辉市| 景洪市| 克拉玛依市| 克山县| 孟州市| 老河口市| 大足县| 大埔县| 江津市| 南康市| 江都市| 平定县| 平利县| 蕲春县| 北京市| 广州市| 宁武县| 博白县| 来安县| 惠水县| 定南县| 新津县| 洛浦县| 益阳市| 凤阳县| 浪卡子县| 靖安县| 墨玉县|