怎样使用vscode搭建java开发环境、怎样使用vscode开发java项目

一、前言

一般来说是不推荐使用vscode来开发java项目的;想要选择某个IDE(集成开发环境)来做java项目开发一般都推荐使用更专业的开发java项目的IDE,如:Eclipse、IDEA等,专业开发java项目的IDE(集成开发环境)能更好的实现某些高级的复杂操作,对大项目开发有更好的适配,没有那么多问题,有问题也能很好解决。但是按耐不住程序员爱折腾的心就是想使用vscode开发java项目;又或者是因为公司担心版权收费的问题,又或者是因为公司对使用的软件有着各种审查、申请等麻烦的事情才能用新版专业的IDE,又或者因为其他某些原因其他专业的IDE不能很好的使用,只能来折腾vscode了。

其实经过多年的升级迭代和发展使用vscode开发java项目也已经比较成熟了,没有什么大问题了,也算是比较好用的了,只是许多人的习惯没能从专业的IDE中换过来而已,习惯一下就好。

二、前期准备

  1. 下载并安装好JDK,配置好环境变量。这个步骤网上有许多教程也很实用,这里就不着重介绍这个步骤了。
  2. 下载好Maven并配置好Maven的环境变量。这个步骤网上有许多教程也很实用,这里就不着重介绍这个步骤了。
  3. 下载安装好vscode。网站:https://code.visualstudio.com/。跟傻瓜式安装没什么区别,安装的过程中读清楚它的提示窗口的内容就行了

三、vscode介绍

Visual Studio Code(简称VS Code)是由微软开发的一款免费、开源的代码编辑器。它支持多种编程语言的语法高亮、智能代码补全、自定义快捷键、代码重构等特性,并且支持插件生态系统,使得用户可以根据自己的需求来扩展编辑器的功能。

以下是VS Code的一些主要特点:

  1. 跨平台支持:VS Code可以在Windows、macOS和Linux操作系统上运行。
  2. 丰富的插件生态系统:用户可以通过安装插件来增加新的语言支持、主题、调试工具等。
  3. 内置Git支持:VS Code内置了Git版本控制系统,支持代码的版本控制和协同工作。
  4. 调试功能:它提供了一个强大的调试工具,支持多种语言和运行环境。
  5. 代码片段和模板:用户可以创建自定义的代码片段和模板,以加快开发速度。
  6. 多工作区:VS Code支持多工作区,允许用户同时打开多个项目,并在它们之间轻松切换。
  7. 终端集成:内置终端允许用户在编辑器内部直接运行命令行工具。
  8. 代码高亮和语法提示:支持多种编程语言的语法高亮,以及智能的代码补全和代码提示。
  9. 自定义主题和快捷键:用户可以根据自己的喜好自定义编辑器的外观和快捷键。
  10. 实时预览:对于前端开发,VS Code支持实时预览功能,可以在编写代码时即时查看效果。
  11. 性能优化:VS Code在性能上做了优化,即使在处理大型项目时也能保持流畅。
  12. 远程开发:VS Code支持远程开发功能,可以连接到远程服务器进行开发。

VS Code因其轻量级、功能强大和高度可定制性而受到许多开发者的喜爱,成为了现代开发环境中非常流行的工具之一。

第一次用或者对vscode不是很熟悉的朋友可以先将vscode简单的理解为一个超级文本编辑器,它并不是一个IDE(集成开发环境)它需要通过插件来达到一个IDE(集成开发环境)的效果。

四、下载与java开发相关的插件

上面所说的内容介绍过:vscode可以简单的理解为一个超级文本编辑器,它并不是一个IDE(集成开发环境)它需要通过插件来达到一个IDE(集成开发环境)的效果,所以要想实现 vscode 开发java项目就需要下载跟java开发有关的插件。

这里就介绍下面几个有关java开发相关的插件。更多好用的插件自己去插件市场寻找。

vscode的插件市场里面有丰富的插件生态,通过插件市场官网去认识了解并去使用插件,能帮助开发者很好的完成项目开发工作,也能让使用者越用越顺手。

插件市场的网址:https://marketplace.visualstudio.com/VSCode

4.1、下载一个汉化插件

下载汉化插件可以让 vscode 许多操作选项和提示内容等以中文的形式展现,以便于让中国国内的许多人更好的上手使用 vscode 。如果是英语比较好的朋友,或者觉得使用中文的程序员比较low可以不用下载使用这个插件。

在这里插入图片描述

4.2、下载 java 扩展包插件

