工具使用技巧集合


大模型和Agent

大模型和Agent区别

  • 常规 LLM(如网页版 ChatGPT): 是一问一答的无状态(Stateless)函数。它是被动的,你输入一段 Prompt,它输出一段文本,交互到此结束。

  • Agent: 是一个有状态(Stateful)的闭环系统。它具备三个核心组件:记忆(Memory)、工具(Tools/APIs)和规划能力(Planning)。你只需给 Agent 设定一个“宏大目标”,它会自动将任务拆解,自主调用工具执行,观察结果。如果出错,它会利用大模型的能力分析报错并自我纠错,直到完成目标。

为什么常规 LLM 搞不定多文件重构?Code Agent 怎么解决?

原因在于上下文物理限制和文件拓扑结构的缺失。让大模型一次性吞下多个文件,不仅容易超出 Token 限制,还会导致模型产生“注意力遗忘”(Lost in the Middle)。

最近很火的 Code Agent(例如 Claude Code、Cursor、Cline、Aider 等)正是为了解决这个痛点而生,它们的使用方式与常规 LLM 有天壤之别:

  • 主动的环境感知 (Workspace Awareness):
    你不再需要手动复制粘贴代码。Code Agent 直接集成在终端(CLI)或 IDE(如 VS Code)中。当你让它“重构数据加载模块”时,Agent 会自己执行 grep 搜索、读取目录树、寻找依赖项,主动把需要的文件拉入上下文。

  • 读写执行一体化 (Action Execution):
    常规 LLM 只能生成代码文本让你去复制;Code Agent 可以直接通过文件系统 API 修改、保存文件。

  • 自主纠错循环 (Self-Correction Loop):
    这是 Agent 最核心的优势。如果你让 Agent 重构一个类,重构后运行报错了,Agent 会自动捕获 Terminal 里的 Traceback,把错误信息发回给大模型分析,重新生成补丁,再次运行,循环往复,直到代码能成功跑通。你在这个过程中不需要说话,只需看着它干活。

常规大模型做不好、必须要 Agent 上的 3 个科研场景

常规大模型最怕“长程链路”和“需要实时验证”的任务。以下三个场景是 Agent 的绝对主场:

  1. 深度追踪与复现最新的 Baseline (Paper & Code Exploration)
  • 大模型的劣势: 你把 2026 年最新时序顶会论文的 PDF 或 GitHub 链接丢给大模型,让它解释某个核心公式的工程实现。它只能“盲猜”,因为看不到代码全貌,更无法运行。

  • Agent 的优势: 像 Claude Code 或 Cline 这样的开发 Agent,你可以直接给它一个 GitHub 存储库的 URL。它会自主下载代码、阅读目录树、使用 grep 查找关键的模块(比如查找哪些文件实现了频率域的 Mask 操作),甚至可以尝试在你的服务器环境中运行 pip install 搭建环境,编译报错了它自己去改 setup.py。

  • 价值: 帮你用最短的时间把别人的 Baseline 在你的服务器上跑通。

  1. 多文件联动下的复杂模型架构调整 (Cross-File Code Refactoring)
  • 大模型的劣势: 正如你之前所说,你只敢传单个 model.py。如果你想把 RouteTS 的核心机制从“通道独立(Channel-Independent)”改成“通道混叠(Channel-Mixing)”,这不仅要改模型层,还要改 data_provider.py 的数据对齐、exp_basic.py 的训练流程。单文件传给大模型,它改完必报维度错误(Shape Mismatch)。

  • Agent 的优势: 给 Workspace Agent 权限,它会通盘阅读这 3 个相关文件。它在修改 model.py 时,会同步自动修改 data_provider.py 的维度,甚至在终端自动运行一下 python main.py —dry_run=True 来验证张量在 Forward 过程中会不会挂掉。

  • 价值: 它拥有“全局观”和“动态调试能力”,这是单文件复制粘贴绝对做不到的。

  1. 文献网络深度调研 (Autonomous Literature Review)
  • 大模型的劣势: 只能基于它已有的知识,或者你喂给它的单篇 PDF 进行解答,无法顺藤摸瓜。

  • Agent 的优势: 比如科研专用 Agent(如 Perplexity Pro 的深度搜索模式,或开源的 Auto-Research Agent)。你输入:“追踪 2025-2026 年间,所有将 Transformer 的 Attention 机制应用在三维时序预测上的 CCF-A 级论文”。Agent 会在后台自动去 arXiv、Semantic Scholar 上检索,下载前 5 篇,阅读其 Related Work,顺着引用文献(Citation Tree)再下载 10 篇,最后给你整理出一份包含方法对比、Baseline 使用情况的深度报告。

  • 价值: 代替你做连续几小时的“找文献-下文献-看摘要”的机械劳动。

