作为一名从事计算机软件研发的专业人士,我的电脑不仅是日常工作的工具,更是我的创意工坊和实验平台。因此,我所安装的软件集合经过精心挑选,旨在最大化开发效率、保障代码质量,并满足技术探索的多元化需求。下面我将分类介绍我电脑上安装的核心软件。
一、 核心开发工具与环境
这是软件研发的基石。我安装了多版本、多平台的集成开发环境和编译工具链。
- IDE与代码编辑器:
- JetBrains 全家桶:包括 IntelliJ IDEA(Java/Kotlin)、PyCharm(Python)、WebStorm(JavaScript/TypeScript)和 GoLand(Go)。它们以其智能代码补全、强大的重构能力和深度框架集成,极大地提升了我的开发效率。
- Visual Studio Code:作为轻量级但功能强大的编辑器,它几乎是我的“万能副驾驶”。通过丰富的扩展(如Python、Rust、Docker、GitLens等),它可以胜任任何语言的快速编辑、脚本编写和配置文件修改。
- Visual Studio:在进行C#/.NET相关项目开发时,它是不可或缺的官方利器。
- 版本控制系统:Git 是绝对的核心。通过命令行或与IDE深度集成,管理所有项目的代码历史。会安装 Git GUI客户端(如 Sourcetree 或 GitKraken)以便可视化处理复杂的合并与分支管理。
- 运行时与SDK:根据项目需要,安装了多个版本的 JDK、Node.js、Python、Go 和 .NET SDK。使用版本管理工具(如 nvm、pyenv、jenv)来灵活切换不同项目所需的环境。
- 数据库工具:包括 MySQL Workbench、DBeaver(通用数据库客户端)、Redis Desktop Manager 以及 MongoDB Compass,用于连接、查询和管理各类数据库。
- API测试与协作:Postman 用于设计、调试和测试 RESTful API,其团队协作功能在前后端联调中至关重要。
二、 系统与效率工具
这些软件帮助我优化工作流,保持系统整洁高效。
- 终端与Shell:在macOS/Linux上使用 iTerm2 和 Zsh(配合Oh My Zsh及插件),在Windows上使用 Windows Terminal 和 PowerShell。它们是执行命令、运行脚本和服务器操作的主要窗口。
- 容器化与虚拟化:Docker Desktop 是进行应用容器化、微服务开发和环境隔离的标准工具。对于需要完整虚拟机的场景,会使用 VMware Fusion 或 VirtualBox。
- 包与依赖管理:除了各语言自带的包管理器(pip, npm, maven, go mod等),还使用 Homebrew(macOS)或 Chocolatey(Windows)来快速安装和管理系统级软件。
三、 设计、文档与协作
清晰的沟通和文档是研发的重要组成部分。
- 设计工具:Figma 用于界面原型设计和与产品、UI设计师协作。Draw.io(现为diagrams.net)用于快速绘制架构图、流程图和网络拓扑。
- 文档与笔记:Typora 或 Obsidian 用于编写Markdown格式的技术文档和个人笔记,支持思维导图和知识图谱。Notion 用于项目管理和团队知识库建设。
- 办公与通讯:Microsoft Office 或 WPS Office 处理日常文档,钉钉、企业微信 或 Slack 用于团队即时沟通,Zoom 或 腾讯会议 用于线上会议和远程协作。
四、 辅助与工具类
这些是提升体验和解决特定问题的“瑞士军刀”。
- 效率工具:Alfred(macOS)或 Listary(Windows)用于快速启动应用和文件搜索;Snipaste 或 Snagit 用于精准截图和标注;Everything(Windows)用于极速文件检索。
- 网络分析:Wireshark 用于网络协议抓包分析,Charles 或 Fiddler 用于HTTP/HTTPS流量调试和移动端抓包。
- 安全与工具:LastPass 或 1Password 管理大量账户密码;Xshell 或 SecureCRT 用于SSH远程连接服务器;Navicat 作为另一款强大的数据库管理工具备选。
五、 娱乐与个人软件
工作之余也需要放松。我会安装 Spotify 或 网易云音乐 听歌,Chrome、Firefox 浏览器用于工作和学习,以及 微信、QQ 等社交软件。对于影音播放,VLC 是跨平台的首选。
我的软件清单是动态变化的,会随着技术趋势和项目需求不断调整。核心原则是:工具服务于效率和目标。我会定期审视这些软件,淘汰使用频率低的,尝试新兴的高效工具(例如正在观望的AI编程助手)。这套组合拳保障了我能够应对从后端逻辑、前端界面到系统部署、团队协作的全流程软件开发挑战,让我能更专注于创造性的编码和问题解决本身。