在 vscode 的插件市场下载 Extension Pack for Java 插件;这个插件就是开发 java 项目的关键。有了它就能愉快的开发java项目,编写java代码啦。

操作步骤如下图所示:在这里插入图片描述

五、设置好java开发环境

按照下面的图片介绍配置好java开发环境。

在这里插入图片描述

下面是一个设置好 java 开发环境的 setting.json 文件,可以参考着去配置,不喜欢的这样配置的可以自己改。

{
    "editor.fontSize": 16,    // 文本编辑器的字体大小,可以将整改 editor.fontSize 放在设置那里搜索
    "liveServer.settings.donotVerifyTags": true,       // liveServer插件的设置,跟java无关
    "liveServer.settings.donotShowInfoMsg": true,  // liveServer插件的设置,跟java无关
    "explorer.confirmDelete": false,                       // 删除文件时,是否提示放入回收站
    "explorer.confirmDragAndDrop": false,            // 拖移文件时,是否提示确认
    "security.workspace.trust.untrustedFiles": "open",// 受信任工作区那个提示,可以将整个 security.workspace.trust.untrustedFiles 放在设置那里搜索
    "liveServer.settings.CustomBrowser": "chrome",  // liveServer插件的设置,跟java无关
    "javascript.updateImportsOnFileMove.enabled": "always", //跟java无关
    "emmet.triggerExpansionOnTab": true,                 //跟java无关
    "redhat.telemetry.enabled": true,                         // 跟java有关,启用将使用数据和错误发送到Red Hat服务器。请阅读我们的隐私声明。

    // Maven的相关配置信息
    "java.configuration.maven.globalSettings": "D:\maven\apache-maven-3.6.3\conf\settings.xml",   // maven 全局 settings 文件
    "java.maven.downloadSources": true,              //让maven下载源码
    "java.configuration.maven.userSettings": "",     // 配置 maven settings 文件,配置了全局 settings 文件在这里就可以不用写了。
    "maven.executable.path": "D:\maven\apache-maven-3.6.3\bin\mvn.cmd",    //指定mvn可执行文件的绝对路径。当此值为空时,它会根据maven.executable.preferMavenwrapper的值尝试使用mvn或mvnw
    "maven.settingsFile": "D:\maven\apache-maven-3.6.3\conf\settings.xml", // 指定 maven 配置文件的绝对路径,默认是 ~/.m2/settings.xml。配上也行,不配好像也没有什么影响
    "maven.executable.options": "-DarchetypeCatalog=internal",   // 指定所有mvn命令的默认选项。

    // Java相关配置信息,配置使用的JDK如果安装了多个JDK可以在这个数组上多配一个,但是记得默认用哪个就需要加上"default": true,电脑只是安装了一个JDK这个可以不用配置。
    "java.configuration.runtimes": [
        {
          "name": "JavaSE-1.8",
          "path": "C:\Program Files\Java\jdk1.8.0_181",
          "default": true
        }
      ],
      "rsp-ui.enableStartServerOnActivation": [ // 跟 Community Server 插件有关的配置吧,应该是跟java有关系的。但是不要乱配置,认识这个配置后在配置
        {
          "id": "redhat.vscode-community-server-connector",
          "name": "Community Server Connector",
          "startOnActivation": true
        }
      ],
      "java.jdt.ls.java.home": "c:\Program Files\Java\jdk1.8.0_181",   //配一下jdk路径,有一些不同版本的插件又不叫 java.jdt.ls.java.home,注意甄别。
}

这样的配置内容是根据插件提供的配置项来编写的。并不是乱写乱配置的而是有依据的。

下面就拿其中一个插件的配置项做一下介绍:

在这里插入图片描述

六、创建项目

6.1、创建普通的 java 项目

在这里插入图片描述

6.2、基于 maven 创建普通的 java 项目

在这里插入图片描述

6.3、创建基于 maven 的javaweb项目

6.3.1、创建操作

在这里插入图片描述