推荐的Agent

考虑到你使用 VS Code Remote SSH 访问远程服务器的习惯,你的 Agent 部署策略应该因地制宜:

  1. 代码开发类:推荐“本地操作、远程生效”的混合模式
    你不需要在服务器上装复杂的图形化 Agent。
  • 首选方案:Cursor 或 VS Code + Cline 插件(本地部署,API 远程连接)

    • 怎么用: 它们装在你的本地电脑(Mac/Windows)上,但因为你的 VS Code 已经通过 SSH 连接了服务器,这些 Agent 插件可以直接感知并操作你远程服务器上的工作区文件。

    • 模型选择: 强烈建议接入 Claude 3.5 Sonnet (API)。在逻辑推理、复杂代码编写和多文件重构上,它是目前学术界和工业界公认断层第一的模型。

    • 特点: 这属于 Local-Agent (Controlled Actions)。它每次改你服务器上的代码、或者想在服务器终端运行命令时,都会在本地弹窗询问你:“我是否可以修改 exp_model.py?”、“我是否可以运行 python main.py?”。对博士生来说非常安全,完全在你的掌控之中。

  1. 文献调研与 Idea 验证类:推荐“云端/远程 Agent”
  • 首选方案:Perplexity (Pro 模式) 或 Consensus

  • 怎么用: 直接在网页端使用。不需要本地任何环境,直接利用它们后台庞大的网络爬虫和学术数据库检索能力。

  • 特点: 适合在你每天早上开启科研工作前,或者和导师 regular meeting 前,用来快速摸清某个细分 idea 是否已经被别人做过。

正则化技巧

有时候在markdown里面,会把一级标题被我设置为了##, 二级标题被我设置为了###,最高到####。

