软件备忘 - 开发工具

代码字体

以下三款字体,均支持连字( >= <= => -> 这些两字并作一字),也都有非连字版本。

  • Fira Code

    • 基于 Mozilla Fira 字体

    • 字体更饱满,但也更占屏幕空间

    • 我主要用于 IDE(字号较大,同屏文字少)

  • JetBrains Mono

    • 可以理解为更加强调辨识度的 Consolas

    • 我主要用于文本编辑器(字号较小,同屏文字多)

  • Cascadia Code

    • 微软出品

    • 大小写区分感强,符号区分感强

    • 我主要用于命令行(每行文字较多,需要强调行距感)

纯文本编辑器

轻量级

  • Notepad3

    • 定位于替代 notepad.exe (记事本)

    • 启动飞快,功能顺手,默认设置基本不用改,观感舒适

    • 没有标签页功能(不一定是缺点),大文件性能不佳

中量级

  • Kate

    • 除了启动速度,全方位比 Notepad++ 更优秀

    • 有 Win10 商店版

  • BowPad

    • 功能丰富

    • 缺乏配置

    • 组件古老,理念也古老,但是足够好用

  • Notepad++

    • 作者隔三岔五搞政治,开源软件带私货可不好。废弃

重量级

  • VS Code

其他

  • wxMEdit

    • 基于 MadEdit 改进的文本/十六进制编辑器

    • 文本编辑/列编辑/十六进制编辑切换方便

    • 是优秀的 UltraEdit 开源替代品

  • klogg

    • 巨型文本(GiB 级日志)查看器

    • 高性能,打开、翻阅、查找均极快

    • 有正则匹配高亮、草稿板等便捷功能

    • 作为代价,不能编辑、保存文件

AsciiDoc 编辑器

  • AsciidocFX

    • 开源

    • 为“用 AsciiDoc 格式写书”而设计

HTTP API 工具

  • Insomnia REST Client

    • 开源

    • 有两个组件,Core 和 Designer,可看作把 Postman 的功能拆分

    • 比 Postman 更干练

    • 有面向团队协作的收费服务

  • Postman

    • 免费,非开源

    • 图形化,细节设计较为便利

    • 懒人优化,历史记录详细

    • 还可作为测试人员的专业工具

      • 如果从(尽量不写逻辑代码的)测试人员角度考虑,和一众收费测试套件比,实属难得

  • soapUI

    • 有开源版本,有收费版本

    • 开源版本功能弱于 Postman

  • JMeter

    • 开源

    • 虽然是压测工具,但拿来做 HTTP API 集成测试也是相当高效

IDE - JetBrains 系

免费项目

  • 免费产品包括:

    • Toolbox(IDE 管理器)

    • Hub(团队工具管理器,服务端)

    • MPS(DSL 设计工具)

    • dotPeek(.NET 反编译工具)

    • IntelliJ IDEA Community(Java/JVM 系语言)

    • IntelliJ IDEA Edu(教学用)

    • PyCharm Community(Python)

    • PyCharm Edu(教学用)

  • 免费服务包括:

    • JetBrains Academy(在线课程)

      • https://www.jetbrains.com/academy/

      • 配合 IntelliJ IDEA Edu 和 PyCharm Edu 很方便,注册一个账号即可免费学习

      • 目前课程体系有:

        • Java

        • Kotlin

        • Python

        • Android

      • 教学内容较为注重理论基础(科班风格),社区活跃

      • 只有英文

    • Kotlin

    • Datalore (Community Plan)

      • 数据分析工具/服务

      • 完全基于 Web,无需关心本地 Python 环境

      • 开箱集成大量 Python 库,包括常用数据科学与可视化

      • 免费用户可上传 10 GiB 数据,每月 120 中等算力小时

购买参考

  • 可由 Intellij IDEA 覆盖的 IDE

    • JetBrains 系的 IDE 基于同一个基础平台,各 IDE 基本可以看作 Intellij IDEA 的子集

    • 其中一些 IDE 完全可以由 IDEA Ultimate + 官方插件实现全部功能(甚至更好,比如 Jython 和 JRuby),且省去了配置多个 IDE 的麻烦,这些 IDE 包括:

      • WebStorm(JS/HTML/CSS 等)

      • PhpStorm(PHP + JS/HTML/CSS 等)

      • PyCharm(Python)

      • RubyMine(Ruby)

      • GoLand(Go)

      • DataGrip(数据库管理)

      • MPS(DSL 设计工具)

  • Intellij IDEA 不能替代的 IDE(购买 All Products Pack 的理由)

  • 购买/省钱指南

    • IDEA Community 对新锐技术是很友好的,在这类开发中,用社区版足矣:

      • Kotlin/Ktor(只要肯学,免费享受最好的待遇)

      • Vert.x 等轻量级体系

      • Groovy/Scala/Dart/Rust 等"`还不那么火`"的语言

    • 有以下需求,再考虑购买 IDEA Ultimate:

    • All Products Pack(全家桶)

      • 包含所有个人工具(可由 Jetbrains Toolbox 管理的软件)

      • 不包含团队工具(可由 Jetbrains Hub 管理的软件):

        • Upsource

        • YouTrack

        • TeamCity

    • 史低优惠

      • 2019 年 10 月 24 日有过面向中国区的史低优惠,所有产品买一年送一年