6.3.2、编写pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.example</groupId>
    <artifactId>vscode_maven_web_project</artifactId>
    <version>1.0-SNAPSHOT</version>
    
    <packaging>war</packaging>
    
    <name>vscode_maven_web_project Maven Webapp</name>
    <url>http://maven.apache.org</url>
    
    <properties>
       <!-- 写上下面所示的这3个子节点,就能设置当前项目编译级别 -->
	   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       <maven.compiler.source>1.8</maven.compiler.source>
       <maven.compiler.target>1.8</maven.compiler.target>
	</properties>
    
    <dependencies>
        
        <dependency>
            <!-- 
                这里创建的javaweb项目是以一个简单的servlet作为示例。

                由于是采用 Maven 的 tomcat 插件的方式,在编写代码的时候是缺失必要的javax.servlet.http.HttpServlet相关的类的,
                所以需要在Maven的pom.xml的文件中添加上servlet的相关依赖。
             -->
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <!-- 
                如果不设置 <scope>provided</scope> 或者设置为 compile,在打包的时候会将 serlvet-api.jar 一起打包,
                然后将打包好的 war 包部署到服务器(另外一个电脑)中的 tomcat 里面,
                这样会跟服务器中(另外一个电脑)的 tomcat 内部存在的 servlet-api.jar 包冲突。会导致运行出问题。
          
                这个涉及到的是Maven的依赖作用范围的知识,这里就不过多的介绍,有兴趣自行去查找Maven的依赖作用范围相关资料去学习。
            -->
            <scope>provided</scope>
      </dependency>
      
        <!-- 
            如果还用到JSP的话,还要加上JSP相关依赖,记得还是要加上 <scope>provided</scope> 
            总的来说,如果使用到tomcat自带jar包,将项目中依赖作用范围设置为:provided 其他依赖可以默认
         -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId><!-- 用不到这个依赖就把这个依赖给删掉。 -->
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>
        
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        
    </dependencies>
    
    <build>
        <finalName>vscode_maven_web_project</finalName>
    </build>
</project>

6.3.3、编写 web.xml 文件

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

  <!-- 这个节点要与不要都行,或者修改一下标签里面的文本内容 -->
  <display-name>Archetype Created Web Application</display-name>
  
  <servlet>
  	<servlet-name>TestServlet</servlet-name>
  	<servlet-class>com.xxx.demo.TestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>TestServlet</servlet-name>
  	<url-pattern>/test</url-pattern>
  </servlet-mapping>
  
</web-app>

6.3.4、编写 servlet 代码

package com.xxx.demo;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //super.doGet(req, resp);

        System.out.println("----------vscode---------");
        PrintWriter out = response.getWriter();
        out.write("hello world");
        out.flush();
        out.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //super.doPost(req, resp);
    }
    
}

6.3.5、配置tomcat

在这里插入图片描述

6.4、创建Spring boot项目

在这里插入图片描述

七、快捷键设置

7.1、介绍

为了能让开发者有更高的项目开发效率,在 vscode 中默认定义了许多快捷键,快捷键的查阅方式如下:

在这里插入图片描述

7.2、常用的快捷键

Ctrl+X(剪切) 、

Ctrl+C(复制)、

Ctrl+V(粘贴)、

Ctrl+S(保存)、

Ctrl+A(全选)、

Ctrl+F(搜索)、

Ctrl+H(替换)、

Ctrl+Shift+K(删除一行)、

Ctrl+/(注释一行代码 或者 解除一行代码的注释,多行注释也可以中这个)

Shift+Alt+A(多行注释 或者 解除多行注释)(其实他就是一个代码块注释,不是标准的多行注释)

Alt+ ↑ / ↓(上下移动一行)、

Shift+Alt + ↓ / ↑(上下复制一行)、

Ctrl+Enter(当前行跳到下面插入一行空白行,比回车键好用)、

Ctrl+Shift+Enter(当前行跳到上面插入一行空白行,比回车键好用)、

Ctrl + 空格 或者 Ctrl + I(代码提示)(一般用 Ctrl + I )( Ctrl + 空格 有些时候不行)

在java中还有两个快捷键比较常用;分别是:Shift + Alt + O(导入包也就是导入package)、F2(批量修改变量)

不喜欢上面的快捷键操作方式,可以自定义修改;怎样修改下面会有介绍。

7.3、详细的快捷键介绍

下面是对现有的一些快捷键的整理于总结所作出的列表,有一些可能是不对的,需要自行去检查甄别。

按 Press功能 Function
Ctrl + Shift + P 或者 F1显示命令面板 Show Command Palette
Ctrl + P快速打开 Quick Open
Ctrl + Shift + N新窗口/实例 New window/instance
Ctrl + Shift + W关闭窗口/实例 Close window/instance

7.3.1、基础编辑 Basic editing