现在希望让所有的标题都缩减一级,也就是##变为#。可以直接用正则表达式一步到位。

  1. 打开替换面板:按 Ctrl+H(Windows/Linux)或 Cmd+Option+F(Mac)
  2. 开启正则模式:点击替换面板右上角的 .* 按钮(或按快捷键 Alt+R)
  3. 查找框输入:
    ^(#+)# (.*)
  4. 替换框输入:
    $1 $2
    原理说明:
  • ^:匹配每一行的开头,确保只处理行首的标题,不会误改正文里的#号
  • (#+)#:先捕获连续的 N 个#到分组$1,再匹配第 N+1 个#;整体只匹配「至少 2 个 #」的标题,替换后自然减少一个#
  • (.*):匹配标题后的空格和全部标题内容,$2 对应原标题文字
  • 最终替换为 $1 $2,就是「N 个# + 空格 + 原标题内容」,正好降级一级

科研工具使用

latex

latex安装

原文链接

latex、mathtype公式结合

有的期刊的公式无法用word自带的编辑,只能用mathtype。
安装好mathtype后,就可以在word里面使用公式,一般来说有两种方式

一种是mathtype里面的显示,直接写就好
第二种是在页面中,用latex形式。$a_i$,然后点击mathtype切换到latex就可转换为公式。

数学公式图片转latex

网站:http://img2latex.com/ocr

png、tiff格式转eps格式

png转eps
bmeps是下载latex后就可以在cmd里直接使用的

bmeps -c figure.png figure.eps

tiff转pes
需要下载ImageMagick

# 单一图像转换
magick mogrify -format eps conv_t60_cropped_cropped.tiff

# 目录下批量转换
magick mogrify -format eps *.tiff

matplotlib绘图以适应latex排版

学术投稿一般都是latex,但是有些图是需要用matplotlib绘图,但是过往绘制出来的图,放到latex里面,会出现图片过大或过小的问题,之前我都是使用width=0.85\textwidth进行缩放,但是这就其实不好,会导致图片中的所有元素(线条、颜色、文字)都被一起缩放,在生成的pdf里面看起来就很奇怪。所以解决办法是:永远在绘图时就确定最终物理尺寸

一旦确定了画布宽度,就永远不要在 LaTeX 中对图片进行任何缩放。

为了解决这个问题,可以依靠tueplots来帮助我们解决这个问题,针对ICLR排版(其他顶会也有),自动调整图片的宽度/字体大小等。

所以后续的做图方法,可以先把图的大致布局、配色等弄好。然后使用下面这个py文件,可以发给大模型处理。只需要思考 “我要展示什么数据” 和 “怎么展示最清楚”,而所有技术细节都由大模型来处理。。如果还是有些不符合要求,手动调整下即可

提示词:


你是一个精通学术论文数据可视化的 Python 代码整合助手。

我已经提供了一个自定义的样式模块 iclr_style.py,其中包含:

  • apply_iclr_global_style(nrows, ncols, rel_width)
  • format_academic_axes(axes)
  • hide_empty_subplots(axes, n_active)
  • setup_academic_legend(ax, **kwargs)
  • setup_global_academic_legend(fig, axes, **kwargs)

请根据我提供的【基础绘图代码】,为我生成最终的 .py 绘图脚本。生成代码时,必须严格遵守以下红线规则:

  1. 第一原则:绝对尊重我的基础代码(极其重要)
  • 禁止修改颜色与样式: 必须 100% 使用我草稿代码中定义的线条颜色(color)、透明度(alpha)、线型(linestyle)和线宽(linewidth)。绝不允许擅自调整或增加对比度。
  • 精准提取布局参数: 直接阅读我的草稿代码(例如 fig, axes = plt.subplots(...)),从中精确提取行数(nrows)和列数(ncols)。
  • 精准提取子图数量: 统计我实际绘制了几个子图(N)。
  1. 第二原则:正确应用 tueplots 样式工具
  • 必须在代码最开头调用 apply_iclr_global_style(nrows=nrows, ncols=ncols, rel_width=1.0),参数使用上一原则中提取的数值。
  • 绝对禁止plt.subplots() 中传入 figsize 参数。
  • 如果 nrows * ncols > N,必须调用 hide_empty_subplots(axes, N) 隐藏多余边框。
  • 绝对禁止plt.savefig() 中使用 bbox_inches='tight'
  1. 第三原则:学术细节美化
  • 数据绘制完成后,必须调用 format_academic_axes(axes) 统一美化所有子图。
  • 坐标轴标签(xlabel, ylabel)必须使用 fontweight='bold'
  • 图例规范配置:
  • 若为单个子图图例,请使用 setup_academic_legend(ax, **kwargs) 进行配置。
  • 若为多子图合并的全局图例,请直接调用封装好的 setup_global_academic_legend(fig, axes) 自动提取标签并渲染,确保其不遮挡数据走势。

我的基础代码如下:

# 填入你的基础代码

iclr_style.py 参考实现:

import matplotlib.pyplot as plt
import numpy as np
from tueplots import bundles

def apply_iclr_global_style(nrows, ncols, rel_width=1.0):
    plt.rcParams.update(bundles.iclr2024(rel_width=rel_width, nrows=nrows, ncols=ncols))
    plt.rcParams['pdf.fonttype'] = 42
    plt.rcParams['ps.fonttype'] = 42

def format_academic_axes(axes):
    if not isinstance(axes, (list, np.ndarray)):
        axes_list = [axes]
    else:
        axes_list = np.array(axes).flatten()

    for ax in axes_list:
        if not ax.get_visible():
            continue
            
        ax.spines['top'].set_visible(True)
        ax.spines['right'].set_visible(True)
        ax.spines['left'].set_linewidth(1.2)
        ax.spines['right'].set_linewidth(1.2)
        ax.spines['top'].set_linewidth(1.2)
        ax.spines['bottom'].set_linewidth(1.2)

        ax.tick_params(axis='both', which='major', direction='out')
        ax.grid(True, linestyle=':', alpha=0.5)

        for label in ax.get_xticklabels() + ax.get_yticklabels():
            label.set_fontweight('bold')

def hide_empty_subplots(axes, n_active):
    if isinstance(axes, (list, np.ndarray)):
        axes_flat = np.array(axes).flatten()
        for i in range(n_active, len(axes_flat)):
            axes_flat[i].set_visible(False)

def setup_academic_legend(ax, **kwargs):
    default_kwargs = {
        'loc': 'lower center',
        'bbox_to_anchor': (0.5, 1.02),
        'frameon': True,
        'facecolor': 'white',
        'edgecolor': 'lightgray'
    }
    default_kwargs.update(kwargs)
    ax.legend(**default_kwargs)

def setup_global_academic_legend(fig, axes, **kwargs):
    axes_flat = np.array(axes).flatten()
    handles, labels = [], []
    for ax in axes_flat:
        h, l = ax.get_legend_handles_labels()
        for hi, li in zip(h, l):
            if li not in labels:
                handles.append(hi)
                labels.append(li)
                
    default_kwargs = {
        'loc': 'upper center',
        'bbox_to_anchor': (0.5, 1.1),
        'ncol': min(len(labels), 3),
        'frameon': True,
        'facecolor': 'white',
        'edgecolor': 'lightgray'
    }
    default_kwargs.update(kwargs)
    fig.legend(handles, labels, **default_kwargs)

用PPT画图的一些技巧

  • 需要先把画布的宽度确定好,对应会议/期刊,问大模型,提前确定好。
  • 视图-》网格线;确保线是直的
     lguanaTex,类似latex文档的方式插入公式,和论文模板里面渲染出来的一样,这一点是draw.io没法比的。
  • 把某一页导出为pdf:另存为-》保存类型选择PDF,点击下方的选项,在弹出的对话框中,把范围选为 当前幻灯片
  • 关于输入和输出,其实可以让程序给画出来,用实际的数据集就好。比手画稍微快些。至于怎么把程序里面的东西导入,可以问下大模型。

zotero

安装插件

插件一般从github上面下载,直接搜就好。实在不知道就百度,下载的格式一般是xpi。

然后进入到zotero。工具-》附加组件-》“右上角齿轮”-》Install Add-on From File

注意:安装的版本不要pre-release,否则部分功能是没有的。要在latest或者之前的

zotero记笔记

需要提前安装好zotero better notes插件

安装好以后左侧会出现工作区

Better Notes引入工作区的概念,工作区是一个单独的Zotero标签页或单独窗口,分为三栏,从左到右依次为:大纲区,主笔记区,预览笔记区

  1. 大纲区相当于主笔记区的一个导航
  2. 主笔记可以创建多个,但是每一次只能有一个被使用,要想使用别的主笔记,需要将当前笔记设为主笔记
  3. 主笔记一般来说是针对某一类文章的笔记,而条目笔记是针对每一篇文章的笔记,每篇文章可以创建多个条目笔记,主笔记里面没有特别多的内容,但是可以将其与条目笔记关联起来,最终在预览笔记区就能看到。
  4. 一般来说主笔记是专门有一个分类,叫My Notes。(不清楚我的为什么没有)

添加条目笔记:

链接到指定主笔记位置,主笔记里面还可以设置二三级标题,将条目笔记连接到此

zotero抓取pdf元数据失败

背景:将下载好的pdf导入zotero中,知网抓取元数据失败

方法:

  1. 手动创建条目



  2. 把PDF拖到该条目下

zotero同步

背景

原文链接

zotero同步分为两种:
数据同步和文件同步

数据同步:数据同步内容可以包含文献库的条目、笔记、链接、标签等等。在Zotero中,可以使用Zotero提供的同步服务同步除了附件之外的所有内容,以便在不同的支持Zotero的设备上使用Zotero。英文版内容为:[library items, notes, links, tags, etc.—everything except attachment files]。此外,还可以登录 Zotero.org 在线查看文献库。数据同步是免费和无限的,无需文件同步即可使用。

文件同步:数据同步将同步库项目,但不同步附件(PDF,音频和视频文件,图像等)。官方提供的网盘只有300M,PDF多了后肯定不够用

解决思路

原链接

核心思路:把题录数据和附件分开存储

实际操作

在不同的电脑做好以下操作:

  1. 安装zotero软件、zotfile插件、茉莉花插件
  2. zotero账号注册,同步设置。看下图,有一个框不要勾选

  3. 网盘同步(可以使用坚果云、百度网盘、onedrive等)。我是用的是onedrive,只需要在onedrive中新建一个文件夹来存放pdf文件

  4. 找到zotFile首选项,把上一步设置的文件夹位置填进去,下面的子文件夹命名方式表示作者的姓氏(详细的可以去查一下)

  1. 找到[首选项]->[高级]->[文件和文件夹],把根目录的路径设置为上面的路径,这一步是为了让你的zotero知道附件存储在哪

  2. 将文件移动到网盘,zotero里面只用剩一个链接。可以看到移动后,pdf文件图标左下角有一个链接的图案

  1. 其他设备使用,进入zotero后,点击右边的绿色同步按钮,等待即可

zotero 抓取参考文献

我自己目前大概总结出来了一套方法,以后如果要把论文导入进去,要确保参考文献不出错的情况下,那么首先要保证这个论文的条目信息没有错误,右键-》生成条目报告,就能看到相关信息,就能知道这个这个论文却不缺少内容。

然后,因为只传入pdf,然后自动抓取,一般会缺少很多信息。所以,最好的方法是使用bibtex,次选方法是doi。因为有的论文还没有doi。

关于bibtex,可以不用去官网看,因为有可能会比较慢。如果要批量导入,那么直接浏览器搜索:bibtex 论文名称。 这个时候ai可能会为你查找到bibtex,不过有的可能用的是arxiv的,这个时候可能需要自己去官网下载。然后把多篇论文的bibtex复制到一个bib文件,然后直接导入。这个时候批量生成了条目,然后全选+右键,查找全文,就能获取pdf。但是这个时候,有的可能没找到pdf,原因大概率是bibtex有问题,缺少了url链接。或者这个论文是IEEE等网站,没法直接下载。如果是缺少了链接,那么就去官网找bibtex就好了;如果是IEEE,那需要单独下载pdf,手动添加。

ZoteroV9需要配置的插件

直接从官网下载就好,一共有三个需要下载:

  • Better Bibtex: 9.0.23
  • Translate for Zotero: 2.4.4
  • Zotero Attanger: 1.4.1

Zotero Attanger类似之前的ZotoFile。主要是解决Zotero存储空间不够的问题,因为ZotoFile在高版本的Zotero中不支持,所以重新弄了一个新插件,但是本质是一样的。需要注意的地方如下图所示:两个目录还是和之前一样,Onedrive下的ZoteroPage

另一个需要配置的地方是:常规-》文件重命名-》文件名模板

填写的模板如下:

{{ if itemType == "book" }}{{ itemType localize="true"  suffix="_" }}{{ else }}{{ year suffix="_" }}{{ endif }}{{ title truncate="50" suffix="_" }}{{ if language =="zh" }}{{ authors name="family-given" name-part-separator="" join=" " max="2" }}{{ elseif language =="zh-CN" }}{{ authors name="family-given" name-part-separator="" join=" " max="2" }}{{ elseif language =="zh_CN" }}{{ authors name="family-given" name-part-separator="" join=" " max="2" }}{{ else }}{{ authors name="given-family" initialize="given" join=" and " max="2" }}{{ endif }}{{ if itemType != "journalArticle" }}{{ if itemType == "book" }}{{ year prefix="_" }}{{ else }}{{ itemType localize="true"  prefix="_" }}{{ endif }}{{ endif }}

远程服务器实验记录方案

一般实验是在远程服务器上面进行,所有的数据一般也是在服务器上面被记录。但是为了更好的进行对比,需要将其整理到excel里面。之前的做好是手动在本地构建excel表格,然后把服务器上面的数据复制过来,但是效率非常低。

后面思考了下,可以这样去做,来提高效率:

核心方案在远程服务器上维护一个 experiment_log.csv

设计格式可以参考:

timestamp,dataset,model,pred_len,lr,mse,mae,notes,log_path
2026-07-11 10:00,ETTh1,LSTM,12,0.001,0.452,0.318,baseline,logs/exp_001.log
2026-07-11 10:30,ETTh1,MyModel,12,0.001,0.381,0.285,加了注意力,logs/exp_002.log
2026-07-11 11:00,ETTh1,MyModel,24,0.001,0.402,0.298,调大dropout,logs/exp_003.log

我个人觉得,这个excel表格可以多设计几个,以免弄混淆。例如,Baseline、论文方法多版本对比、各类消融实验

记录方法

  • 模式 A:手动记录

    • 跑完实验后,如果你觉得结果值得记录,在终端执行:python log_exp.py --dataset ETTh1 --model MyModel --pred_len 24 --mse 0.402 --mae 0.298 --notes "dropout=0.3"。这个log.py可以让大模型为我写,可以参考下面这个:
      import csv, datetime, argparse, os
      
      def main():
          parser = argparse.ArgumentParser()
          parser.add_argument('--dataset', required=True)
          parser.add_argument('--model', required=True)
          parser.add_argument('--pred_len', type=int, required=True)
          parser.add_argument('--mse', type=float, required=True)
          parser.add_argument('--mae', type=float, required=True)
          parser.add_argument('--notes', default='')
          parser.add_argument('--log_path', default='')
          args = parser.parse_args()
          
          file_exists = os.path.exists('experiment_log.csv')
          with open('experiment_log.csv', 'a', newline='') as f:
              writer = csv.writer(f)
              if not file_exists:
                  writer.writerow(['timestamp','dataset','model','pred_len','lr','mse','mae','notes','log_path'])
              writer.writerow([
                  datetime.datetime.now().strftime('%Y-%m-%d %H:%M'),
                  args.dataset, args.model, args.pred_len, 
                  '0.001',  # 你可以再加参数,或者从config读取
                  args.mse, args.mae, args.notes, args.log_path
              ])
          print("已记录到 experiment_log.csv")
      
      if __name__ == '__main__':
          main()
  • 模式 B:半自动记录
    在代码里面加一个标志位,也就是通过参数来控制。

  • 模式 C:自动记录最优结果

在训练代码里加逻辑:只有当前结果比历史最优好时,才自动追加记录。

当然,这个逻辑也可以改变。

远程服务器上直接「像 Excel 一样查看」

  • 方法1:直接打开
  • 如果你临时想做个漂亮的对比表,在远程服务器上跑:
import pandas as pd

df = pd.read_csv('experiment_log.csv')

# 生成 pivot 表:行=数据集+预测长度,列=模型,值=MSE
pivot = df.pivot_table(
    index=['dataset', 'pred_len'], 
    columns='model', 
    values='mse',
    aggfunc='min'  # 如果同一配置跑多次,取最优
)

print(pivot)
# 保存为 HTML,在浏览器打开就是表格
pivot.to_html('comparison_table.html')
print("已生成 comparison_table.html,请在浏览器打开")

python -m http.server 8000 # 或者直接用 VS Code 打开 HTML 文件

你在本地浏览器访问 http://服务器IP:8000/comparison_table.html,就是一个可排序、可搜索的对比表格,完全不需要 Excel。

常用软件或IDE

MobaXterm

密钥登录保持长时间连接

Settings->Configuration

postman

模拟后端数据

  1. 选择 Mock Servers。 创建一个mock。记下这个url
    1.png

  2. 在集合里面新建request,
    2.png

  3. 再add example
    3.png
  4. 将之前赋值的url,放上去,可以加一个/test 这个符号。下面可以放数据。浏览器访问这个网址就返回这个数据
    4.png

jupyter

Cell中 Code 和 Markdown的切换

在一个cell中(在command模式下) 按下 y, 进入Code 按下m, 进入Markdown

VSCode

快速重启

打开命令面板:

Ctrl+shift+p

输入:

Reload Window

查询

  1. 寻找文件夹中的文本内容

工具栏,编辑->查找

  1. 查找文件夹中的文件:

ctrl+p

列选择快捷键

保证打开新文件不覆盖旧文件

首先进行搜索,快捷键ctrl+shift+p,在搜索框里输入settings进行搜索,看到User Setting选项,点击打开

打开以后看到如下界面,输入enablePreview(选项在Workbench工作台中)搜索,然后将箭头指示的地方的对勾取消即可,再次打开文件就不会覆盖原窗口文件了

remote ssh无法连接

有时候使用插件remote ssh连接失败,会出现”lockfile” 这个词,解决办法就是在vscode的设置里面搜索”remote ssh:lockfile”,然后勾选。

内网使用VSCode和Remote SSH

步骤1:下载对应版本的VSCode和插件

假设内网是win7,查询后,因为vscode从1.71版开始不在支持Windows 7了,只要下载支持Windows 7的老版本的vscode就可以了
下面这个链接是下载v1.60版本
https://code.visualstudio.com/updates/v1_60

找到这个版本的发行时间,查看vscode版本号
方法为:点击help—about, 即可查看版本号和发布时间

找一个发布时间和要安装remote-ssh插件的vscode版本的发布时间差不多的版本。

比如我的vscode发布时间大概为2年前,则我选了0.66.0版本,不用点击,只需要记住版本号!!!!

将下载链接 中的 0.108.2024010515 改为 0.66.0 https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-vscode-remote/vsextensions/remote-ssh/0.108.2024010515/vspackage 变成 https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-vscode-remote/vsextensions/remote-ssh/0.66.0/vspackage 再粘贴到浏览器中,成功下载0.66.0版本的remote-ssh

步骤2:本地win7安装SSH服务

如果遇到下面的报错信息:
“An SSH installation couldn‘t be found”

说明本地win7没有安装SSH服务,操作系统版本问题。Windows 10 默认安装 SSH,但 Window 7 不会。因此,手动安装一下 SSH 就好了。

64位下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases/download/V8.6.0.0p1-Beta/OpenSSH-Win64.zip

32位下载地址::https://github.com/PowerShell/Win32-OpenSSH/releases/download/V8.6.0.0p1-Beta/OpenSSH-Win32.zip

电脑如果是 64 位操作系统,就将下载的安装包解压后放到 C:\Program Files 文件夹下;电脑如果是 32 位操作系统,就将下载的安装包解压后放到 C:\Program Files (x86) 文件夹下。

然后添加到环境变量:

点击新建,添加 C:\Program Files\OpenSSH-Win64(32 位操作系统就是 C:\Program Files (x86)\OpenSSH-Win32),然后确定,最后保存即可。(如果不是如下界面,那就直接在分号后面添加路径)

步骤3:远程端安装服务
问题:

VS Code配置并连接远程服务器报错,Error: Running the contributed command: ‘_workbench.downloadResource’ failed

原因:
内网,无法下载

解决:
找到报错日志里面的COMMIT_ID,下面举个例:

2aeda6b18e13c4f4f9edf6667158a6b8d408874b

外网下载

https://update.code.visualstudio.com/commit:2aeda6b18e13c4f4f9edf6667158a6b8d408874b/server-linux-x64/stable

下载完毕后,将下载的文件upload到Remote Server的~/.vscode-server/bin/xxx文件夹下,同时删除其他文件,最后再使用tar -xvf vscode-server-linux-x64.tar.gz —strip-components 1解压文件

Markdown

添加编号,生成目录

Markdown默认是没有编号,生成的pdf也没有目录。为了美观,可以添加上。

Vscode插件:Markdown All in One

使用方法:

Ctrl+Shift+P 或者 View->Command Palette。

然后选择下面这两个进行编号生成和目录生成:

IDEA

springboot中的pom.xml没有变蓝色

新建一个springboot项目,pom.xml没有变蓝色,前面没有蓝色的m。也不能run和debug。
解决办法:

intellij idea折叠文件夹展开


intellij idea快速生成main方法、for循环、out输出

Ctrl+d

替换指定内容

idea替换快捷键有两种:1、“ctrl+r”快捷键,用于当前文件内容替换,指的是在当前打开的文件中替换匹配的字符,只操作一个文件;2、“ctrl+shift+r”快捷键,用于在路径中替换。

快速添加 getter、setter 方法

Alt+Insert

代码对比工具

sublime

SSH客户端

MobaXterm

选择它的原因是因为可以直接将windonws下的文件拖拽过来,不用通过专门的传输软件(xftp),且不用命令可以看到目录结构

复制

不用设置,MobaXTerm 里面选取内容就已经复制了,如图,白色的内容就已经成功复制了哈哈哈哈,真方便。

如果不行,看看是否是这里没有勾上(在 setting 里的 Configuration里面):

粘贴

MobaXterm默认的复制键不是 ctrl+v,当初复制服务器密码的时候老出错,一度怀疑密码错了。
这个快捷键可以设置

好了,现在 复制-粘贴 就是:选中,Ctrl + V

下载文件到本地

选中目标文件,右击 ,Download。

修改字体

修改完成后要重新新建会话才会生效。

Everything

很多文件搜索不到

工具->选项->左侧找”索引”->点击里面的”强制重建”

可解决这个问题,以避免卸载重装

浏览器搜索技巧

使用引号精确搜索(“”)

当我们搜索特定内容时,可以是用双引号包裹索引内容,以减少Google搜搜的猜测。

“learn JavaScript array”

使用连字符排除内容(-)

有时候,我们搜索的内容可能有多层含义,或者不想看到和某个信息相关的搜索,就可以使用连字符进行排除。​

JavaScript -wikipedia

使用星号填充内容(*)

比如在搜索时,只记得其中一部分内容,另一部分忘记了,就可以这样用。

我们忘记了Git中撤销commit命令的第二个单词,可以这样搜索:

git * —soft HEAD^

搜索指定范围(…)

可以使用…来搜索指定数字范围的内容,这些数字可以是年份、版本等。​

JavaScript in 2021….2022

搜索指定站点内容(search:)

可以使用 search:网站域名 搜索内容 的形式来在指定网站内搜索内容。​

在W3C中搜索:search: w3schools.com javascript Array

搜索指定文件类型内容(filetype)

React ebook filetype:pdf

查找多个关键字(AND)

React AND CSS

查找其中一个关键字(OR)

React OR Vue

查询关键字的定义(Define)

Define: JavaScript

搜索相关内容(+)

CSS style+React

查找相似网站(related)

related: w3schools.com

搜索指定站点内容(site)

可以使用site关键字来搜索指定站点中的内容。​
site: github.com React

搜索指定时间范围(before、after)

搜索:after: 2021 learn react

Microsoft

visio

快捷键集合

箭头反转

点箭头,然后Ctrl+h即可

Word

项目封面问题


封面经常会对不齐,可以新建一个3列表格。在表格里面调整对齐。

显示word文档所有格式

在模板处直接改动,会出现格式突然不一样,即使只粘贴文字也不行;如果自己制作格式,有可能不知不觉会影响其它部分的格式。

公式添加编号并右对齐

在公式内部的末尾添加:#(1)

还是按照模板的要求制作格式,最后两个相互对比

先看下效果图
Snipaste_2022-06-10_09-32-53.png

光标指到那一部分就显示那一部分的格式。

如何制作:

  1. 打开word软件,菜单栏中选择“文件”,在弹出的界面中,选中“选项”。
  2. 在弹出的word选项属性中,点击选择“自定义功能区”。
  3. 在选择命令区中,下拉列表框,选择“不在功能区命令”,按字母排序的顺序,在列中快速找到“显示格式”,
  4. 在右侧的中,选择主选项卡,展开视图——显示,并选中。
  5. 再点击新建组,输入名字“显示格式”,然后点击添加,将显示格式添加进去,然后确定。
  6. 接着我们就可以在视图中找“显示格式”,点击起用显示格,在右边就可以看到显示格式的属性。

Word中插入公式后行距变大的解决办法

撰写论文时,在word中插入公式后,行间距变大,与纯文字的行间距不一致,解决办法如下:

光标定位到出现异常的段落,右键选择“段落”→“缩进和间距”,找到间距下面的“如果定义了文档网格,则对齐到网格”,取消勾选即可。

如何插入多行公式

输入第一行公式,第一行公式尾部输入#,按回车。如果不行的话就按 shift+回车

如果公式没法居中,鼠标放置在公式任意位置,右键,取消勾选扩展到页/列宽度;

鼠标放置在整个公式的尾端(非单行的尾端),输入 #(1) ,并回车,1为公式编号;

在每行等号后输入 & ,进行对齐,或鼠标放置等号后右键,点击在此字符处对齐。

插入多行公式,第二行的公式只显示一部分

解决办法是把行距改为单倍行距

PPT

Excel

visio

添加连接点,并且与另一个连接点对齐

原链接

  1. 点击工具上的这个 X 形工具。可以看到,最左边的矩形只有一个连接点,为了画出需要的框图,需要手动添加四个连接点。

  1. 选中不需要添加连接点的那个图形(这里以中间部分最上方第一个矩形为例,选中它)。然后点击工具里的连接线

  1. 从选中的那个矩形最左边的连接点引出一条水平的连接线(把鼠标移动到那个连接点出,看到连接点变绿之后,按住鼠标向左拖动一段,然后松开鼠标),效果如下

  1. 把鼠标光标移动到绘图区域上方的刻度上,然后向下拉出一条参考线,使参考线和刚才引出的水平连接线重合。(刻度就是红箭头所指的那个)

  1. 先按住ctrl键,滑动鼠标滚轮,将图像放大,方便操作。然后继续按住ctrl键,移动鼠标到参考线和左边竖长的那个矩形的交点,看到它变白之后点击一下,对齐的连接点就添加成功了。

这一步很关键,如果连接点添加到了参考线,那么是无法连接的,要确保连接点添加在形状上,可以通过放大,找打参考线和形状的交接点,然后多点几次鼠标找一找

输出矢量图

首先“ctrl+A”,然后选择“另存为”,保存类型选择“Tag图像文件格式”,接着在输出里面设置,压缩格式选为“LZW”,接着是“256色”,然后选择“打印机”,下面是“源”,然后点击确定就可以了。这样绝对是满足投稿要求的,分辨率为300dpi。

插入公式

  1. 使用wps自带的公式编辑器

首先打开Visio,任意新建一个Visio绘图。点击插入——对象——WPS公式3.0,最后点击确定,会弹出WPS的公式编辑器。
在公式编辑器中,输入自己想要的公式后,点击关闭窗口,即可成功插入公式。

  1. 使用mathtype(推荐)

打开Visio,任意新建一个Visio绘图。点击插入——对象——MathType 6.0 Equation,点击确定,会弹出MathType公式编辑器。

不小心关闭了某个页面

恢复:

ctrl+shift+t

快速开启powershell

在需要启动powershell的文件里面

shift+右键

相机

相机参数设置

拍照注意事项

色温和白平衡

【终于有人把色温和白平衡说清楚了,摄影入门必看!】 https://www.bilibili.com/video/BV1oU421Z7vF/?share_source=copy_web&vd_source=0aac08942099868c6eaf781c9de8ebb1

色温

色温:环境中客观存在的光源颜色(温度的颜色)

物体在不同温度下有不同的颜色,比如加热一个物体,会从红到黄到白到蓝。物体在不同温度产生的颜色成为色温,单位:K

K值越低,色温越暖(红色就是低色温,蓝色是高色温)。简单的口诀是:炉火纯青

白平衡

白平衡:人为控制的相机设置。根据环境的色温来校准相机的颜色,还原物体现实中的颜色。

因为白平衡的k值和色温是相反的,除非物体是白色,两者数值是相同的。否则应该是相反的,一个高,另一个低。

白平衡一般只能在冷暖色调上偏移,如果画面偏绿,就要用到色彩偏移,色彩偏移能够调整出不同风格的照片。(蓝绿色调小清新风格—左上、红绿色调港风—右上、蓝粉色调法式—左下、红粉色调—复古)


色彩偏移

透视感

透视感:画面出现近大远小的现象

如果拍出比较强的透视感,广角镜头靠近拍,长焦镜头离远拍。


文章作者: Jason Lin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 reprint policy. If reproduced, please indicate source Jason Lin !
  目录