IDE - 其它

  • VS 社区版

    • 免费范畴非常宽,设置包括一些商业使用

    • 提取离线包(包含第三方软件在内的全部安装文件,~25 GiB)

      • 运行 Web Installer

      • 使用任务管理器,找到 temp 目录下,真正的 Installer

      • 将该 Installer 复制到某个目录下,使用命令行运行,并附参数

      • 【 /Layout .】

      • 安装程序将在该目录下存放全部安装文件

    • VS 2017 开始没有 ISO 了,虽然也没啥必要

  • Netbeans

    • 自带的代码比对功能挺好

    • 别的没啥了

代码比对

  • JetBrains 自带 diff

  • VS 自带 diff 与 folderdiff (TF.exe)

  • Winmerge

    • 开源

    • 仅支持 Windows,但支持与 TortoiseGit 集成

  • Kompare

    • 开源,KDE 家族

  • Meld

    • 开源,基于 GTK+、Python

Git GUI 客户端

  • Fork (Git-Fork)

    • https://fork.dev

    • 收费,Win / Mac

    • 目前在易用性和功能性上均最佳

    • 一次性付费,可试用一个月

      • 人民币售价 ¥200,比美元售价 $50 优惠不少

  • GitHub Desktop

    • 开源,Win / Mac

    • 功能最少,但是最直观、易上手

    • 虽然基于 Electron 开发,但官方不提供 Linux 版

  • TortoiseGit

    • 开源,Windows Only

    • 东西最多,上手最慢

    • 有中文包,而且翻译质量不错,可作为 Git 术语对照

    • 一些文字表述(无论中英文)可能和 Git CLI 不太一致,理解概念即可

  • GitKraken

    • 收费/免费,Win / Mac / Linux

    • 功能强大,同时又直观易用(是 Git-Fork 主要模仿对象)

    • 必须要注册账户/使用 GitHub 账户登录才能使用

    • 免费授权不能用于私有仓库。付费最低 5 刀/月,提供团队功能

反编译

.NET 反编译

  • ILSpy

    • 开源

  • dnSpy

    • 开源

    • 基于ILSpy的反编译器与Roslyn编译器

    • 功能丰富

  • Reflector

    • 收费,14天试用

  • dotPeek

    • 免费

    • 来自JetBrains

  • JustDecompile

    • 免费,其中反编译器开源

    • 版本跟进较慢

二进制反编译

  • Snowman

    • 反编译到 C/C++

    • 指令集支持 x86、x86-64、ARM

    • 平台格式支持 ELF、Mach-O、PE

测试

  • Valgrind

    • Linux 下的内存调试、内存泄漏检测以及性能分析

数据库客户端

  • DB Browser for SQLite

    • SQLite 在很多时候非常好用,该 GUI 工具也是轻便易用

    • SQLite 并非 C/S 架构数据库,而是嵌入式(基于文件的)数据库,因此该软件也能直接创建并管理数据库

  • DBeaver

    • 通用的数据库管理 GUI,有开源的社区版与收费的商业版

    • 有 Windows 商店版(更新略微滞后,无法切换到中文界面)

    • 社区版缺少对 NoSQL 数据库的支持

  • HeidiSQL

    • 开源的数据库管理 GUI

    • 适用于 MariaDB、MySQL、MSSQL、PostgreSQL

  • MySQL Workbench

    • 来自 MySQL 官方的工具,当然也是开源的

    • 它不见得好用,但一定是最兼容的

SSH 客户端

  • mRemoteNG

    • 开源

    • 内嵌 PuttyNG

    • 经典的全功能 SSH 客户端

    • 不足:高 DPI 显示需要折腾

  • Terminus

    • 开源

    • 基于 Electron,风格类似 Windows Terminal

    • 对高分辨率天生支持良好

    • 功能相对简单,目前(2021 年初)仍在狂飙版本号中

  • Windows Terminal

    • 简单,足够好用

  • FileZilla

    • 开源

    • 并非用于 Shell 交互,而是用于浏览、传输文件