个人软件配置与使用笔记

Zotero 配置

安装

  1. Zotero官网 下载最新的 Zotero-x.x.x_x64_setup.exe
  2. 双击运行安装程序,选择 Custom 自定义安装文件夹(D:\Zotero\)后一路点下一步安装即可;
  3. 安装 Edge 浏览器插件 Zotero Connector 实现一键抓取网页文献至 Zotero 库,方便管理引用。

基础设置

  1. 点击 编辑——设置——同步,登录 Zotero 账号,打开数据同步,取消文件同步;
  2. 转至 常规 选项卡,取消选择 从网页创建条目时自动抓取网页快照
  3. 点击 配置文件重命名...,取消选择 自动重命名文件,设置 文件名模板 为 {{ if {{ authors match="[^,]+,[^,]+,[^,]+" }} }}{{ authors max="2" join="," suffix=",+" }}{{ else }}{{ authors join="," }}{{ endif }}_{{ year }}_{{ if {{ title match=".*[\u4e00-\u9fa5].*" }} }}{{ title truncate="200" replaceFrom=": " replaceTo=" -: " }}{{ else }}{{ title truncate="200" case="title" replaceFrom=": " replaceTo=" -: " }}{{ endif }}
  4. 设置 显示标签页为 为 文件名
  5. 设置 解析器 为 Asia-China-Sichuan University
  6. 取消选择 基于关键词和主题词自动为条目添加标签
  7. 转至 高级 选项卡,设置 已链接附件的根目录 为 E:\我的坚果云\Zotero
  8. 点击 数据存储位置——打开数据文件夹,进入 locate 子文件夹替换文件 engine.json
  9. 点击 清除索引 后设置 单个文件最多索引字符数 和 单个文件最多索引页数 为 0
  10. 点击 编辑——设置——高级——设置编辑器,设置 app.update.auto 为 false(关闭自动更新),设置 extensions.zotero.findPDFs.resolvers 为 { "name":"Sci-Hub", "method":"GET", "url":"https://sci-hub.ren/{doi}", "mode":"html", "selector":"#pdf", "attribute":"src", "automatic":true }

使用指南

  • 常用快捷键
    • 复制为 Better BibTeX:Ctrl + Shift + C/直接拖拽
    • 高亮显示条目分类:选中一个条目后按 Ctrl
    • 定位搜索框:Ctrl + F
    • 高级搜索:Ctrl + Shift + F
    • 展开所有:选中条目后按 +
    • 折叠所有:选中条目后按 -
  • 添加标签
    • 选中条目,点击右侧边栏 标签,点击 + 给文献条目添加标签
    • 左侧边栏下部会显示已添加标签,鼠标指向某一标签后右击可为当前标签分配颜色及快捷键,重命名标签,删除标签
    • 按下 Win + ; 键可以在 Windows 中呼出表情符号面板,更多小表情可从 Emoji 网站 获取
      • 普通表情标签:1❤️重要、2💡有想法、3🚩正在读、4🗓️计划读、5✅已读、6🔗多分类、7❌无附件、8🗂️多附件、9 main 主文件
  • 删除条目
    • 删除条目的同时删除链接附件
    • 选中待删除文献条目,点击 工具——管理附件——转换已链接文件为已存储文件...,然后选中 存储后删除原始文件 点击 继续 即可
    • 清空回收站后文献及附件才被完全删除
  • RSS 订阅
    • 点击 文件——新建文献库——新建订阅——从网址... 填写 RSS 链接订阅相应期刊最新文献
    • 使用 Edge 浏览器插件 RSSHub Radar 发现和订阅当前网页自带的 RSS 及当前网页支持的 RSSHub
    1. COA_Computational Optimization and Applications: https://link.springer.com/search.rss?query=&search-within=Journal&facet-journal-id=10589
    2. eess.Signal Processing: http://arxiv.org/rss/eess.SP
    3. FODM_Fuzzy Optimization and Decision Making: https://link.springer.com/search.rss?query=&search-within=Journal&facet-journal-id=10700
    4. IF_Information Fusion: https://rss.sciencedirect.com/publication/science/15662535
    5. JASA_Journal of the American Statistical Association: https://www.tandfonline.com/feed/rss/uasa20
    6. JCO_Journal on Control and Optimization: https://epubs.siam.org/action/showFeed?type=etoc&feed=rss&jc=sjcodc
    7. JO_Journal on Optimization: https://epubs.siam.org/action/showFeed?type=etoc&feed=rss&jc=sjope8
    8. JOTA_Journal of Optimization Theory and Applications: https://link.springer.com/search.rss?query=&search-within=Journal&facet-journal-id=10957
    9. math.Optimization and Control: http://arxiv.org/rss/math.OC
    10. math.Statistics Theory: http://arxiv.org/rss/math.ST
    11. MOR_Mathematics of Operations Research: https://pubsonline.informs.org/action/showFeed?type=etoc&feed=rss&jc=moor
    12. Optimization Online: https://optimization-online.org/feed/
    13. SP_Signal Processing: https://rss.sciencedirect.com/publication/science/01651684
    14. SPL_Signal Processing Letters: https://ieeexplore.ieee.org/rss/TOC97.XML
    15. stat.Machine Learning: http://arxiv.org/rss/stat.ML
    16. stat.Methodology: http://arxiv.org/rss/stat.ME
    17. TAC_Transactions on Automatic Control: https://ieeexplore.ieee.org/rss/TOC9.XML
    18. TGRS_Transactions on Geoscience and Remote Sensing: https://ieeexplore.ieee.org/rss/TOC36.XML
    19. TIT_Transactions on Information Theory: https://ieeexplore.ieee.org/rss/TOC18.XML
    20. TSP_Transactions on Signal Processing: https://ieeexplore.ieee.org/rss/TOC78.XML

常用插件

安装教程

  1. Zotero 中文社区-插件商店 下载要安装的插件 .xpi 文件;
  2. 打开 Zotero,点击 工具——插件,点击右上角 ⚙——Install Plugin From File...
  3. 选择需要安装的插件 .xpi 文件后单击 打开 进行安装(按住 Ctrl 可多选);
  4. 安装完毕后重启 Zotero。

Garden

  • 大模型 API 集成与 Zotero 中文社区资源快速获取
  • 模型市场:联合硅基流动提供免费模型额度用于 Translate for Zotero(作为免费翻译引擎)、LLM for Zotero 等插件,支持 DeepSeek、Kimi、OpenAI 等国内外顶尖推荐模型一键配置到 Zotero 插件
  • API 配置:支持管理硅基流动、DeepSeek、MiniMax、Kimi、Google、OpenAI 等大模型 API 接口并一键配置到 Zotero 插件
  • 社区:管理 Zotero 中文社区插件和 CSL 引用样式
  • Zotero 帮助:聚合精选全网 Zotero 中文教程文档及视频,方便用户快速查阅与系统学习

