[关闭]
@wpcfan 2020-04-26T04:03:07.000000Z 字数 8632 阅读 549

环境配置

SpringBoot SpringSecurity Mooc


Windows 命令行终端环境

由于我使用的大部分工具链是基于 *nix 系统的,所以对 Windows 用户来说,很多配置是不一样的。但是 Windows 10 由于引入了 Linux 子系统,这为开发者提供了一个在不同操作系统中使用高度一致的开发体验的可能性。

在进行下面的步骤之前,请先确保 Windows 10 的操作系统版本大于 18363(在设置中搜索关于,然后点击查看)

启用 Linux 子系统

在 Windows 10 的控制面板中(下图),点击左侧的“启用/关闭 Windows 功能”

在弹出的窗口中给“适用于 Linux 的 Windows 子系统”选项打勾,然后点确定。

安装一个 Linux 发行版本

在应用商店(Microsoft Store)中搜索 Linux,会得到一系列 Linux 发行版本。

我们选择一个较新的 Ubuntu 版本,写本文时是 Ubuntu 18.04 LTS,点击这个图标,然后点击安装。

初始化 Linux

安装好之后,会出现一个启动按钮,点击可以进行 Linux 的初始化。

初始化的最后阶段,会提示你输入一个 Unix 的用户名和密码,以及确认密码。

这些步骤完成后,初始化就结束了,Linux 子系统也就安装好了。

安装 Windows Terminal

Windows Terminal 是微软开发的下一代命令行界面,尤其对开发人员友好,在很多方面和 *nix 系统命令行终端已经一致。

在应用商店(Microsoft Store)中搜索 Windows Terminal 进行安装。

安装字体

为了和其他平台终端的显示效果一致,我们需要安装一系列字体。安装字体之前,确保你机器上已经安装了 git,如果没有的话,请去 https://git-scm.com/download/win 下载安装。然后打开 Windows Terminal 执行下面命令下载字体源码

  1. git clone https://github.com/powerline/fonts.git --depth=1

在 Windows Terminal 中敲 cd fonts 进入目录,然后执行下面的脚本安装字体。

  1. .\install.ps1

然后下载 https://github.com/ryanoasis/nerd-fonts/releases/download/v2.0.0/Mononoki.zip 并解压缩并双击 mononok-Regular Nerd Font Complete 这个字体文件,在之后出现的字体安装对话框中点击“安装字体”。

美化 Windows Terminal

