whoru

学习、分享、交流、沉淀

本文适用于 JetBrains 系软件,包含通用及单个软件的设置、使用技巧等,主要是在工作使用过程中遇到的问题及解决方式笔记。

1. 设置

1.1. 通用设置

关闭自动保存

菜单:Appearance & Behavior > System Settings > Synchronization

取消勾选:

  • Synchronize files on frame or editor tab activation
  • Save files on frame deactiation
  • Use "safe write"(save changes to a temporary file first)
打开修改文件未保存标识

菜单:Editor > General > Editor Tabs > Appearance

勾选:

  • Mark modified (*)
阅读全文 »

SDKMAN!Software Development Kit Manager)是一个用于管理开发工具套件(SDK)的开源工具。它允许开发人员在 Unix 系统(如 macOS 和 Linux)上方便地安装、管理和切换多个 SDK 版本。同时也可以用于管理开发工具如 Maven、Gradle 和 Scala,以及在多个版本之间轻松切换。

注:Windows 系统需要借助 WSL 或 Git Bash ,详见:https://sdkman.io/install

安装

1
2
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

查看本机当前可用的版本

执行命令 sdk list java 可以查询适用于当前系统的发行版,以及已安装和当前在用的版本。

各发行版举例说明:

供应商和发行版 后缀 例子 说明
AdoptOpenJDK/Adoptium (Temurin) tem 11.0.23-tem Adoptium 是由 AdoptOpenJDK 项目演变而来,由 Eclipse 基金会管理。
Amazon Corretto amzn 11.0.23-amzn Amazon 提供的 OpenJDK 版本,经过增强和支持的长期支持版本。
GraalVM CE (Community Edition) graalce 11.0.23-graalce Oracle 提供的支持多语言的 JDK,包括 Java、JavaScript 等。
Gluon gln 11.0.23-gln 专注于 JavaFX 的发行版。
Liberica JDK librca 11.0.23-librca BellSoft 提供的 OpenJDK 发行版,包含完整的 Java SE 平台实现。
Microsoft Build of OpenJDK ms 11.0.23-ms Microsoft 提供的 OpenJDK 版本。
Oracle JDK oracle 11.0.23-oracle Oracle 提供的官方 JDK 版本。
SAP Machine sapmchn 11.0.23-sapmchn SAP 提供的 OpenJDK 版本。
Semeru (IBM) sem 11.0.23-sem IBM 提供的 OpenJDK 发行版。
Tencent Kona JDK kona 11.0.23-kona 腾讯提供的 OpenJDK 版本。
Zulu by Azul Systems zulu 11.0.23-zulu Azul 提供的 OpenJDK 版本,支持多种平台和配置。
阅读全文 »

本文主要介绍如何使用 nvm 对 Node 的版本进行管理,当然你也可以选择另一个工具 n

安装或升级(参见这里

1
2
3
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 或
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

脚本的作用是将 nvm 仓库源码克隆到 ~/.nvm 下面,之后将环境变量添加到配置文件中,如:~/.bash_profile~/.zshrc~/.profile,或 ~/.bashrc

所以会用到 git 命令,如果没有 Git,请先安装。

阅读全文 »

环境:NodeJS v8+

安装依赖

1
2
3
4
# jspdf 是主依赖,其它两个可根据情况选择;
# jspdf-autotable 用于绘制表格;
# jspdf-autotext 用于添加文本,实现自动换行等;
npm i --save jspdf jspdf-autotable jspdf-autotext

引入依赖和初始化

1
2
3
4
5
6
7
8
9
10
11
12
13
// 推荐这种引入方式
import jsPDF from 'jspdf';
// 虽然官方仓库写的是这种,但实际使用过程中却遇到了一些问题,自己可以测试一下
// 比如提示某些方法不存在等
// import { jsPDF } from "jspdf";

// 初始化示例,这里用的是横向A4纸,并且开启压缩
// 构造参数说明如下
// orientation?: "p" | "portrait" | "l" | "landscape",
// unit?: "pt" | "px" | "in" | "mm" | "cm" | "ex" | "em" | "pc",
// format?: string | number[],
// compressPdf?: boolean
const pdfDoc = new jsPDF('l', 'mm', [ 210, 297 ], true);
阅读全文 »