按 Press功能 Function
Ctrl+X剪切行(空选定) Cut line (empty selection)
Ctrl+C复制行(空选定)Copy line (empty selection)
Alt+ ↑ / ↓向上/向下移动行 Move line up/down
Shift+Alt + ↓ / ↑向上/向下复制行 Copy line up/down
Ctrl+Shift+K删除行 Delete line
Ctrl+Enter在下面插入行 Insert line below
Ctrl+Shift+Enter在上面插入行 Insert line above
Ctrl+Shift+\跳到匹配的括号 Jump to matching bracket
Ctrl+] / [缩进/缩进行 Indent/outdent line
Home转到行首 Go to beginning of line
End转到行尾 Go to end of line
Ctrl+Home转到文件开头 Go to beginning of file
Ctrl+End转到文件末尾 Go to end of file
Ctrl+↑ / ↓向上/向下滚动行 Scroll line up/down
Alt+PgUp / PgDown向上/向下滚动页面 Scroll page up/down
Ctrl+Shift+[折叠(折叠)区域 Fold (collapse) region
Ctrl+Shift+]展开(未折叠)区域 Unfold (uncollapse) region
Ctrl+K Ctrl+[折叠(未折叠)所有子区域 Fold (collapse) all subregions
Ctrl+K Ctrl+]展开(未折叠)所有子区域 Unfold (uncollapse) all subregions
Ctrl+K Ctrl+0折叠(折叠)所有区域 Fold (collapse) all regions
Ctrl+K Ctrl+J展开(未折叠)所有区域 Unfold (uncollapse) all regions
Ctrl+K Ctrl+C添加行注释 Add line comment
Ctrl+K Ctrl+U删除行注释 Remove line comment
Ctrl+/切换行注释 Toggle line comment
Shift+Alt+A切换块注释 Toggle block comment
Alt+Z切换换行 Toggle word wrap(代码溢出自动换行)

7.3.2、导航 Navigation

按 Press功能 Function
Ctrl + T显示所有符号 Show all Symbols
Ctrl + G转到行… Go to Line…
Ctrl + P转到文件… Go to File…
Ctrl + Shift + O转到符号… Go to Symbol…
Ctrl + Shift + M显示问题面板 Show Problems panel
F8转到下一个错误或警告 Go to next error or warning
Shift + F8转到上一个错误或警告 Go to previous error or warning
Ctrl + Shift + Tab导航编辑器组历史记录 Navigate editor group history
Alt + ←/→返回/前进 Go back / forward
Ctrl + M切换选项卡移动焦点 Toggle Tab moves focus

7.3.3、搜索和替换 Search and replace

按 Press功能 Function
Ctrl + F查找 Find
Ctrl + H替换 Replace
F3 / Shift + F3查找下一个/上一个 Find next/previous
Alt + Enter选择查找匹配的所有出现 Select all occurences of Find match
Ctrl + D将选择添加到下一个查找匹配 Add selection to next Find match
Ctrl + K Ctrl + D将最后一个选择移至下一个查找匹配项 Move last selection to next Find match
Alt + C / R / W切换区分大小写/正则表达式/整个词 Toggle case-sensitive / regex / whole word

7.3.4、多光标和选择 Multi-cursor and selection

按 Press功能 Function
Alt +单击插入光标 Insert cursor
Ctrl + Alt +↑/↓在上/下插入光标 Insert cursor above / below
Ctrl + U撤消上一个光标操作 Undo last cursor operation
Shift + Alt + I在选定的每一行的末尾插入光标 Insert cursor at end of each line selected
Ctrl + I选择当前行 Select current line
Ctrl + Shift + L选择当前选择的所有出现 Select all occurrences of current selection
Ctrl + F2选择当前字的所有出现 Select all occurrences of current word
Shift + Alt + →展开选择 Expand selection
Shift + Alt + ←缩小选择 Shrink selection
Shift + Alt + (拖动鼠标)列(框)选择 Column (box) selection(块状选择)
Ctrl + Shift + Alt +(箭头键)列(框)选择 Column (box) selection
Ctrl + Shift + Alt + PgUp / PgDown列(框)选择页上/下 Column (box) selection page up/down

7.3.5、丰富的语言编辑 Rich languages editing

按 Press功能 Function
Ctrl + 空格触发建议(也就是提示) Trigger suggestion
Ctrl + Shift + Space触发器参数提示 Trigger parameter hints
TabEmmet 展开缩写 Emmet expand abbreviation
Shift + Alt + F格式化文档 Format document
Ctrl + K Ctrl + F格式选定区域 Format selection
F12转到定义 Go to Definition
Alt + F12Peek定义 Peek Definition
Ctrl + K F12打开定义到边 Open Definition to the side
Ctrl + .快速解决 Quick Fix
Shift + F12显示引用 Show References
F2重命名符号 Rename Symbol
Ctrl + Shift + . /,替换为下一个/上一个值 Replace with next/previous value
Ctrl + K Ctrl + X修剪尾随空格 Trim trailing whitespace
Ctrl + K M更改文件语言 Change file language

7.3.6、编辑器管理 Editor management

按 Press功能 Function
Ctrl+F4, Ctrl+W关闭编辑器 Close editor
Ctrl+K F关闭文件夹 Close folder
Ctrl+\拆分编辑器 Split editor
Ctrl+ 1 / 2 / 3聚焦到第1,第2或第3编辑器组 Focus into 1st, 2nd or 3rd editor group
Ctrl+K Ctrl+ ←/→聚焦到上一个/下一个编辑器组 Focus into previous/next editor group
Ctrl+Shift+PgUp / PgDown向左/向右移动编辑器 Move editor left/right
Ctrl+K ← / →移动活动编辑器组 Move active editor group

7.3.7、文件管理 File management

按 Press功能 Function
Ctrl+N新文件 New File
Ctrl+O打开文件… Open File…
Ctrl+S保存 Save
Ctrl+Shift+S另存为… Save As…
Ctrl+K S全部保存 Save All
Ctrl+F4关闭 Close
Ctrl+K Ctrl+W关闭所有 Close All
Ctrl+Shift+T重新打开关闭的编辑器 Reopen closed editor
Ctrl+K输入保持打开 Enter Keep Open
Ctrl+Tab打开下一个 Open next
Ctrl+Shift+Tab打开上一个 Open previous
Ctrl+K P复制活动文件的路径 Copy path of active file
Ctrl+K R显示资源管理器中的活动文件 Reveal active file in Explorer
Ctrl+K O显示新窗口/实例中的活动文件 Show active file in new window/instance

7.3.8、显示 Display

按 Press功能 Function
F11切换全屏 Toggle full screen
Shift+Alt+1切换编辑器布局 Toggle editor layout
Ctrl+ = / -放大/缩小 Zoom in/out
Ctrl+B切换侧栏可见性 Toggle Sidebar visibility
Ctrl+Shift+E显示浏览器/切换焦点 Show Explorer / Toggle focus
Ctrl+Shift+F显示搜索 Show Search
Ctrl+Shift+G显示Git Show Git
Ctrl+Shift+D显示调试 Show Debug
Ctrl+Shift+X显示扩展 Show Extensions
Ctrl+Shift+H替换文件 Replace in files
Ctrl+Shift+J切换搜索详细信息 Toggle Search details
Ctrl+Shift+C打开新命令提示符/终端 Open new command prompt/terminal
Ctrl+Shift+U显示输出面板 Show Output panel
Ctrl+Shift+V切换Markdown预览 Toggle Markdown preview
Ctrl+K V从旁边打开Markdown预览 Open Markdown preview to the side

7.3.9、调试 Debug

按 Press功能 Function
F9切换断点 Toggle breakpoint
F5开始/继续 Start/Continue
Shift+F5停止 Stop
F11 / Shift+F11下一步/上一步 Step into/out
F10跳过 Step over
Ctrl+K Ctrl+I显示悬停 Show hover

7.3.10、集成终端 Integrated terminal

按 Press功能 Function
Ctrl+`显示集成终端 Show integrated terminal
Ctrl+Shift+`创建新终端 Create new terminal
Ctrl+Shift+C复制选定 Copy selection
Ctrl+Shift+V粘贴到活动端子 Paste into active terminal
Ctrl+↑ / ↓向上/向下滚动 Scroll up/down
Shift+PgUp / PgDown向上/向下滚动页面 Scroll page up/down
Ctrl+Home / End滚动到顶部/底部 Scroll to top/bottom

7.4、修改快捷键

在vscode中的快捷键可能跟其他的开发工具的不一样;不习惯,不喜欢用 vscode 内部定义好的快捷键,可以根据自己的喜好自定义快捷键。

下面的图片介绍的是如何修改快捷键的一个例子:

在这里插入图片描述

八、其他

8.1、eclipse或者IDEA主题

习惯了eclipse的代码可以下载 Familiar Java Themes插件 或者 Eclipse theme by Solrike 插件。Eclipse theme by Solrike 会好一点。(也就是 Eclipse 的主题,Familiar Java Themes这个主题包含了eclipse,还有IDEA的主题,看个人喜欢的来使用)

8.2、热部署插件

使用Deploy插件,当你修改项目后,不管是前端页面文件还是后端的Java文件,只要修改了,然后ctrl+s保存下,Deploy就会工作,更新target对应的项目文件。然后浏览器刷新一下就可以展示出最新的结果,无需重启服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值