开发环境搭建
每次重新装机后配置环境都要配置很久,写个笔记,以便以后使用。
软件下载
Redis连接工具: AnotherRedisDesktopManager RedisDesktopManager RedisInsight
文本编辑器: VisualStudioCode notepad2 notepad3 NotepadNext notepad– VSCodium Lapce TheiaBlueprint Geany CudaText Kate
Java开发工具: IntelliJ Eclipse MemoryAnalyzer VisualVM JProfiler jclasslib JDK Mission Control bytecode-viewer Recaf
代码片段:massCode
DockerDesktop:DockerDesktop
数据库连接工具: DataGrip DBeaver DbGate Studio3t
版本控制: Git TortoiseGit TortoiseSVN Sourcetree
Shell工具: PowerShell
MarkDown编辑器: typora Obsidian Joplin Marktext Notable Logseq
作图工具(包括UML,思维导图等): drawio-desktop SciaReto PlantUML Freeplane
截图工具: Snipaste Greenshot PixPin
接口调试: Insomnia postcat Hoppscotch bruno
安卓投屏工具: QtScrcpy
PDF阅读器: SumatraPDF
Apk反编译: ApkStudio
v2ray客户端: v2rayN
Torrent下载工具: qBittorrent Motrix
FTP工具:FileZilla
HOST切换工具: SwitchHosts
图片查看:Photoflare Honeyview
视频编码: HandBrake
视频剪辑软件: Shotcut Openshot Kdenlive
视频无损分割: lossless-cut
多媒体信息查看:MediaInfo
音频剪辑软件:Audacity
作谱软件:Musescore
修图工具: GIMP
矢量作图工具: Inkscape
录屏软件:OBS Studio ScreenToGif
3D建模:Blender
Unity拆包工具:AssetStudioGUI
B站下载工具:DownKyi
全局文本搜索:AnyTXT
全局文件搜索:Everything
抓包工具:Wireshark
图片下载工具:MoeLoader-P
windows便捷工具
windows扩展工具: PowerToys
任务栏增强工具: TrafficMonitor
压缩包图标显示(包括epub): DarkThumbs
APK图标显示: ApkShellExt
快速预览:QuickLook
SDK配置
OpenJDK下载,可以官网直接下,源码github地址。下面是各种厂商的JDK分发版:
修改settings.xml
文件
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
<!-- 指定本地仓库路径 -->
<localRepository>F:\MavenRepository</localRepository>
<mirrors>
<!-- 修改镜像源 -->
<mirror>
<id>public</id>
<mirrorOf>*,!spring-snapshots,!spring-milestones,!spring-release</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
<id>google</id>
<mirrorOf>*,!spring-snapshots,!spring-milestones,!spring-release</mirrorOf>
<name>阿里云google仓库镜像</name>
<url>https://maven.aliyun.com/repository/google</url>
</mirror>
<mirror>
<id>central</id>
<mirrorOf>*,!spring-snapshots,!spring-milestones,!spring-release</mirrorOf>
<name>阿里云中央仓库镜像</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
<id>mavenorg</id>
<mirrorOf>*,!spring-snapshots,!spring-milestones,!spring-release</mirrorOf>
<name>maven-org中央仓库</name>
<url>http://repo.maven.apache.org/maven2</url>
</mirror>
</mirrors>
<profiles>
<!-- 下载源码配置 -->
<profile>
<id>downloadSources</id>
<properties>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</properties>
</profile>
</profiles>
<!-- 激活配置 -->
<activeProfiles>
<activeProfile>downloadSources</activeProfile>
</activeProfiles>
</settings>
配置环境变量 GRADLE_USER_HOME
,其中value为仓库的位置。如果不配置的话,默认位置是/${username}/.gradle
。
在此目录下面新建一个初始化脚本init.gradle
。
llprojects {
repositories {
mavenLocal()
// 添加阿里云仓库
maven { name 'aliyunCentral'; url 'https://maven.aliyun.com/repository/central' }
maven { name 'aliyunJcenter'; url 'https://maven.aliyun.com/repository/jcenter' }
maven { name 'aliyunGoogle'; url 'https://maven.aliyun.com/repository/google' }
maven { name 'aliyunGradlePlugin'; url 'https://maven.aliyun.com/repository/gradle-plugin' }
}
}
修改gradle使用的jdk,默认是使用JAVA_HOME
的jdk的,指定下特定版本,防止与系统使用的版本不兼容。在gradle.properties
文件添加以下(该文件在GRADLE_USER_HOME
下面)
org.gradle.java.home=D:/SDK/JDK/jdk-11.0.12+7
# ps下环境变量设置
$env:JAVA_HOME='D:\SDK\JDK\jdk-17'
[Environment]::SetEnvironmentVariable('JAVA_HOME', $env:JAVA_HOME, 'Machine')
$path = [Environment]::GetEnvironmentVariable('Path', 'Machine')
$newpath = $path + ';' + $jdk
[Environment]::SetEnvironmentVariable("Path", $newpath, 'Machine')
包管理工具
目前使用开源的scoop,具体安装看 scoop,微软的winget
还在发展的,待观望。
# sudo 这工具方便在 windows terminal 需要管理员权限时使用
scoop install sudo
scoop install ntop
scoop install python
scoop install erlang
scoop install dart
scoop install pandoc
scoop install graphviz
scoop install msys2
scoop install cygwin
scoop install aria2
scoop install neofetch
配置WindowsTerminal
详情看 WindowsTerminal配置。
配置WSL
去系统开启WSL和虚拟机平台。
也可以使用指令的方式,管理员身份打开powershell
。
# 开启 wsl 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
安装WSL2
# 安装 linux 内核更新包
# https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
# 安装完这个 将把 WSL 2 设置为默认版本
# 使用指令的方式切换默认版本
wsl --set-default-version 2
# 重启电脑
# 打开 Microsoft Store, 选择需要安装的发行版
# 设置 debian 为默认版本
wsl --set-default Debian
# 查看已经安装的发行版
wsl -l -v
安装完之后, 打开, 会进行用户名
和密码
的设置。
默认root为空, 可以使用以下指令进行设置。
sudo passwd root
之后可以使用 Windows Terminal 打开或者在 pws 或者 cmd 输入 wsl 进入.
修改WSL的安装位置
# 查看发行版本
wsl -l --all -v
# 导出发行版到指定目录
wsl --export Debian d:\wsl-data\wsl-debin.tar
# 注销当前分发版
wsl --unregister Debian
# 重新导入
wsl --import Debian d:\wsl-data d:\wsl-data\wsl-debin.tar --version 2
# 删除tar文件
del d:\wsl-data\wsl-debin.tar
WSL2 配置文件
全局配置文件.wslconfig
,放在${USERPROFILE}
目录下面,示例配置如下:
# Settings apply across all Linux distros running on WSL 2
[wsl2]
# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=4GB
# Sets the VM to use two virtual processors
processors=2
# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
kernel=C:\\temp\\myCustomKernel
# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
kernelCommandLine = vsyscall=emulate
# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB
# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
swapfile=C:\\temp\\wsl-swap.vhdx
# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false
# Turn off default connection to bind WSL 2 localhost to Windows localhost
localhostforwarding=true
# Disables nested virtualization
nestedVirtualization=false
# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true
20230919 WSL2更新2.0版本后支持回收内存、和Windows共用网络等功能了。可以使用 wsl –update –pre-release 进行更新。
开启实验配置如下:
[experimental]
autoMemoryReclaim=gradual # 可以在 gradual 、dropcache 、disabled 之间选择
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
sparseVhd=true
使用 wsl –manage Ubuntu –set-sparse true 启用稀疏 VHD 允许 WSL2 的硬盘空间自动回收。
对于每个发行版的单独配置wsl.conf
,位于/etc
目录下,示例文件如下:
# Automatically mount Windows drive when the distribution is launched
[automount]
# Set to true will automount fixed drives (C:/ or D:/) with DrvFs under the root directory set above. Set to false means drives won't be mounted automatically, but need to be mounted manually or with fstab.
enabled = true
# Sets the directory where fixed drives will be automatically mounted. This example changes the mount location, so your C-drive would be /c, rather than the default /mnt/c.
root = /
# DrvFs-specific options can be specified.
options = "metadata,uid=1003,gid=1003,umask=077,fmask=11,case=off"
# Sets the `/etc/fstab` file to be processed when a WSL distribution is launched.
mountFsTab = true
# Network host settings that enable the DNS server used by WSL 2. This example changes the hostname, sets generateHosts to false, preventing WSL from the default behavior of auto-generating /etc/hosts, and sets generateResolvConf to false, preventing WSL from auto-generating /etc/resolv.conf, so that you can create your own (ie. nameserver 1.1.1.1).
[network]
hostname = DemoHost
generateHosts = false
generateResolvConf = false
# Set whether WSL supports interop process like launching Windows apps and adding path variables. Setting these to false will block the launch of Windows processes and block adding $PATH environment variables.
[interop]
enabled = false
appendWindowsPath = false
# Set the user when launching a distribution with WSL.
[user]
default = DemoUser
# Set a command to run when a new WSL instance launches. This example starts the Docker container service.
[boot]
command = service docker start
WSL2 开启 systemd
官方说明。需要 WSL 的版本大约或等于 0.67.6,如果不满足先升级。
# 查看当前 wsl 版本信息,如果版本太低,这个指令是没有的,需要升级 wsl
wsl --version
#WSL 版本: 0.67.6.0
#内核版本: 5.15.62.1
#WSLg 版本: 1.0.44
#MSRDC 版本: 1.2.3401
#Direct3D 版本: 1.606.4
#DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
#Windows版本: 10.0.22622.601
# 升级wsl
wsl --update
在 wsl 的设置中开启 systemd 的选项。需要编辑 wsl.conf
文件确保 systemd 可以在启动时开启(wsl.conf是虚拟机的单独配置,.wslconfig
是wsl的全局配置,具体可以看wsl-config)
sudo vim /etc/wsl.conf
# 添加以下内容
[boot]
systemd=true
# 保存退出
# 关闭 wsl,然后重启wsl
wsl --shutdown
# 重启完成之后,输入以下指令查看服务状态,看是否启动成功
systemctl list-unit-files --type=service
开启ssh
# 安装ssh
apt install openssh-server -y
# 允许root登录
vi /etc/ssh/sshd_config
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
PasswordAuthentication yes
systemctl start ssh
# 开机启动
systemctl enable ssh
设置防火墙放行22端口,否则无法对外。
安装SDKMAN
apt-get install zip
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version
sdk list java
sdk install java 21.0.2.crac-librca
sdk uninstall java 21.0.2.crac-librca
# 列举安装列表
sdk list
# 当前终端切换版本
sdk use java xxx
# 设置为默认版本
sdk default java xxx
安装nodejs
# https://github.com/nvm-sh/nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# source 以下任意一个配置目录,看shell
# ~/.bash_profile
# ~/.zshrc
# ~/.profile
# ~/.bashrc
# 安装nodejs 18
nvm install 18
# 使用18
nvm use 18
# 安装pnpm
curl -fsSL https://get.pnpm.io/install.sh | sh -
pnpm -v
配置shell
# 安装zsh
sudo apt-get install zsh
# 切换zsh为默认shell
chsh -s $(which zsh)
# 强化zsh -- On-My-ZSH
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
修改主题。主题目录在~/.oh-my-zsh/themes
,看需要换成哪个主题。
然后vim ~/.zshrc
修改ZSH_THEME
字段。
修改完后source ~/.zshrc
更新环境变量使其生效。
配置MySQL
下载地址:https://dev.mysql.com/downloads/mysql/
设置把MySQL目录的bin路径加入环境变量,方便之后的指令操作。
在mysql的根目录下,新建my.ini
配置文件初始化参数,参数如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\Tools\mysql-8.0.17-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\Tools\mysql-8.0.17-winx64\data
# 允许最大连接数
max_connections=1200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置时区
default-time_zone='+8:00'
# 初始化数据库
mysqld --initialize
# 始化成功之后,在生成的data文件夹中有一个.err结尾的文件,里面有 随机生成密码
# 安装服务
mysqld --install
# 卸载服务
mysqld --remove mysql
# 启动服务
net start mysql
# 停止服务
net stop mysql
# 登录到mysql数据库中
mysqld -u root -p
# 更改密码
ALTER USER USER() IDENTIFIED BY 'new_password';
# 更改时区
set global time_zone = '+8:00'
配置Redis
详情看 Windows下编译Redis。
配置MongoDB
详情看 MongoDB基础。
配置RabbitMQ
详情看 RabbitMQ基础。
JetBrains常用插件
- .ignore git忽略文件
- ADB Idea adb常用指令
- AsciiDoc AsciiDoc渲染和高亮插件
- Atom Material Icons 图标插件
- Auto filling Java call arguments
- CamelCase 大小写转换
- CheckStyle-IDEA 代码规范插件
- CodeGlance Pro 代码缩略图
- EmmyLua Lua调试插件
- Flutter flutter开发插件
- Flutter Snippets flutter代码快捷插件
- GenerateAllSetter set生成插件
- Git Commit Template git代码提交模板
- Grep Console 控制台过滤配置插件
- GsonFormatPlus json生成/对象插件
- google-java-format 谷歌java代码规范格式化
- MultiHighlight 高亮选中的字段
- Guice 谷歌的轻量级IoC容器
- IdeaVim vim插件
- Indent Rainbow 缩进高亮
- java2smali java转smali代码
- jclasslib Bytecode Viewer 字节码查看插件
- JS GraphQL graphQL插件
- Kotlin kotlin插件
- Maven Helper maven辅助插件
- One Dark theme 主题插件
- PlantUML integration UML插件
- Presentation Assistant 快捷键显示插件
- Properties to YAML Converter properties 转 yml 插件
- arthas idea 阿尔萨斯插件
- Scala scala语言插件
- RoboPOJOGenerator pojo生成插件
- Rust rust语言插件
- Vue.js vue插件
- SonarLint 代码规范插件
- SpotBugs bug查找插件
- Spring Web Flow Spring Web Flow响应式框架插件
- Statistic 代码统计插件
- Toml rust语言服务
- Translation 翻译插件
- VisualVM Launcher VM插件
- ASM Bytecode Viewer asm辅助工具
- Byte Code Analyzer 字节码分析工具
- HighlightBracketPair 括号高亮插件
- MyBatisX MyBatis插件
- SequenceDiagram 画图插件(时序图)
- IDEA Mind Map 思维导图插件
- ChinesePinyin-CodeCompletionHelper 中文拼音补全插件
- GitToolBox git扩展工具箱
- Delombok 去lombok插件
- Git Machete git辅助工具
- MyBatisLogFormat Mybatis日志格式化工具
- RestfulTool restful API请求工具
- UUID Generator UUID生成工具
- String Manipulation 字符串处理插件
- Solarized Themes 主题插件
- .env files support 环境变量文件支持插件,例如:Dockerfile,docker-compose.yml文件
- AceJump 文件位置快速跳转插件