windows下打造完美的开发环境
今天来总结一下在windows下需要用到各种开发环境的软件集合,打造完美的开发环境。
0、Visual Studio Code
vs code时一款功能强大的源代码编辑器,宇宙第二的话,估计没有人敢称第一。语法高亮、智能代码补全、支持插件扩展等等,使用这一款编辑器就可以完成所有代码的编辑任务,笔者经常使用的shell、python、bat、php、html、yaml等等都能够很好的处理,针对shell还可以安装shellcheck来检查脚本的错误,python可以直接带编辑界面来执行。
以前在github上面把网址中的github改为github1s或者com改为dev,就可以在web上直接编辑查看代码了,听说最近更新后可以本地搭建 Web 版 VS Code 。
1、Anaconda
Anaconda是一个开源的python发行版本,可以便捷获取python包且管理python多环境的工具。笔者在机器学习中使用了这个工具,可以避免自己手动安装各个python包。如果有python多版本需求的话,这个包也可以创建环境并能够在不同的环境之间切换。
同时,在日积月累的实践中,安装了很多python包,如果存在包冲突的话,这个虚拟环境就可以排上大用处,创建一个项目环境,用完即删。

2、Typora
typora是一款轻便简洁的Markdown编辑器,笔者接触到这个软件是因为红帽8培训时使用typora来编辑文档。现在笔者在些笔记时也在从word转到typora,界面简洁流畅,特别是对于重度需求的代码块来说,实现起来简单美观。这个软件是markdown语法,下面就是一些基本的简单语法,对于日常笔记来说已经足够。

3、Obsidian
Obsidian是强大的知识库管理工具,完美的解决了笔者管理知识的痛点,文档编写支持Markdown标记语言。相对于typora,可以在所有文档中搜索关键字,在实践中是十分快速的。同时,软件支持双向链笔记图谱,可以展现文档之间的关系。

4、Everything
Everything基于文件名快速定文件和文件夹位置,而且支持搜索文件内容和正则表达式来搜索特定的文件。其只支持NTFS格式的分区,因为USN日志是NTFS专有的。
5、Wampserver
笔者以前在centos8的命令行上安装过php、apache、mariadb的开发环境,最后确实访问不数据库,一直提示权限不够,最后花了很多时间找到问题所在。而且在centos7上安装还和centos8是不一样的,于是乎是否有一款集成的开发环境套装呢?
WampServer是Apache Web服务器、PHP解释器以及MySQL(Mariadb)数据库、phpmyadmin的整合软件包,拥有简单的图形和菜单安装和配置环境。这是笔者最开始使用的php集成开发环境,但是这个软件包只支持windows。还有一个XAMPP也是PHP开发环境平台,可以支持linux、mac OS多平台,里面的软件包也较多,在下个环境中笔者准备转到XAMPP。
6、Navicat Premium
Navicat 是强大的数据库管理和设计工具,支持 Win、macOS 和 linux。不仅仅支持本地的数据库产品,还支持云数据库连接 。对于开发来说,数据可视化来建立数据库是十分方便的,Navicat 简单亲和的界面使用起来是否方便。

Navicat 是收费的,笔者还使用过MySQL Workbench 。 Workbench是MySQL官方提供的一个开源可视化管理工具,但是针对每个数据库都需要下载安装专门的驱动才能连接操作数据库,而且界面使用起来十分的别扭,没有Navicat 方便。
7、VNC Viewer
VNC是虚拟网络控制台的缩写, 是一款优秀的远程控制工具软件。使用这款软件最开始是原来远程到树莓派上面做一些修改配置。现在基本在命令行来操作,使用度较低。

8、Windows Terminal
在本地终端,以前使用开源的putty,现在直接转到Windows Terminal ,功能强大的命令行终端工具。界面做的好看,在linux中还可以颜色区分,命令支持也非常丰富,颜值远超巨难看的cmd。

9、Wireshark
Wireshark是抓包软件,开源用来检测网络问题,其使用WinPCAP作为接口,直接与网卡进行数据报文交换。以前笔者使用Wireshark来完成了很多数据包分析,在华为ENSP模拟器中也有Wireshark抓包分析,在网络运维中是必不可少的一款工具。

10、Device Monitoring Studio
Device Monitoring Studio是专业实用的设备监控软件,开源实时监控数据传输设备、串行监控、USB设备等。在开发中需要使用串口来读取数据,这款软件可以实时读取发送和接收的字符串。在开发中,笔者通过这个软件来排除了一起发送字符串的错误导致的通信故障问题。还是用Device Monitoring 来抓取商业软件的串口数据,破解协议来自定义开发上位机软件。
11、WinMTR
适用于 Windows 系统的免费网络诊断工具,集成了 Ping 和 tracert 的功能,具有图形界面,可以直观地看到各个节点的响应时间和丢包情况。

12、Vagrant
笔者现在开发测试需要虚拟机来完成,以前都是使用iso文件来安装,过程较为漫长。Vagrant是一个虚拟机管理和配置工具,相对于虚拟化软件的前端,虚拟机系统的安装和运行还得靠专门的虚拟化软件,默认内置了 VirtualBox Provider 用来跟 VirtualBox 交互。这个工具有很多Boxes ,包含了虚拟机配置、虚拟机硬盘镜像和 Vagrant 配置的压缩包,可以直接下载使用,免去安装的过程。Vagrant可将当前环境封装为一个 Boxes,这个 .box 文件就可以给其他人用了。这个方式有点像docker容器的方式了。
13、XMind
xmind思维导图,有效提升工作和生活效率的生产力工具。xmind画出来的逻辑图、思维图确实很漂亮实用,而且直接输入文本即可创建。XMind 提供各种结构图,比如鱼骨图、矩阵图、时间轴、括号图、组织结构图等,用多种视觉化的思维呈现方式,来帮你更好地理清复杂的想法和事项。

14、WinSCP
WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端,同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。

15、批处理来管理软件
最后分析一款自己做的bat可视化基本工具,打开这个工具就可以实现大部分操作,通过批处理快速定位到服务、启动程序、打开文件夹和目录。