CTRL+, 使用编辑器打开 Windows Terminal 的配置文件。其中 defaults 中可以放一些对于所有终端类型都适用的设置,而 list 中则是这些终端类型各自的设置,下面的配置文件中主要对 powershellwsl 进行了设置。(注:wslWindows Subsystem Of Linux 的缩写,也就是我们说的 Linux 子系统)。 将 defaultProfile 的值设置为 wslguid,这样让启动 Windows Terminal 的时候,默认启动 wsl

  1. // To view the default settings, hold "alt" while clicking on the "Settings" button.
  2. // For documentation on these settings, see: https://aka.ms/terminal-documentation
  3. {
  4. "$schema": "https://aka.ms/terminal-profiles-schema",
  5. "defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
  6. "profiles": {
  7. "defaults": {
  8. // Put settings here that you want to apply to all profiles
  9. },
  10. "list": [
  11. {
  12. // Make changes here to the powershell.exe profile
  13. "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
  14. "name": "Windows PowerShell",
  15. "commandline": "powershell.exe",
  16. "hidden": false,
  17. "acrylicOpacity": 0.9,
  18. "closeOnExit": true,
  19. "colorScheme": "One Half Dark",
  20. "cursorColor": "#FFFFFF",
  21. "cursorShape": "bar",
  22. "fontFace": "Meslo LG S for Powerline",
  23. "fontSize": 14,
  24. "padding": "0, 0, 0, 0",
  25. "snapOnInput": true,
  26. "startingDirectory": "%USERPROFILE%",
  27. "useAcrylic": true
  28. },
  29. {
  30. // Make changes here to the cmd.exe profile
  31. "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
  32. "name": "cmd",
  33. "commandline": "cmd.exe",
  34. "hidden": false
  35. },
  36. {
  37. "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
  38. "hidden": false,
  39. "name": "Azure Cloud Shell",
  40. "source": "Windows.Terminal.Azure"
  41. },
  42. {
  43. "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
  44. "hidden": false,
  45. "name": "Ubuntu-18.04",
  46. "source": "Windows.Terminal.Wsl",
  47. "acrylicOpacity": 0.9,
  48. "closeOnExit": true,
  49. "colorScheme": "Solarized Dark",
  50. "commandline": "wsl",
  51. "cursorColor": "#FFFFFF",
  52. "cursorHeight": 25,
  53. "cursorShape": "vintage",
  54. "fontFace": "Meslo LG S for Powerline",
  55. "fontSize": 14,
  56. "padding": "0, 0, 0, 0",
  57. "snapOnInput": true,
  58. "useAcrylic": true,
  59. "startingDirectory": "%USERPROFILE%"
  60. },
  61. {
  62. "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
  63. "hidden": false,
  64. "name": "PowerShellCore",
  65. "source": "Windows.Terminal.PowershellCore",
  66. "acrylicOpacity": 0.9,
  67. "closeOnExit": true,
  68. "colorScheme": "One Half Dark",
  69. "cursorColor": "#FFFFFF",
  70. "cursorShape": "bar",
  71. "fontFace": "Meslo LG S for Powerline",
  72. "fontSize": 14,
  73. "padding": "0, 0, 0, 0",
  74. "snapOnInput": true,
  75. "startingDirectory": "%USERPROFILE%",
  76. "useAcrylic": true
  77. }
  78. ]
  79. },
  80. // 自定义颜色,我们这里自定义了两种颜色搭配 One Half Dark Solarized Dark
  81. "schemes": [
  82. {
  83. "background": "#282C34",
  84. "black": "#282C34",
  85. "blue": "#61AFEF",
  86. "brightBlack": "#5A6374",
  87. "brightBlue": "#61AFEF",
  88. "brightCyan": "#56B6C2",
  89. "brightGreen": "#98C379",
  90. "brightPurple": "#C678DD",
  91. "brightRed": "#E06C75",
  92. "brightWhite": "#DCDFE4",
  93. "brightYellow": "#E5C07B",
  94. "cyan": "#56B6C2",
  95. "foreground": "#DCDFE4",
  96. "green": "#98C379",
  97. "name": "One Half Dark",
  98. "purple": "#C678DD",
  99. "red": "#E06C75",
  100. "white": "#DCDFE4",
  101. "yellow": "#E5C07B"
  102. },
  103. {
  104. "background": "#073642",
  105. "black": "#073642",
  106. "blue": "#268BD2",
  107. "brightBlack": "#002B36",
  108. "brightBlue": "#839496",
  109. "brightCyan": "#93A1A1",
  110. "brightGreen": "#586E75",
  111. "brightPurple": "#6C71C4",
  112. "brightRed": "#CB4B16",
  113. "brightWhite": "#FDF6E3",
  114. "brightYellow": "#657B83",
  115. "cyan": "#2AA198",
  116. "foreground": "#FDF6E3",
  117. "green": "#859900",
  118. "name": "Solarized Dark",
  119. "purple": "#D33682",
  120. "red": "#D30102",
  121. "white": "#EEE8D5",
  122. "yellow": "#B58900"
  123. }
  124. ],
  125. // Add any keybinding overrides to this array.
  126. // To unbind a default keybinding, set the command to "unbound"
  127. "keybindings": []
  128. }

为 PowerShell 美化界面

在 Windows Terminal 中,输入下面两条命令

  1. Install-Module posh-git -Scope CurrentUser
  2. Install-Module oh-my-posh -Scope CurrentUser

如果遇到权限问题,请输入下面命令后再重新执行上面两条命令

  1. Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

之后,我们要创建并编辑终端的配置文件,输入

  1. notepad $PROFILE

然后在打开的记事本中,输入

  1. Import-Module posh-git
  2. Import-Module oh-my-posh
  3. Set-Theme Paradox

为 Linux 子系统(WSL)美化界面

首先安装一些必需的软件

  1. sudo apt-get install zsh curl git

