抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

开发环境搭建

每次重新装机后配置环境都要配置很久,写个笔记,以便以后使用。

软件下载

浏览器: Chrome Edge

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

SSH工具: electerm tabby

FTP工具:FileZilla

HOST切换工具: SwitchHosts

图片查看:Photoflare Honeyview

视频播放器: mpv VLC mpc-hc

视频编码: HandBrake

视频剪辑软件: Shotcut Openshot Kdenlive

视频无损分割: lossless-cut

多媒体信息查看:MediaInfo

音频剪辑软件:Audacity

作谱软件:Musescore

修图工具: GIMP

矢量作图工具: Inkscape

录屏软件:OBS Studio ScreenToGif

3D建模:Blender

游戏引擎:Godot Stride BEVY

Unity拆包工具:AssetStudioGUI

B站下载工具:DownKyi

全局文本搜索:AnyTXT

全局文件搜索:Everything

解压缩工具:NanaZip 7-zip PeaZip

抓包工具:Wireshark

图片下载工具:MoeLoader-P

其它工具:LocalSend DevToys

windows便捷工具

windows扩展工具: PowerToys

任务栏增强工具: TrafficMonitor

压缩包图标显示(包括epub): DarkThumbs

APK图标显示: ApkShellExt

快速预览:QuickLook

粘贴板管理:Ditto PasteEx

SDK配置

OpenJDK下载,可以官网直接下,源码github地址。下面是各种厂商的JDK分发版:

NodeJS

Maven

修改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

配置环境变量 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常用插件

  1. .ignore git忽略文件
  2. ADB Idea adb常用指令
  3. AsciiDoc AsciiDoc渲染和高亮插件
  4. Atom Material Icons 图标插件
  5. Auto filling Java call arguments
  6. CamelCase 大小写转换
  7. CheckStyle-IDEA 代码规范插件
  8. CodeGlance Pro 代码缩略图
  9. EmmyLua Lua调试插件
  10. Flutter flutter开发插件
  11. Flutter Snippets flutter代码快捷插件
  12. GenerateAllSetter set生成插件
  13. Git Commit Template git代码提交模板
  14. Grep Console 控制台过滤配置插件
  15. GsonFormatPlus json生成/对象插件
  16. google-java-format 谷歌java代码规范格式化
  17. MultiHighlight 高亮选中的字段
  18. Guice 谷歌的轻量级IoC容器
  19. IdeaVim vim插件
  20. Indent Rainbow 缩进高亮
  21. java2smali java转smali代码
  22. jclasslib Bytecode Viewer 字节码查看插件
  23. JS GraphQL graphQL插件
  24. Kotlin kotlin插件
  25. Maven Helper maven辅助插件
  26. One Dark theme 主题插件
  27. PlantUML integration UML插件
  28. Presentation Assistant 快捷键显示插件
  29. Properties to YAML Converter properties 转 yml 插件
  30. arthas idea 阿尔萨斯插件
  31. Scala scala语言插件
  32. RoboPOJOGenerator pojo生成插件
  33. Rust rust语言插件
  34. Vue.js vue插件
  35. SonarLint 代码规范插件
  36. SpotBugs bug查找插件
  37. Spring Web Flow Spring Web Flow响应式框架插件
  38. Statistic 代码统计插件
  39. Toml rust语言服务
  40. Translation 翻译插件
  41. VisualVM Launcher VM插件
  42. ASM Bytecode Viewer asm辅助工具
  43. Byte Code Analyzer 字节码分析工具
  44. HighlightBracketPair 括号高亮插件
  45. MyBatisX MyBatis插件
  46. SequenceDiagram 画图插件(时序图)
  47. IDEA Mind Map 思维导图插件
  48. ChinesePinyin-CodeCompletionHelper 中文拼音补全插件
  49. GitToolBox git扩展工具箱
  50. Delombok 去lombok插件
  51. Git Machete git辅助工具
  52. MyBatisLogFormat Mybatis日志格式化工具
  53. RestfulTool restful API请求工具
  54. UUID Generator UUID生成工具
  55. String Manipulation 字符串处理插件
  56. Solarized Themes 主题插件
  57. .env files support 环境变量文件支持插件,例如:Dockerfile,docker-compose.yml文件
  58. AceJump 文件位置快速跳转插件

评论