Actions and Tags for Zotero

  • 自定义动作
  • 插件设置:
    1. 点击 编辑——设置——Actions & Tags,删除自带示例 Actions;
    2. E:\我的坚果云\Others\计算机\Backup\actions-zotero.yml 导入自定义 Actions。
  • 重命名并移动附件Alt + R
    • 筛选当前选中条目下的无标签或含有 'main' 标签的附件,唤醒菜单执行 Attanger 重命名并移动附件
  • 元数据清洗Alt + C,仅常规条目生效)
    • 动作功能:
      1. 日期标准化: YYYY-MM-DD
      2. 语言识别: zh/en
      3. 版次清洗: 转数字,清除版次标记 '0' 或 '1'
      4. 页码清洗: 移除前缀
      5. 标题处理: 英文句首大写 + CSV 修正; 中文其他 original-title 字段标题大写 + CSV 修正; 短标题填充
      6. 系列名称: 英文标题大写 + CSV 修正
      7. 附件检测: 基于真实文件路径检测,无文件时添加标签❌,有文件则自动移除标签❌
      8. 多分类检测: 包含在两个及以上分类的条目添加标签🔗,否则自动移除
    • Hyphen(连字符 -,复合词)、En Dash(短破折号 ,范围,替换为 '-')、Em Dash(长破折号 ,强转折,替换为 ' - ')
    • 姓氏前缀(von, van, de, der, den, di, da, do, du, des, le, la, ter, ten, zu, zur, vom, af, av 等)大小写参考附件作者信息,一般全小写
  • 多附件归档Alt + A
    • 自动识别特殊附件并归档到指定目录, 重命名文件且标记父条目
    • 核心逻辑: 移动文件后重新链接并迁移数据, 清理空目录, 自动修正冲突标签
    • 附件标签:main、translation、bilingual、supplement、preprint、annotated、slides、solutions
    • 主附件:重命名,保留原始标题;特殊附件:重命名并同步修改附件标题
      • 选中文献条目,点击 工具——管理附件——规范附件标题...,将标题与文件名匹配的主附件的标题统一为类型标识,如 PDF
      • 条目列表中显示简洁的主附件标题,避免元数据重复,且防止搜索时父条目展开
    • 文件夹文件数量
      • 分类 = 条目数 - 带❌数
      • 多附件 = 多附件归档总数 - 带🗂️数

Ethereal Style

  • 显示期刊分区、影响因子,显示分类条目数量,丰富阅读界面功能,支持亮暗主题切换
    • 标签系统:普通标签、/状态标签、#嵌套标签、评级标签
    • 列视图:标题、创建者、年、档案(填入参考文献序号/报告人)、期刊标签
  • 插件设置:
    1. 点击 编辑——设置——Style,在 条目面板 栏仅选择 标题列标签列期刊标签列
    2. 分类面板 栏仅选择 分类下条目数量
    3. 阅读界面 栏选择全部选项;
    4. 侧边栏 栏仅选择 快捷开启/关闭左右侧边栏(左侧边栏 Shift + {,右侧边栏 Shift + });
    5. 其它 栏仅选择 亮暗主题切换按钮
    6. Storage 栏选择 储存在本地JSON文件E:\我的坚果云\Others\计算机\Backup\style.json);
    7. 标题列设置选择 TagsEmoji(切换翻译快捷键:Ctrl + Alt + T);
    8. easyScholar 官网 申请个人密钥并参考 官方教程 进行配置,Fields: scu, sciUp, eii, ccf, sci, sciif,Map: SCU=, SCI升级版=, /.+(\d区)/=$1, EI检索=EI, SCI=, SCIIF=
  • 可在 LetPub 查询期刊分区及影响因子,另有投稿经验分享供投稿参考

Zotero Attanger

  • 重命名并移动附件到相应分类文件夹
  • 插件设置:
    1. 点击 编辑——设置——Attanger,在 靶路径 栏设置 根目录 为 E:\我的坚果云\Zotero
    2. 其他设置 栏仅选择 自动删除移动后为空的文件夹
  • 使用坚果云同步 我的坚果云 文件夹,在 iPad/手机 上使用 PDF Expert/WPS 国际版 查看文献附件(坚果云 WebDAV)

Translate for Zotero

  • 为 Zotero 内置的 PDF 阅读器提供 PDF 翻译
  • 插件设置:
    1. 点击 编辑——设置——翻译,可在 服务 栏自行选择翻译服务,推荐 DeepL(Pro订阅)🗝️、Gemini🗝️、CNKI;
    2. 用户界面 栏取消选择 条目上下文菜单:显示标题翻译条目上下文菜单:显示摘要翻译
  • 按住 Ctrl 键选择文本进行拼接翻译,选中条目时使用快捷键 Ctrl + T 进行条目标题翻译(填入 其他 titleTranslation 并在 标题翻译 字段同步显示),在 高级 栏可以重置选中条目的标题翻译和摘要翻译字段
  • 使用 Edge 浏览器插件 沉浸式翻译 标准版实现 AI 网页翻译、PDF 翻译以及视频字幕翻译等功能
    • 推荐使用免费翻译服务(智谱 GLM 翻译优先),网页翻译显示双语对照高亮
    • 支持输入框翻译:快速三连击空格键将整个输入框内容翻译为目标语言

doc2x-parse

  • doc2x 文档解析及全文保留排版翻译
  • 插件设置:
    1. 以管理员身份为所有用户安装 doc2x 客户端,登录账号后每月可领取 250 页免费解析额度;
    2. 点击 编辑——设置——Doc2X,运行 doc2x 客户端后点击 去获取
    3. 解析与翻译偏好 栏设置 术语表 为 学术,取消选择 排版输出 中 原文MD
    4. 设置 配置状态 为 我已配置完成解析&翻译设置
  • 关闭坚果云同步,选中文献条目附件,右键菜单中选择 Doc2X:解析选项 PDF => 保留排版翻译 后等待翻译完成,然后使用 多附件归档 进行翻译附件归档,最后删除多余文件并重新打开坚果云同步

arXiv Workflow for Zotero

  • 在线搜索 arXiv 论文是否更新或已发表,并相应更新条目信息和 PDF 附件
  • 插件设置:
    1. 点击 编辑——设置——arXiv 工作流,在 启用功能 栏取消选择 下载最新 PDF
  • 定期检查已收录 arXiv、Optimization Online 等预印本文献的发表状态,及时替换为正式发表版本,原预印本附件添加标签 preprint 后使用 多附件归档 进行归档

Jasminum(茉莉花)

  • 抓取中文文献,拆分合并姓名
  • 插件设置:
    1. 点击 编辑——设置——茉莉花,在 中文元数据抓取设置 栏设置 智能识别 知网元数据;
    2. 大纲书签设置 栏取消选择 启用大纲书签禁用 Zotero 自带的大纲
  • 更新中文翻泽器:
    1. 中文转换器设置 栏单击 立即更新
    2. 转至 Edge 浏览器鼠标右击 Zotero Connector 图标,单击 扩展选项——Advanced,在 Translators 栏单击 Reset Translators 即可。

Better BibTeX for Zotero

  • 管理 Citation key,按照自定义格式导出 bib 文件
  • 插件设置:
    1. 点击 编辑——设置——Better BibTeX,在 引用 栏设置 引用格式公式 为 auth.fold.lower + year + shorttitle(1, 0).jieba.select(n=1).lower.replace(/[^a-z0-9]/g, ""),选择 当项目改变时重新生成引用关键词
    2. 导出——字段 栏设置 不导出的字段 为 abstract,file,shorttitle,langid,month,keywords
    3. 转至 导出 选项卡,设置 快速复制条目格式 为 Better BibTeX