然后执行下面的脚本

  1. sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

上面的脚本执行到最后,会出现一个提示,问是否使用 zsh 作为默认的 shell ,输入 Y ,并输入密码

然后下载 powerline 字体

  1. git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

输入 vim ~/.zshrci 进入编辑状态,将 ZSH_THEME 的值为 powerlevel10k/powerlevel10k

esc 然后输入 :wq 保存并退出

然后执行下面命令刷新配置文件,并通过回答一系列问题定制化界面样式。

  1. source ~/.zshrc

这样配置后可以得到下面这种显示效果

macOS 命令行终端环境

相对于 Windows 来说,macOS 的命令行环境比较 easy ,直接安装 OhMyZsh 就可以了

  1. sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

如果想安装字体的话,按下面步骤即可

  1. # 下载字体
  2. git clone https://github.com/powerline/fonts.git --depth=1
  3. # 进入目录执行脚本
  4. cd fonts
  5. ./install.sh
  6. # 退出目录,删除字体
  7. cd ..
  8. rm -rf fonts

然后在 .zshrc 中更改 ZSH_THEME="agnoster" 或者其他你喜欢的主题即可。

SDKMAN! 安装

由于之前我们在 Windows 和 macOS 上已经统一了命令行终端环境,所以接下来的安装步骤各平台是大体上一致的。

SDKMAN! 是一个管理 Java 生态系统的软件开发工具包的并行版本的工具。它提供了方便的命令行和 API,用于安装、切换、删除和列出软件版本。

安装步骤非常简单,只一句命令(Windows 下均需要使用 wsl 环境输入命令行)

  1. curl -s "https://get.sdkman.io" | bash

然后使用下面命令刷新配置文件

  1. source "$HOME/.sdkman/bin/sdkman-init.sh"

安装 Java 版本

课程以 Java 8 为开发环境,所以我们使用下面命令列出所有可用的 Java 版本

  1. sdk list java

图中的 Identifier 那一列就是 Java 版本的唯一识别代码,我们在安装的时候需要指定这个版本的标识。

使用下面的命令安装 8.0.242.hs-adpt 这个版本

  1. sdk install java 8.0.242.hs-adpt

我们还可以再安装一个 Java 11 版本 11.0.6.hs-adpt

  1. sdk install java 11.0.6.hs-adpt

设置默认的 Java 版本

由于我们安装了多个 Java SDK,所以我们需要指定一个默认的版本,也就是系统最常用的那个,这里我们设定 8.0.242.hs-adpt 为默认版本。

  1. sdk default java 8.0.232.hs-adpt

但如果我们想切换为 Java 11 的时候,可以使用下面命令切换,但请注意这个切换仅在当前命令行窗口环境下存在,新开命令行会继续使用默认的 Java 8 。

  1. sdk use java 11.0.6.hs-adpt

安装 Maven

我们使用 Maven 作为 Java 依赖的管理工具,同样可以采用 SDKMAN! 进行安装管理。

使用 sdk ls maven 可以列出可用的 Maven 版本,然后使用 sdk install maven 3.6.3 安装 3.6.3 版本。

安装 node.js

Node.js 是一个 javascript 运行时框架,而 npm 是用于管理 javascript 依赖的包管理软件。

不想安装多个版本的用户可以访问 node.js 官网下载

多版本管理

如果想管理多版本的 Node.js,我们这里通过一个 nodenv 的工具去实现

在 macOS 上安装 nodenv 推荐使用 HomeBrew,如果安装了只需要 brew install nodenv 即可。

对于没有安装 brew 的 macOS 和 Windows 可以采用下面的命令进行安装

  1. sudo curl -fsSL https://raw.githubusercontent.com/nodenv/nodenv-installer/master/bin/nodenv-installer | bash

然后通过下面命令检查安装是否成功

  1. curl -fsSL https://raw.githubusercontent.com/nodenv/nodenv-installer/master/bin/nodenv-doctor | bash

安装成功后,可以编辑 ~/.zshrc 文件,添加下面内容

  1. export PATH="$HOME/.nodenv/bin:$HOME/.nodenv/shims:$PATH"
  2. eval "$(nodenv init -)"
  3. source $HOME/.nodenv/completions/nodenv.zsh

接下来刷新配置文件

  1. source ~/.zshrc

然后就可以通过 nodenv 安装 node.js 版本了

  1. nodenv install 12.16.2

如果想把这版本设置成全局的默认版本,可以输入下面命令

  1. nodenv global 12.16.2

假如我们同时还安装了 11.2.4。在某一个工程中,我们想使用 11.2.4,那么我们在命令行进入这个工程目录,输入下面的命令,就可以一劳永逸的解决版本问题,只要你进入这个目录,node 的版本会自动切换成 11.2.4

  1. nodenv local 11.2.4

VS Code 配置

VS Code 是目前最流行的代码编辑器之一,我之所以叫它代码编辑器,是因为设计理念上,它并不是一个全功能的 IDE 。最开始是和 Sublime Text 以及 Atom 竞争的代码编辑器。但 VS Code 提供了非常强大的插件系统,这个系统可以把 VS Code 打造成一个全面且优秀的 IDE。

在本课程中,我们主要使用 VS Code 开发前端,使用 Intellij IDEA 开发后端,但我们也会时常使用 VS Code 来查看和修改 Java 代码。

对于前端,我们采用 Vue.js 进行开发,安装 Vue.js Extension Pack 这个插件拓展包。

调试前端,我们需要使用 Debugger for Chrome 拓展

而对于后端,我们采用 Java 进行开发,安装 Java Extension Pack

此外后端我们采用的是 Spring 框架,所以我们还需要安装 Spring Boot Extension Pack

另外我们在后端大量的使用 lombok 注解来简化代码量,所以需要安装 Lombok Annotation Support for VS Code

安装 VS Code 的命令行

在 VS Code 中选择 查看=>Command Palette... ,输入 shell,选择 Shell命令:将“code”命令添加到 PATH

这样在命令行中使用下面命令可以在任意目录下打开 VS Code

  1. code .

Java Debug 配置文件

第一次添加 Debug 配置的时候,点击 VS Code 左侧的运行图标,然后在之后的界面上方点击齿轮图标

VS Code 会自动帮我们创建一个 json 格式的配置文件

  1. {
  2. // 使用智能感知了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. {
  8. "type": "java",
  9. "name": "Debug (Launch) - Current File",
  10. "request": "launch",
  11. "mainClass": "${file}"
  12. },
  13. {
  14. "type": "java",
  15. "name": "Debug (Launch)-SecurityApplication<security>",
  16. "request": "launch",
  17. "mainClass": "com.imooc.security.SecurityApplication",
  18. "projectName": "security"
  19. }
  20. ]
  21. }

配置文件创建之后,就可以点击绿色的箭头图标进行 Java 程序的调试了。

前端 Chrome Debug 配置文件

TODO: 待补充

代码热替换的配置

VS Code 也支持热启动,在某种角度上 VS Code 的热启动比 IDEA 的体验还要好一些。

这个功能的设置如下图所示,默认的是 manual ,可以将其改为 auto ,这样每次保存后都会自动进行替换。

这个设置起作用的前提是 java.autobuild.enabled 没有设置为 Disabled

但有一些情况下,Hot Code Replace 无法工作。

Intellij IDEA 的配置

Intellij IDEA 是世界上最好的 IDE 之一,很多 Java/Python/Ruby/.Net 都采用它作为主力 IDE。不过有一个明显缺点,就是收费;-),不过确实物超所值,如果可以负担的情况下建议购买正版。从课程学习角度,我们可以使用试用版,或者 EAP 版本(EAP 就是新功能早期测试版本)

热启动的配置

有前端开发经验的同学会习惯于修改代码后程序的热启动,节省时间且体验良好,Spring Boot DevTools 其实提供了类似的功能,在 IDEA 中需要配置一下。

Preference -> Complier 中勾选 Build project automatically

然后按 COMMAND + SHIFT + A (Windows 使用 CTRL + SHIFT + A) 调出对话框,输入 registry 点击搜索出来的结果中的 Registry... 。然后勾选 complier.automake.allow.when.app.running

这样在更改代码后程序会自动重启,虽然比前端还是要慢一些,但体验比原来还是好多了。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注