LLM for Zotero

  • 面向 Zotero 的全功能 AI 研究助手,集成大模型、Agent 模式与高仿真 PDF 解析
  • 插件设置:
    1. 点击 编辑——设置——llm-for-zotero,在 AI 服务商 栏添加服务商,填写 API 基础 URL、API 密钥和模型名称,点击 测试 以验证连通性;
    2. 自定义 栏添加每次请求前置的 自定义系统提示词:用英文思考,用中文回答
    3. Agent 栏选择 启用 Agent 模式,按需设置 Codex App Server 和 Claude Code 集成;
    4. 设置 Agent 笔记 昵称 为 我的笔记,笔记目录路径 为 E:\其它\Markdown,默认文件夹 为 notes,附件文件夹 为 figures,点击 测试写入权限 以验证配置;
    5. MinerU 栏选择 启用 MinerU PDF 解析,申请并配置 MinerU API 密钥,点击 测试连接 以验证连通性。
  • 使用指南
    • AI 对话:单篇 PDF 对话(Paper chat)与文库全局对话全局对话(Library chat),生成带引用跳转的有据答案
    • 智能阅读:一键摘要、选中文本解释、图表解读、跨论文对比,支持外部文档上传、保存至笔记、对话历史与导出以及自定义快捷预设
    • 独立窗口:全尺寸聊天界面,可折叠历史面板(快捷键 Ctrl + Shift + L
    • Agent 模式:内置文库审计、补全元数据、发现相关文献、文献综述等高级动作,自动串联 PDF 读取、文库写入(需人工确认)及文件系统与脚本工具
    • 工作流扩展:内置 8 个技能(可添加自定义)引导工作流,集成 MCP 服务器供外部 AI Agent 调用文库工具
    • 高保真解析:对接云端/本地 MinerU,提取并本地缓存含表格、公式、图表的 Markdown 用于 AI 读取,支持在 Manage Files 面板按需解析 PDF
    • 外部集成:ChatGPT 与 DeepSeek 网页同步对话,集成 Codex App Server 及实验性 Claude Code

VS Code 配置

安装

  1. 官网 下载最新版的 VSCodeUserSetup-x64-x.x.x.exe
  2. 双击运行安装程序,自定义安装路径 D:\Microsoft VS Code,勾选 创建桌面快捷方式将"通过 Code 打开"操作添加到 Windows 资源管理器目录上下文菜单将 Code 注册为受支持的文件类型的编辑器添加到 PATH (重启后生效) 后执行安装;
  3. 安装插件 Chinese (Simplified)、Material Icon Theme、Markdown All in One、Markdown Footnotes、Markdown Preview Mermaid、博客园 cnblogs 客户端、CodeSnap、markdownlint。

常用快捷键

  • 文件与全局操作
    • 新建文件:Ctrl + N
    • 保存文件:Ctrl + S
    • 快速打开文件:Ctrl + P
    • 侧边栏显示/隐藏:Ctrl + B
    • 打开设置:Ctrl + ,
    • 全局搜索:Ctrl + Shift + F
    • 打开命令面板:Ctrl + Shift + P
  • 代码编辑与操作
    • 格式化代码:Shift + Alt + F
    • 查找替换:Ctrl + H
    • 多光标选择:Alt + 鼠标点击
    • 选择任意范围:起始点点击 + Shift + 结束点点击
    • 向下插入多光标:Ctrl + Alt +
    • 将选中行末尾添加光标:Shift + Alt + I
    • 多光标列编辑:Shift + Alt + 鼠标拖拽
    • 智能向外扩展选择:Shift + Alt +
    • 选中当前行:Ctrl + L
    • 选中下一个相同的词:Ctrl + D
    • 选中所有相同的词:Ctrl + Shift + L
    • 缩进/反缩进当前行:Ctrl + [ / ]
    • 移动当前行:Alt + /
    • 删除当前行:Ctrl + Shift + K
  • 跳转与导航
    • 跳转到指定行:Ctrl + G
    • 跳转到文件内的指定符号:Ctrl + Shift + O
    • 跳转到工作区中的指定符号:Ctrl + T
    • 返回上一光标位置:Alt +
    • 打开上一个打开的文件:Ctrl + Tab
    • 跳转到匹配的括号:Ctrl + Shift + \
  • 窗口与终端管理
    • 显示/隐藏集成终端:Ctrl + `
    • 拆分编辑器窗口:Ctrl + \
    • 切换编辑器分组:Ctrl + 1 / 2 / 3
    • 缩放编辑器字体:Ctrl + + / -

LaTeX 写作配置

  • 插件安装及外部阅读器配置
    1. 官网清华大学开源软件镜像站 下载最新版的 texlive.iso
    2. 双击打开 ISO 文件并运行 install-tl-windows.bat,点击 高级,修改安装根目录为 D:\texlive\202x,取消选择 安装 TeXworks 前端 后点击 安装 静待安装完成后关闭对话框即可;
    3. 安装并配置 VS Code 插件 LaTeX Workshop、Zotero Cite;
    4. 安装 LaTeXSnipper Office 插件 用于在 Word/PPT 中进行 LaTeX 公式编辑(代替 MathType);
      • Word 中支持行内/行间公式的插入编辑、自动编号、交叉引用、OLE 与 OMML 的格式转换以及样式格式化
      • PPT 中支持公式插入编辑、OLE 与 PNG 的格式转换以及样式格式化
    5. 安装 Sumatra PDF Plus 用于外部 PDF 阅读器,支持双向跳转(双击反向跳转);
    6. 打开 Sumatra PDF Plus 软件,点击 设置——选项,设置 默认缩放 为 适合宽度,取消选择 记住已打开的文件
    7. 点击 设置——高级选项,设置反向搜索命令行:InverseSearchCmdLine = "D:/Microsoft VS Code/Code.exe" "D:\Microsoft VS Code\fc3def6774\resources\app\out\cli.js" --ms-enable-electron-run-as-node -r -g "%f:%l" EnableTeXEnhancements = true
  • 使用 VS Code 进行 LaTeX 写作,配合 Zotero 进行自动 bib 管理
    • 在 Zotero 中用 Sentence case 格式化存储标题(保留专有名词大写 + <script>$公式$</script> + 罗马数字大写),导出时 BBT 会自动处理大小写并保留 LaTeX 公式
    • 使用右上角命令 Zotero Cite:智能引用并更新文献 引用参考文献并在当前路径下导出 bibtex 格式的引用文件 ref.bib
      • 快捷键:Shift + Alt +Z
      • 对于 Markdown 文件,使用该命令插入引用并更新脚注
        • 设置引用样式为 "zotero-cite.bibliograpyStyle": " https://zotero-chinese.com/styles/GB-T-7714 —2025(顺序编码,双语,无URL,无DOI)"
      • 右下状态栏打开 Zotero 命令选择器执行命令 导出 BibTeX 可重新导出当前已引用条目的 ref.bib 文件
    • BBT 导出杂项设置中保留选择 对标题应用标题大小写格式使用大括号括起首字母大写的单词以保持大小写格式

服务器远程开发 SSH 配置

  • 密钥生成与 VS Code 配置
    1. 在 PowerShell/cmd/ Git Bash 执行 ssh-keygen -t ed25519 -C "3479440160@qq.com",一路回车生成本地 Ed25519 密钥对:私钥 ~/.ssh/id_ed25519 和公钥 ~/.ssh/id_ed25519.pub
      • 执行 ssh-keygen -t ed25519 时默认注释为 用户名@主机名
      • 密钥对生成一次可永久使用,备份公私钥文件
    2. 执行 ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP 后按照提示输入服务器登录密码将公钥一键注入 Linux 服务器;
    3. 执行 ssh 用户名@服务器IP 测试服务器免密直连;
    4. 安装 VS Code 插件 Remote - SSH、Remote - SSH: Editing Configuration Files、Remote Explorer;
    5. 按下 Ctrl + Shift + P 唤醒命令面板,输入并执行 Remote-SSH: Open SSH Configuration File... 指令,打开配置文件 ~/.ssh/config(备份)并写入:
      Host 别名
          HostName 服务器IP
          Port 端口号
          User 用户名
      
    6. 点击 VS Code 界面左下角 >< 图标,选择 连接到主机...,随后点击刚配置的主机别名建立远程连接窗口;
    7. 在远程窗口中点击 打开文件夹 即可直接编辑、同步服务器上的项目文件,实现“本地编写、云端运行”的远程开发流。
  • SSH 常用核心命令
    • 连接与认证
      • 默认端口 22 连接:ssh 用户名@服务器IP
        • 别名 = 用户名@服务器IP
        • 非标准端口连接时增加参数 -p 端口号
      • 测试托管平台连通性:ssh -T git@github.com
      • 安全注销并断开当前会话:logout(快捷键 Ctrl + D
    • 文件传输
      • 上传本地文件到服务器:scp 本地文件 用户名@服务器IP:~/目标路径
        • VS Code 界面直接拖拽上传
      • 从服务器下载文件到本地:scp 用户名@服务器IP:~/文件路径 ./本地路径
        • VS Code 界面右键下载
      • 递归上传整个本地文件夹:scp -r 本地文件夹 用户名@服务器IP:~/目标路径
      • 传输时指定非标准端口:scp -P 端口号
    • Tmux 虚拟会话管理
      • 新建独立后台会话:tmux new -s 会话名称
      • 保持后台运行并安全分离:在会话内部依次按下快捷键 Ctrl + B,松开后单按 D
      • 重新接入已有后台会话:tmux a -t 会话名称
      • 查看当前所有活跃会话列表:tmux ls
      • 彻底销毁指定的后台会话:tmux kill-session -t 会话名称

Git 环境配置与 GitHub 工作流

Git 安装与全局配置

  1. 官网 下载最新版的 Git-x.x.x-64-bit.exe
  2. 双击运行安装程序,自定义安装路径 D:\Git,下拉选择 Use Visual Studio Code as Git's default editor,其余选项保持默认,一路点击“下一步”即可;
  3. 安装完成后,在桌面任意位置右击选择 Open Git Bash here,执行 git --version 验证,显示版本号则说明安装成功;
  4. 登录网页端 GitHub,点击 右上角头像——Settings——SSH and GPG keys——New SSH key,复制公钥文本粘贴到 Key 后保存;
  5. 执行 ssh -T git@github.com 测试 GitHub 连通性,提示 successfully authenticated 即成功生效。

Git:分布式版本控制系统

  • 推荐使用 VS Code 进行全流程图形化 Git 管理
    • 原生功能:文件差异对比、提交历史查看、分支管理、冲突解决、暂存/取消暂存、撤销更改、推拉同步及 Git Blame(悬停提示、状态栏显示、可开启的行内注解)等功能
    • 推荐安装增强插件 Git Graph,以可视化图形展示提交历史与分支结构,支持在拓扑节点上直接右键执行合并、变基等高级操作
  • 所有支持文件路径的 Git 命令中,既可空格罗列多个文件名,也可用 . 代表所有文件
  • 初始化与全局配置:开启项目版本管理与身份标识配置
    • 初始化本地新仓库:git init(在当前目录下生成 .git 文件夹)
    • 忽略文件:项目根目录下创建 .gitignore 文件,利用通配符(* 匹配任意字符串,? 匹配单个字符,/ 表示目录边界,**/ 匹配任意层级目录,[abc] 匹配括号内的任一字符,[0-9] 匹配范围内的任一字符,行首 ! 表示取反例外)管理忽略规则
    • 全局配置:git config --global user.name "your name"
    • 全局配置用户邮箱:git config --global user.email "you@domain.com"
    • 查看当前生效的所有配置列表:git config --list
  • 工作区(Working Directory):本地项目文件夹(.git 文件夹除外)
    • 添加指定文件的变更到暂存区:git add 文件名
      • 交互式选择文件部分变更暂存:git add -p 文件名
    • 比较工作区与暂存区文件的差异:git diff
      • 比较工作区与指定分支的差异:git diff 分支名称
      • 比较工作区与当前 HEAD 指针的差异:git diff HEAD
    • 撤销工作区指定文件的修改:git restore 文件名
      • git checkout -- 文件名
    • 删除未跟踪的文件和目录:git clean -df
  • 暂存区(Staging Area/Index):临时存放待提交修改的数据快照,对应 .git/index
    • 底层本质:一个简单的二进制索引文件,记录了文件的路径、大小、时间戳以及对应的 Blob 对象哈希值,是构建 Tree 对象的前驱基础
    • 撤销指定已暂存文件变更到工作区:git restore --staged 文件名
      • git reset HEAD 文件名
    • 从暂存区和工作区同步删除指定文件:git rm 文件名
      • 从暂存区移除并停止跟踪指定文件:git rm --cached 文件名
    • 提交暂存区记录到本地仓库:git commit -m "提交信息"
      • 修正并覆盖上一次提交记录:git commit --amend
    • 比较暂存区与本地仓库文件的差异:git diff --staged
      • git diff --cached
  • 本地仓库(Local Repository):存储项目完整历史的本地数据库
    • 对象数据库(.git/objects):持久化存储由 40 位 SHA-1 哈希值命名的四大核心对象
      • Blob 对象:存储文件纯内容,相同内容只存一份
      • Tree 对象:记录目录结构,映射文件名与 Blob/Tree
      • Commit 对象:顶层版本节点,指向顶层 Tree,链接父提交形成版本链
      • Tag 对象:为指定提交附加标签名、创建者与时间戳
    • 引用指针(.git/refs):包含分支与标签两类纯文本文件,记录其对应具体提交的哈希值
      • 分支指针(refs/heads/):指向分支的最新提交,随新提交单向向前移动
      • 标签指针(refs/tags/):固定指向某个历史提交
      • 远程跟踪分支指针(refs/remotes/):指向远程分支最后一次同步时的 Commit 对象,仅 git fetch/pull 可更新
    • HEAD 指针(.git/HEAD):动态符号引用,通常指向当前分支,执行 git checkout 提交哈希值 可将其指向具体提交进入游离状态(detached HEAD)
    • 指针的相对引用(省略 <ref> 时,默认为 HEAD):
      • <ref>~n^m :指向引用之前的第 n 个提交的第 m 个父提交,@ = HEAD,如 @~n^m = HEAD~n^m
      • <ref>@{n}:指向引用在 reflog 中第 n 次变化前所指向的提交
      • <ref>@{yesterday}:指向昨天此时引用所指向的提交
      • <ref>@{u} / <ref>@{upstream} :指向引用的上游分支
      • <ref>@{push}:指向引用的推送目标
      • @{-n}:指向 HEAD 指针之前第 n 次切换的分支
    • 查看所有历史提交日志:git log(HEAD 移动轨迹)
      • 单行紧凑输出:git log --oneline
      • 图像化单行展示分支演进历史:git log --oneline --graph --all
      • 显示最近 n 次提交记录:git log -n
      • 查看指定文件的历史修改记录:git log -p 文件名
    • 显示本地仓库的所有历史操作日志:git reflog(所有引用的移动轨迹)
    • 比较任意两次提交节点间的差异:git diff 提交哈希值1 提交哈希值2
    • 撤销提交并清空暂存区保留工作区:git reset --mixed 提交哈希值(默认行为,--mixed 可省略)
      • --soft:软回退,撤销提交但保留暂存区与工作区
      • --hard:硬回退,版本强制回退到指定节点并清空修改
    • 通过反向提交安全撤销指定节点的改动:git revert 提交哈希值(适用于公共分支)
    • 推送本地分支记录到远程仓库:git push origin 分支名称
      • -u:首次推送本地新建分支并建立远程追踪
      • --tags:推送本地所有标签到远程仓库
      • -f / --force:强行用本地代码覆盖远程分支(推荐使用 --force-with-lease 进行安全拦截,防止覆盖他人提交)
      • 删除指定的远程分支:git push origin --delete 远程分支名称
      • 删除指定的远程标签:git push origin --delete tag 远程标签名称
  • 远程仓库(Remote Repository):托管在云端服务器上的代码共享中心
    • 克隆远程已有仓库到本地:git clone 远程仓库URL
    • 关联本地仓库与远程仓库:git remote add origin 远程仓库URL
      • 查看当前关联的远程仓库名:git remote
      • 查看当前关联的所有远程仓库:git remote -v
      • 修改已关联远程仓库的 URL 地址:git remote set-url origin 新远程仓库URL
      • 删除与指定远程仓库的关联关系:git remote remove 远程仓库名
    • 获取远程仓库的指定分支更新:git fetch origin 分支名称(省略 分支名称 时获取远程仓库的所有分支更新)
    • 拉取远程仓库指定分支的更新并与当前本地分支合并:git pull -ff origin 分支名称(默认快进,-ff 可省略,不能快进时合并提交,等同于 git fetch origin 分支名称 + git merge origin/分支名称
      • 省略 origin 分支名称 时默认使用当前分支的远程上游分支,等同于 git fetch + git merge FETCH_HEAD
      • --ff-only: 拒绝非快进
      • --no-ff:强制创建合并提交
      • --no-commit:拉取并合并后暂存,不自动提交
      • --rebase:拉取后使用变基代替合并(此时默认启用 --fork-point
      • --autostash:拉取前自动暂存本地未提交修改,拉取后恢复
      • --all:拉取所有远程分支
      • --tags:同时拉取远程仓库所有标签(默认仅拉取与当前分支历史演进相关的标签)
      • --no-tags:不拉取任何标签
      • -v / --verbose:显示详细拉取信息
  • 挑拣、合并与变基:精细化操控提交历史,安全高效地完成分支集成与代码合并
    • 挑拣 指定提交的更改到当前分支后提交:git cherry-pick 提交哈希值
      • -n / --no-commit:应用更改后暂存,不自动提交
      • -e / --edit-e / --edit:提交前打开编辑器修改提交信息
      • 解决冲突后继续挑拣:git cherry-pick --continue
      • 跳过当前冲突提交:git cherry-pick --skip
      • 丢弃整个挑拣操作:git cherry-pick --abort
    • 合并 指定分支或提交 到当前分支:git merge -ff 分支名称/提交哈希值(默认快进,-ff 可省略,不能快进时合并提交)
      • --ff-only: 拒绝非快进
      • --no-ff:强制创建合并提交
      • --no-commit:合并后暂存,不自动提交
      • --squash:压缩所有提交为新的单一提交,需手动提交
      • -m "描述信息":指定合并提交的消息
      • 解决冲突后继续合并:git merge --continue
      • 丢弃合并操作:git merge --abort
    • 变基当前分支分叉点后的提交到 指定分支或提交 之后:git rebase 分支名称/提交哈希值(默认展平历史,线性化所有提交)
      • 警告:切勿在已推送到公共远程分支的分支上执行 rebase,否则会篡改历史导致协作混乱
      • -i / --interactive:交互式变基(修改、合并、删除历史提交)
      • --rebase-merges:保留合并提交结构
      • --no-commit:变基后暂存,不自动提交
      • --fork-point:自动利用 reflog 寻找正确的原始分叉点(防止捡回远程已被 force push 删改的旧提交)
      • 变基 (提交1, 提交2] 区间内的所有提交到到 指定分支或提交3 之后
      • 解决冲突后继续变基:git rebase --continue
      • 跳过当前冲突提交:git rebase --skip
      • 丢弃整个变基操作:git rebase --abort
    • 高级合并与变基策略选项(可配合 mergerebasepull 使用,控制冲突解决逻辑与格式忽略)
      • -s 策略名称 / --strategy=策略名称:指定底层合并算法
        • ort:Git 2.34+ 默认策略,recursive 的完全重写,更快更智能
        • recursive:旧版默认策略,仅需与旧版行为一致时使用
        • ours:强行保留当前分支内容,忽略对方分支修改
        • octopus:用于合并三个及以上分支
      • -X 参数 / --strategy-option=参数:不改变默认算法,仅传入子参数控制冲突时的代码去留
        • ours:在 merge 时保留当前分支;在 rebase 时保留公共基准分支
        • theirs:在 merge 时保留对方分支;在 rebase 时保留正在重放的本地提交
        • ignore-space-change:忽略行尾换行符差异(如 Windows 的 CRLF 与 Linux 的 LF)引起的伪冲突
        • ignore-all-space:忽略所有因为空白字符、缩进修改引起的伪冲突
  • 贮藏区(Stash Area):独立于四大工作区的临时存储流,用于安全挂起当前未完成的开发现场
    • 贮藏当前工作区与暂存区的未提交改动:git stash push
      • -m "描述信息":添加描述信息,旧 git stash save "描述信息"
      • -u / --include-untracked:包含未跟踪的文件
      • -a / --all:包含未跟踪和被忽略的文件
    • 查看当前贮藏列表:git stash list
    • 恢复最新一次贮藏内容并从列表中删除:git stash pop
    • 恢复指定贮藏内容但不从列表中删除:git stash apply stash@{n}
    • 删除指定序号的贮藏记录:git stash drop stash@{n}
    • 清空贮藏区内所有保存记录:git stash clear
  • 查看当前文件状态:git status
    • 双字母状态码精简输出:git status -s(左列:暂存区;右列:工作区)
      • :未修改,!:已忽略,?:未跟踪,A:新增,C:已复制,D:已删除,M:已修改,R:已重命名,T:文件类型改变,U:未合并
      • :未修改 unmodified,??:未跟踪 untracked,A /M :已暂存 staged, M:已修改 modified
    • \(\text{unmodified}\xrightarrow[\text{git rm --cached}]{}\text{untracked}\xrightarrow[\text{git add}]{}\text{staged}\xrightarrow[\text{git commit}]{}\text{unmodified}\xleftrightharpoons[修改]{\text{git restore}}\text{modified}\xleftrightharpoons[\text{git add}]{\text{git restore --staged}}\text{staged}\)
  • 分支操作:并行开发流的核心机制
    • 创建一个新的本地分支:git branch 分支名称
      • 重命名当前所在的分支:git branch -m 新分支名称
      • 列出本地所有分支:git branch
      • 列出远程所有分支:git branch -r
      • 列出本地和远程的所有分支:git branch -a
      • 查看本地所有分支与远程上游分支的跟踪关系及落后/超前状态:git branch -vv
      • 为当前分支设置或修改上游关联:git branch -u origin/远程分支名称git branch --set-upstream-to=origin/远程分支名称
      • 撤销当前分支与远程上游分支的跟踪关联:git branch --unset-upstream
      • 删除已合并到当前分支的指定本地分支:git branch -d 分支名称
      • 强制删除指定本地分支:git branch -D 分支名称
    • 切换到已有指定本地分支:git switch 分支名称
      • git checkout 分支名称
      • 创建并直接切换到新本地分支:git switch -c 分支名称
      • 基于远程分支创建本地分支并建立追踪:git switch -c 分支名称 origin/远程分支名称
        • git checkout -b 分支名称 --track origin/远程分支名称--track 可省略)
        • 本地分支自动同名:git switch -t origin/远程分支名称git switch 远程分支名称(旧 git checkout --track origin/feature
  • 标签管理(Tag):为指定提交建立的不可变里程碑指针,用于标记重要版本
    • 在当前最新提交上新建一个轻量标签:git tag 标签名称
      • 在当前最新提交上新建一个附注标签:git tag -a 标签名称 -m "描述信息"
      • 补发标签到指定的历史提交哈希值:git tag 标签名称 提交哈希值
      • 列出本地所有标签:git tag
      • 删除本地指定标签:git tag -d 标签名称
    • 显示指定标签的附注详细信息:git show 标签名称
  • 工作区多检出(Worktree):多任务并行与多方案联调的终极方案,允许在不同目录下同时检出相同仓库的不同分支,免去频繁 stash/switch 的上下文打断
    • 底层本质:主工作区含标准 .git 目录,各链接工作区仅含一个纯文本 .git 文件(其内写入指针指向主工作区 .git/worktrees/<id>),共享同一套物理持久化的 Blob、Tree 及 Commit 对象数据库
      • 链接工作区必须置于主工作区的同级平铺目录
      • 同一个分支绝对不能同时被两个 worktree 检出
      • 工作目录完全独立,被忽略的依赖及临时编译产物互不共享,切目录后需独立重新安装/构建
    • 基于已有分支创建并检出新工作区:git worktree add 目标路径 分支名称
      • 创建新分支并检出到新工作区:git worktree add -b 新分支名称 目标路径 [基准分支](省略基准分支时,默认以当前 HEAD 为基准)
    • 列出当前仓库关联的所有工作区路径、最新 Commit 及分支:git worktree list
      • 机器可读的脚本专用精简格式输出:git worktree list --porcelain
    • 锁定指定工作区以防止其元数据被 prune 命令意外注销:git worktree lock 目标路径 --reason "描述"(适用于长周期联调或挂载在断开网络卷与移动硬盘中的工作区)
      • 解锁指定工作区:git worktree unlock 目标路径
    • 安全移除指定工作区物理目录及其元数据:git worktree remove 目标路径(若工作区内包含未提交的改动,须追加 -f 强行删除)
      • 清理因在文件管理器中被直接手动删除文件夹而残留的僵尸元数据:git worktree prune
      • 确认分支停用后,须手动执行 git branch -d 分支名 彻底释放引用
    • 多方案并行实验隔离:利用物理目录独立性共存不同的本地配置文件与测试输出,通过 .gitignore 严格忽略临时产物与敏感凭证,实现多套业务逻辑或算法方案的免污染并行运行与评测

GitHub:云端代码托管与团队协作平台

  • 基础代码仓库操作(Repositories)
    • 线上创建新仓库:New Repository(配置公开/私有、README、.gitignore 及许可证)
    • 线上克隆与下载:提供 HTTPS/SSH/CLI 凭证,支持一键 Download ZIP
    • 线上分支与编辑:在 Web 端直接创建、切换、删除分支,或在线编辑/提交代码文件
    • 跨库协作派生:Fork(一键复制他人公共仓库到个人账号,形成独立远端副本)
  • 核心协作工作流:基于 PR(Pull Request)的团队多分支协作模型
    1. 功能开发(Feature 阶段):
      • 克隆到本地:git clone 远程仓库URL
      • 检出新分支:git switch -c xxx
      • 本地迭代开发:修改或添加本地代码
      • 添加变更到暂存区:git add .
      • 提交到本地仓库:git commit -m "描述信息"
      • 推送功能分支:git push origin xxx
    2. 同步远端主干(当远端主干分支有改变时进行 Rebase 规整):
      • 切换回主干分支:git switch main
      • 拉取远端最新代码:git pull origin main
      • 切回功能分支:git switch xxx
      • 规整演进历史树:git rebase main
        • 冲突阻断机制:中途若发生变基冲突,需手动解决冲突文件,执行 git add . 后调用 git rebase --continue
      • 强行覆盖推送:git push -f origin xxx(由于 rebase 篡改了本地分支历史基准,必须强推)
    3. 提交与合并审查(PR 阶段)
      • 线上合并审查:原项目主人采用 Pull Request 中的 Squash and merge 模式,将分支历史压缩净化后并入主干
      • 删除本地分支:git branch -d xxx
      • 同步最新主干:git pull origin main
  • 团队项目管理与追踪(Project Management)
    • 问题与需求追踪:Issues(记录 Bug、提案、任务,支持 Labels 标签、Milestones 里程碑及负责人指派)
    • 敏捷看板工具:Projects(提供自动化看板,通过列间移转追踪 Issue 和 PR 进度)
    • 团队权限控制:Organizations & Teams(创建组织、划分团队,精细配置成员的读、写、管权限)
  • 自动化与持续集成(GitHub Actions)
    • 自动化工作流:Actions(通过编写 .github/workflows/*.yml 监听 push、pr 等事件自动触发任务)
    • 持续集成部署:CI/CD(自动运行测试、代码扫描、打包镜像,并自动发布到服务器)
  • 社交编程与个人生态(Social Coding)
    • 关注与收藏:Star(点赞收藏优质项目)、Watch(订阅接收仓库的变更及讨论通知)
    • 静态网页托管:GitHub Pages(一键将前端静态代码仓库直接发布为公网可访问的免费网站)
    • 云端开发环境:Codespaces(一键启动基于云端容器、运行在浏览器中的轻量化 VS Code 环境)

Python 环境配置

  • Miniconda 安装与换源
    1. 官网清华大学开源软件镜像站 下载最新版的 Miniconda3-latest-Windows-x86_64.exe
    2. 双击运行安装程序,选择 Install for: Just Me (recommended),自定义安装路径 D:\miniconda3,勾选 Create shortautsAdd installation to my PATH environment variableRegister Miniconda3 as my default PythonClear the package cache upon completion 后执行安装;
    3. 安装完成后,在开始菜单打开 Anaconda Prompt 执行 conda --version 验证,显示版本号则说明安装成功;
    4. 依次执行如下命令接受 Anaconda 仓库的服务条款:
      • conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
      • conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
      • conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2
    5. 依次执行如下命令配置清华镜像源以加速后续包的下载:
      • conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
      • conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/
      • conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/
      • conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
      • conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/(显示包的具体来源频道)
      • conda config --set show_channel_urls yes
      • conda clean -i(清理索引缓存让新配置立即生效)
    6. 执行 conda config --show channels 查看当前源配置;
    7. 安装 VS Code 插件 Pylance、Python、Python Debugger、Python Environments。
  • Conda 常用核心命令
    • 虚拟环境管理:一项目一虚拟环境,隔离依赖,杜绝版本冲突
      • 创建环境:conda create -n 项目名 python=版本号
      • 激活环境:conda activate 项目名
      • 退出环境:conda deactivate
      • 查看现有环境:conda env list
      • 删除环境:conda remove -n 项目名 --all
    • 包管理:优先使用 conda install 包名 进行安装
      • 安装指定版本的包:conda install 包名=版本号
        • PyTorchconda install pytorch torchvision torchaudio cpuonly -c pytorch
      • 更新包:conda update 包名
      • 卸载包:conda remove 包名
      • 查看已安装的包:conda list
      • 搜索指定包的可用版本:conda search 包名
    • 环境备份与复现
      • 导出当前环境配置:conda env export > environment.yml
      • 根据 yml 文件复现环境:conda env create -f environment.yml
    • 其它
      • 更新 conda 自身:conda update conda
      • 查看 conda 基础信息:conda info
      • 清理所有缓存:conda clean -a

C/C++ 开发环境配置步骤

  • MinGW-w64 UCRT64 安装与环境配置
    1. MSYS2 官网清华大学开源软件镜像站 下载最新版的 msys2-x86_64-xxxxxxxx.exe
    2. 双击运行安装程序,自定义安装路径 D:\msys64,一路 Next 执行安装;
    3. 在开始菜单找到并打开 MSYS2 UCRT64 终端,执行 pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain 安装 UCRT64 工具链(按提示默认回车);
    4. 配置系统环境变量:按下 Win + R 键输入 sysdm.cpl 回车打开系统属性窗口,然后点击 高级——环境变量,在 系统变量 中找到 Path,编辑添加 D:\msys64\ucrt64\bin 后保存;
    5. 按下 Win + R 键输入 cmd 回车打开命令提示符窗口,依次执行以下命令验证安装:
      • gcc --version
      • g++ --version
      • gdb --version
    6. 配置 MSYS2 镜像源加速包下载,编辑 D:\msys64\etc\pacman.d\mirrorlist.mingw,在文件开头添加 Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/$repo,编辑 D:\msys64\etc\pacman.d\mirrorlist.msys,在文件开头添加:Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
    7. 执行 pacman -Syu 同步最新镜像源的软件包数据库,并将系统中所有已安装的软件包全量升级至最新版本;
    8. 安装 VS Code 插件 C/C++ Extension Pack(包含 C/C++、C/C++ Themes、C/C++ DevTools、CMake Tools)。
  • VS Code C/C++ 项目配置
    1. 新建项目文件夹(路径尽量不含中文和空格),在 VS Code 中打开该文件夹;
    2. 创建源代码文件 main.cpp,按下 Ctrl + Shift + P 打开命令面板,执行 任务: 配置默认生成任务,选择 C/C++: g++.exe 生成活动文件 生成 .vscode/tasks.json
    3. 修改 tasks.json 中的 command 为 "D:\\msys64\\ucrt64\\bin\\g++.exe",在 args 中添加 "-std=c++17" 指定 C++ 标准;
    4. 点击左侧 运行和调试 图标,点击 创建一个 launch.json 文件,选择 C++ (GDB/LLDB),在列表中选择 C/C++: (gdb) 启动 生成 .vscode/launch.json
    5. 修改 launch.json 中的 program 为 "${fileDirname}\\${fileBasenameNoExtension}.exe",修改 miDebuggerPath 为 "D:\\msys64\\ucrt64\\bin\\gdb.exe",在最后添加 "preLaunchTask": "C/C++: g++.exe 生成活动文件"
    6. 按下 Ctrl + Shift + P,执行 C/C++: 编辑配置(UI),设置 编译器路径 为 D:/msys64/ucrt64/bin/g++.exe,设置 C++标准 为 c++17,生成 .vscode/c_cpp_properties.json
    7. main.cpp 中输入测试代码,按下 Ctrl + Shift + B 编译,在终端执行 .\main.exe 运行;
    8. 在代码行号左侧点击设置断点,按下 F5 启动调试,验证断点、变量查看、单步执行等功能是否正常。

MATLAB 配置

字体设置

  • 点击 主页——设置——外观——字体,设置 字体 为 Consolas,大小 为 14

MBeautifier(MATLAB 代码格式化工具)

  1. 下载并解压源码包 MBeautifier-x.x.x.zip 到文件夹 E:\Codes\MATLAB\Toolboxes\MBeautifier,在 MATLAB 命令行执行 addpath(genpath('E:\Codes\MATLAB\Toolboxes\MBeautifier'));savepath 添加并保存路径
  2. 添加收藏命令 格式化当前编辑器页面:点击 主页——收藏夹——新建收藏项,设置 标签 为 格式化当前编辑器页面,代码 为 MBeautify.formatCurrentEditorPage(),图标 选择 F☆ Upper Case F,勾选 添加到快速访问工具栏
  • 支持通过编辑 MBeautifier\resources\settings\MBeautyConfigurationRules.xml 文件自定义格式化规则(运算符空格、缩进字符、空行数量、矩阵逗号分隔等)
  • 支持在代码中使用注释临时启用或禁用格式化
    • % MBeautifierDirective:Format:Off:禁用后续代码的格式化
    • % MBeautifierDirective:Format:On:重新启用格式化
  • 支持批量格式化目录中的文件:MBeautify.formatFiles(directory, fileFilter)

Optimization Toolbox(MATLAB 优化工具箱)

  • 决策变量,目标函数(句柄@(x) f(x,1)),约束,options 结构体(optimset,optimoptions)
  • 无约束优化:fminunc(拟牛顿,信赖域),fminsearch(无导数优化)
  • 约束优化:fmincon(内点,信赖域反射,序列二次规划,积极集),fseminf(半无限约束优化)
    • 一维线搜索:fminbnd(黄金分割,抛物线插值)
    • 线性规划:linprog(对偶单纯形,内点)
    • 混合整数规划:intlinprog(分支定界)
    • 二次规划:quadprog(内点,信赖域反射,积极集)
    • 线性最小二乘:lsqlin(线性约束;内点,信赖域反射,积极集),lsqnonneg(非负约束;Lagrange 乘子法)
    • 非线性最小二乘:lsqnonlin or lsqcurvefit(信赖域反射,内点,LM)
  • 多目标优化:fgoalattain(目标达到),fminmax(极小极大)
  • 方程组求解:fzero(二分,插值),fsolve(信赖域,LM)

MATLAB 外部优化求解器安装与环境配置

  • Manopt(黎曼流形优化工具箱)
    • 下载并解压源码包 Manopt_x.x.zip 到文件夹 E:\Codes\MATLAB\Toolboxes\,在 MATLAB 命令行执行 cd E:\Codes\MATLAB\Toolboxes\manopt 进入该目录,然后执行 importmanopt 完成配置,最后执行 checkinstall 验证安装
    • 支持球面、Stiefel 流形(正交群)、Grassmann 流形、SPD 流形(对称正定矩阵)等常用流形结构,提供信赖域、梯度下降、共轭梯度、拟牛顿等黎曼优化算法,支持通过 manoptAD 自动计算黎曼梯度与 Hessian
  • CVX(规范凸规划建模框架,MIDCP/GP)
    • 下载并解压压缩包 cvx-w64.zip 到文件夹 E:\Codes\MATLAB\Toolboxes\,在 MATLAB 命令行执行 cd E:\Codes\MATLAB\Toolboxes\cvx 进入该目录,然后执行 cvx_setup 完成配置
    • 查看已安装求解器:cvx_solver
    • 内置 SeDuMiSDPT3,通过 cvx_solver 指定求解器
      • 在 MATLAB 命令行执行 addpath(genpath('E:\Codes\MATLAB\Toolboxes\cvx\sedumi'));addpath(genpath('E:\Codes\MATLAB\Toolboxes\cvx\sdpt3'));savepath 将 CVX 内置的 SeDuMi 和 SDPT3 添加到 MATLAB 路径以供 YALMIP 识别
    • 外部接口求解器
      • Gurobi:LP,QP,SOCP,Integer
      • MOSEK:LP,QP,SOCP,SDP,GP,Integer
        • 下载安装 MOSEK 后,申请免费的个人学术许可证,将 mosek.lic 放入 %USERPROFILE%\mosek\ 文件夹;然后在 MATLAB 命令行执行 addpath('C:\Program Files\Mosek\11.2\toolbox\r2019bom');savepath 添加并保存路径,执行 mosekdiag 无报错即成功;重新执行 cvx_setup 即可识别 MOSEK 求解器
      • GLPK:LP,Integer
        • 点击 绿色 Code 按钮——Download ZIP 下载仓库源码包并解压到文件夹 E:\Codes\MATLAB\Toolboxes\,在 MATLAB 命令行执行 addpath(genpath('E:\Codes\MATLAB\Toolboxes\glpkmex-master'));savepath 添加并保存路径,执行 glpktest1 验证安装,最后重新执行 cvx_setup 以供 CVX 识别
  • YALMIP(优化问题统一建模语言)
    • 下载并解压源码包 YALMIP-master.zip 到文件夹 E:\Codes\MATLAB\Toolboxes\,在 MATLAB 命令行执行 addpath(genpath('E:\Codes\MATLAB\Toolboxes\YALMIP-master'));savepath 添加并保存路径,执行 yalmiptest 验证安装,该命令会检测所有已配置求解器并输出测试报告
    • 通过 sdpsettings('solver', 'solver_name') 指定求解器
  • OPTI Toolbox(开源求解器集成包)
    • 下载并解压压缩包 OPTI-master.zip 到文件夹 E:\Codes\MATLAB\Toolboxes\,在 MATLAB 命令行执行 cd E:\Codes\MATLAB\Toolboxes\OPTI-master 进入该目录,然后执行 opti_Install 完成配置,最后需要填写 学术申请 下载 OPTI Academic Solvers.zip,解压后将文件 scip.mexw64 移动到 E:\Codes\MATLAB\Toolboxes\OPTI-master\Solvers
    • 查看已安装求解器:optiSolver
    • 内置求解器
      • LP(线性规划):CLP,CSDP,DSDP,GLPK,LP_SOLVE,OOQP,SCIP
      • MILP(混合整数线性规划):CBC,GLPK,LP_SOLVE,SCIP
      • QP(二次规划):CLP,OOQP,SCIP
      • MIQP(混合整数二次规划):SCIP
      • QCQP(二次约束二次规划):SCIP
      • MIQCQP(混合整数二次约束二次规划):SCIP
      • SDP(半定规划):CSDP,DSDP
      • SNLE(非线性方程组):HYBRJ,LMDER,MKLTRNLS,NL2SOL
      • NLS(非线性最小二乘):LEVMAR,LMDER,MKLTRNLS,NL2SOL
      • NLP(非线性规划):FILTERSD,IPOPT,LBFGSB,M1QN3,NLOPT,SCIP
      • GNLP(全局非线性规划):NLOPT,NOMAD,PSWARM,SCIP
      • MINLP(混合整数非线性规划):BONMIN,NOMAD,SCIP
    • 外部接口求解器(需单独安装,OPTI 仅提供调用接口)
      • BARON:LP,MILP,QP,MIQP,QCQP,MIQCQP,NLP,GNLP,MINLP
      • CPLEX:LP,MILP,QP,MIQP,QCQP,MIQCQP
        • 解压已有压缩包 cplex_v12.10.zip 并将子文件夹 cplex 移动到文件夹 E:\Codes\MATLAB\Toolboxes\ 下,在 MATLAB 命令行执行 addpath(genpath('E:\Codes\MATLAB\Toolboxes\cplex\matlab\x64_win64'));savepath 添加并保存路径,执行 yalmiptest 验证能否正确识别
      • MOSEK:LP,MILP,QP,MIQP,QCQP,MIQCQP
      • SeDuMi:LP,SDP
      • GMATLAB:GNLP,MINLP

MATLAB Agentic Toolkit(MATLAB AI Agent 扩展工具包)

  1. 下载 agenticToolkitInstaller.mltbx 文件并双击运行,通过 MATLAB 附加功能管理器完成安装器注册;
  2. 在 MATLAB 命令窗口中执行 setupAgenticToolkit("install"),正式下载 MATLAB MCP Server 及技能库(Skills)
    • 为减轻 AI 上下文负担并提升触发准确率,建议仅勾选与当前工作相关的技能组
  3. 在 AI Agent 中提问 "What version of MATLAB is running? List the installed toolboxes." 进行验证,若正确返回版本及工具箱列表即代表通信打通
  • 提供 AI Agent 直接操作 MATLAB 实例的核心 MCP 工具:
    • evaluate_matlab_code:运行 MATLAB 代码并返回命令窗口输出
    • run_matlab_file:运行本地 MATLAB 程序文件
    • run_matlab_test_file:通过 runtests 运行测试并返回结构化结果
    • check_matlab_code:使用代码分析器进行静态分析
    • detect_matlab_toolboxes:列出已安装的 MATLAB 版本和工具箱
  • 注入专家技能库,为 AI Agent 提供专业知识和上下文,引导其遵循 MATLAB 最佳工程实践:
    • MATLAB Core:创建、调试、测试、审查和管理 MATLAB 代码与安装
    • MATLAB App Building:使用 UI 组件、布局、回调和网页集成构建应用程序
    • MATLAB Data Import and Analysis:在 MATLAB 中分析表格数据,涵盖过滤、聚合和时序操作
    • MATLAB External Language Interfaces:从 MATLAB 调用 Python 库,并将 MEX 文件升级为交织复数 API
    • MATLAB Programming:编写具有输入验证的健壮 MATLAB 函数
    • MATLAB Software Development:现代化遗留代码、优化性能、编写文档、创建工具箱和项目,以及制定构建计划
  • 此外还支持 Deep Learning Toolbox、Simulink、Robotics System Toolbox 等专业工具箱的专项技能
  • 支持通过命令窗口管理工具包组件:
    • 更新工具包:setupAgenticToolkit("update")
    • 卸载工具包:setupAgenticToolkit("uninstall")

其它配置

Windows 常用快捷键

  • 窗口与多任务管理
    • 最大化/恢复窗口:Win + /
    • 窗口靠左/右停靠(分屏):Win + /
    • 显示桌面:Win + D
    • 锁定屏幕:Win + L
    • 切换当前任务:Alt + Tab
    • 打开任务视图:Win + Tab
  • 系统功能与资源管理
    • 打开文件资源管理器:Win + E
    • 打开运行命令窗口:Win + R
    • 打开系统设置:Win + I
    • 任务管理器:Ctrl + Shift + Esc
  • Windows 原生屏幕捕获
    • 打开交互式截图工具栏:Win + Shift + SPrintScreen
    • 捕获当前活动窗口并存入剪贴板:Alt + PrintScreen
    • 捕获全屏并存入 USERPROFILE%\Pictures\Screenshots 文件夹:Win + PrintScreen
  • 进阶与编辑
    • 打开剪贴板历史记录:Win + V
    • 调出 Emoji 表情与符号面板:Win + .
    • 快速重命名文件:F2
    • 永久删除文件:Shift + Delete
    • 投影设置:Win + P

Windows 使用技巧

  • 光标变白解决方法
    1. 按下 Win + R 键输入 regedit 回车打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Dwm
    2. 点击 右键——新建——DWORD (32位)值 并重命名为 OverlayTestMode
    3. 双击,将数值数据改为的十进制的 5,保存后重启电脑即可。
    • 本质原因是 Desktop Window Manager 的 Multiplane Overlay 渲染与鼠标层渲染冲突,该方法相当于禁用有问题的 MPO,使程序回退到原有 DWM 合成路径渲染
    • 恢复方法:直接删除该项后重启电脑即可还原
  • Word 电子版手写签名制作与复用流程
    1. 白纸上用黑笔签名,手机拍照上传保存到电脑;
    2. 打开 Word 并点击 插入——图片——此设备,选择签名照片,选中图片,点击 鼠标右键——裁剪,裁掉多余白边;
    3. 调整好图片大小,点击 图片格式——排列栏环绕文字——浮于文字上方,点击 颜色——重新着色——黑白:50%
    4. 点击 颜色——设置透明色 后光标变为一支画笔,使用画笔点击图片白色背景,拖动到对应签名栏即可;
    5. 选中签名图片,按下 Alt + F3 打开新建构建基块对话框,名称输入 sign,点击确定;
    6. 在任意 Word 文档中输入 sign,立即按 F3 键,签名自动插入。

Internet Download Manager 配置

  1. 点击 下载——选项——文件类型,设置 自动开始下载下列类型的文件 为 3GP 7Z AAC ACE AI AIF ALZ APK APP ARC ARJ ASF AVI BH BIN BR BUNDLE BZ BZ2 CDA CSV DIF DLL DMG DOC DOCX EGG EPS EXE FLV GZ GZIP IMG IPA ISO ISZ JAR KEXT LHA LZ LZH LZMA M4A M4V MDB MID MKV MOV MP3 MP4 MPA MPE MPEG MPG MSI MSU MUI OGG OGV PDF PKG PPT PPTX PSD PST PUB QT R0* R1* RA RAR RM RMVB RTF SEA SIT SITX SLDM SLDX TAR TBZ TBZ2 TGZ TIF TIFF TLZ TXZ UDF VOB VSD VSDM VSDX VSS VSSM VST VSTM VSTX WAR WAV WBK WIM WKS WMA WMD WMS WMV WMZ WP5 WPD WPS XLS XLSX XPS XZ Z ZIP ZIPX ZPAQ ZSTD
  2. 转至 连接 选项卡,设置 默认最大连接数 为 32

Quicker 配置

  • 下载 PixPin 便携版,使用动作 指定命令启动PixPin截图 实现(长)截图、贴图、录屏、OCR 等功能
    • 截图快捷键:CapsLk + 1
    • 截图并复制 OCR 快捷键:CapsLk + 2
  • 使用 Quicker 动作 Translator 进行跨软件翻译,选中文字点击动作,进行划词翻译;未选中文字点击动作,进行截图翻译;按住 Ctrl 点击动作,进行输入翻译
    • 快捷键:CapsLk + 3
    • 设置 翻译服务 为 有道翻译DeepL,设置 面板位置 为 屏幕右上
  • 使用 Quicker 动作 公式识别3 进行截图公式识别,配置 SimpleTex 引擎
    • 快捷键:CapsLk + 4

iPad 扩展副屏配置

  1. 在电脑和 iPad 上安装远程控制软件 UU远程 并运行;
  2. 单击电脑软件界面顶部第二个 无线副屏 图标连接 ipad;
  3. 使用快捷键 Win + P 设置投影模式为 扩展,单击 更多显示设置 打开系统屏幕设置页面自定义调整主副屏排列布局;
  4. 将鼠标放置到已连接设备可以自定义设置副屏的显示(推荐 跟随副屏显示屏缩放 200%)、方向及画质。
posted @ 2023-04-12 16:34  |烟岚云岫|  阅读(2629)  评论(0)    收藏  举报