VSCODE安装

通用界面安装

  • 先下载安装 vscode 点击下载,点击 download for windows,下载exe安装文件,一路next安装完成。
  • 打开vscode,默认是英文界面,如果英文不好希望使用中文界面,可以安装中文插件,在上面输入 chinese,点击选中第一个 chinese(simplified)language,安装插件,重启后界面变为中文,方便使用。

Centos命令行安装

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

on older versions using yum:

yum check-update
sudo yum install code

Fedora 22 and above using dnf:

dnf check-update
sudo dnf install code

参考来源

基本设置

中文语言设置

快捷键 Ctrl+Shift+p

输入 configure display language,选择相应的语言,然后重启 vscode 即可。

设置自动换行

file-> preferences -> user settings: wordWrap设置为on

快捷键

img

  • 基础编辑 basic editing
快捷键组合 功能
ctrl+k ctrl+v 预览
alt + shift + 鼠标左拖 列选择
ctrl + shift + E 资源管理器
ctrl+k ctrl+c ctrl+k ctrl+u or ctrl+/ 注释
ctrl + shift +p 选择解释器

anaconda配置

必装扩展

请在 VS Code 左侧 Extensions(扩展)里安装以下插件:

  1. Python(Microsoft 官方)
  2. Jupyter(Microsoft 官方)
  3. Pylance(Microsoft 官方)
  4. Jupyter Notebook Renderers(可选)

装完即可继续。

识别 Anaconda 环境

打开 VS Code → 按 Ctrl+Shift+P 输入:

Python: Select Interpreter

你会看到类似:

(base)  Python 3.x.x ('base': conda)
(env_rs) Python 3.10 ('env_rs': conda)

选择你的 conda 环境即可(如 base 或你创建的项目环境)。

VSCode打开终端并自动激活 conda

  1. 打开 VS Code 内终端:
    **Ctrl + `**(键盘 1 左边的按键)
  2. 可能第一次不会自动激活 conda,这时执行:
conda init powershell
conda init cmd.exe

然后 重启 VS Code,终端应该能自动出现:

(base) C:\Users\xxx>

如果你用 PowerShell,它应该显示 base 环境。

运行 Python 脚本

你的 .py 文件顶部会看到一个绿色运行按钮:

Run Python File

点击即可使用你选定的 conda 环境运行。

如果没有按钮,请配置默认运行方式:

Ctrl+Shift+P → 输入:

Python: Configure Tests

或:

Run: Run Without Debugging

运行 Jupyter Notebook(.ipynb)

直接在 VS Code 里创建或打开:

xxx.ipynb

右上角会提示选择内核(Select Kernel)

→ 选择你要用的 Conda 环境。

创建专用 conda 环境(建议)

为了保持干净和避免冲突,可新建一个环境:

conda create -n rs python=3.10
conda activate rs

常用包安装:

conda install numpy pandas matplotlib scikit-learn
conda install gdal rasterio -c conda-forge

然后在 VS Code 里按步骤二选择此环境作为解释器。

每次自动使用你指定 conda 环境

如果你有一个项目文件夹,比如 D:\mangrove_project

在该目录创建一个文件:

.vscode/settings.json

内容:

{
    "python.defaultInterpreterPath": "C:/Users/你的用户名/anaconda3/envs/rs/python.exe"
}

这样该项目永远使用你的 rs 环境。

常用快捷键

功能 快捷键
打开终端 Ctrl + `
运行代码 F5 或 右上角运行按钮
选择解释器 Ctrl + Shift + P → Python: Select Interpreter
打开命令面板 Ctrl + Shift + P

python配置

linux环境

    ctrl+shift+s, python
    sudo apt-get install python-pip
    pip install pylint

或conda环境设置好,vscode直接选择编译器即可。

Error: “Visual Studio Code is unable to watch for file changes in this large workspace” (error ENOSPC)

    cat /proc/sys/fs/inotify/max_user_watches
    sudo cp /etc/sysctl.conf /etc/sysctl.conf_backup
    fs.inotify.max_user_watches=524288
    sudo sysctl -p

win环境

vscode在windows下配置python环境

    % 1. install python 
    install python3.7 % with environment path 
    % 2. plugin microsoft
    Ctrl+Shift+X, python % plugin
    % 3. select interpreter 
    Ctrl+Shift+P, Python: Select Interpreter
    % 4. virtualEnviroment
    py -3 -m venv env
    env\scripts\activate
    python -m pip install matplotlib
    % 5. run 
    F5, Debug

两个问题:

  1. 无法加载文件 activate.ps1,因为在此系统上禁止运行脚本
    power shell 管理员身份运行 {\color{blue}set-ExecutionPolicy RemoteSigned},选择 Y
  2. 无法使用建立的虚拟环境,提示 import 失败
    在 setting 下,添加一行
    “python.linting.pylintPath”: “env\Scripts\pylint.exe”

REF

Markdown 配置

为了使用提供对 markdown 的支持,需要安装两个插件,Markdown All in oneMarkdown Preview Enhanced。第一个插件提供了基本的对markdown语法的支持,第二个插件使我们能在vscode中预览markdown文件的效果

参考文献:

  1. 知乎

git 配置

  • 安装 git 命令行工具

  • 点击 git 官网,然后点击 download, 根据自己的电脑,选择相应的版本,我这里是下载的 Windows。网上有很多git工具安装的教程,比较简单,这里不详细记录了。

    img

    注意:一定要记得自己安装的路径!!!

  • 配置 VScode 中的 git

    • 打开 VScode ,依次点击下图中的地方

      img

    • 在输入框中输入 git.path ,再点击第二个地方,打开 settings.json 文件

      img
      img

    • 在 settings.json 文件中,添加 git 的安装路径

      img
      img

    注意:冒号前面是 git.path ,路径是 cmd 文件夹中的 git.exe
    img

    然后关闭 VScode ,再次打开,过几秒钟后,点击左侧的 第3个 图标,也就是下图的第一个地方,发现第2和第3个地方变成了可点击状态,不是暗色的,表明 git 环境配置成功

  • 使用 VScode + git,提交到仓库
    当我们修改代码时,左侧会提示我们哪个文件发生了改动

    img

    点击上图的第3处+ 号,表示 add 命令,如下图,这时,文件被放在暂存区

    img

    在下图的输入框中,输入要提交的备注信息,如 again test ,然后,可以按 Ctrl + enter ,或者点击橙色框中的对号,就是完成了 commit 命令

    img

    接着,点击下图的第一个地方,依次点击拉取、推送,即 pull 命令和 push 命令。

    img

    命令完成后,VScode 对我的 GitHub 账号进行了认证,一步一步进行操作即可。

    img
    img
    img

    去 GitHub 官网,查看仓库,就能发现成功推送上去了!
    img
    至此,大功告成!

参考来源:csdn唯一的阿金

latex 配置

自动连续编译

在 Visual Studio Code (VSCode) 中配置 LaTeX 环境,并实现自动连续编译(xelatex -> biber -> xelatex -> xelatex),需要以下步骤:

步骤 1:安装必要的工具

  1. 安装 LaTeX 发行版

    • 推荐安装 TeX Live、MiKTeX 或 MacTeX(根据操作系统选择)。
  2. 安装 VSCode

    • 下载并安装 VSCode。
  3. 安装 LaTeX Workshop 扩展

    • 在 VSCode 的扩展市场中搜索 LaTeX Workshop 并安装。

步骤 2:配置 settings.json

在 VSCode 的 settings.json 中,配置 latex-workshop.latex.toolslatex-workshop.latex.recipes 以实现自定义编译。

完整的 settings.json 示例

{
  "latex-workshop.latex.tools": [
    {
      "name": "xelatex",
      "command": "xelatex",
      "args": [
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOCFILE%"
      ]
    },
    {
      "name": "biber",
      "command": "biber",
      "args": ["%DOCFILE%"]
    }
  ],
  "latex-workshop.latex.recipes": [
    {
      "name": "XeLaTeX -> Biber -> XeLaTeX (x2)",
      "tools": [
        "xelatex",
        "biber",
        "xelatex",
        "xelatex"
      ]
    }
  ],
  "latex-workshop.latex.clean.fileTypes": [
    "*.aux",
    "*.bbl",
    "*.blg",
    "*.fls",
    "*.log",
    "*.fdb_latexmk",
    "*.synctex.gz"
  ],
  "latex-workshop.view.pdf.viewer": "tab",
  "editor.wordWrap": "on"
}

步骤 3:使用自定义编译

  1. 打开 LaTeX 项目。
  2. 按下 Ctrl + Shift + P(或 Cmd + Shift + P 在 macOS 上),搜索并选择 LaTeX Workshop: Build with recipe
  3. 从弹出的菜单中选择 XeLaTeX -> Biber -> XeLaTeX (x2)
  4. LaTeX Workshop 将自动运行 xelatex -> biber -> xelatex -> xelatex

步骤 4:检查配置

  1. 确保以下工具在系统中可用:

    • xelatex:运行 xelatex --version 验证。
    • biber:运行 biber --version 验证。
  2. 如果编译失败,请检查 .log 文件中的错误信息。

其他注意事项

  1. 实时预览

    • LaTeX Workshop 扩展支持实时预览 PDF,可在侧栏中查看。
    • 可通过 Ctrl + Alt + V(或 Cmd + Alt + V 在 macOS 上)打开 PDF 预览。
  2. 清理临时文件

    • 在编译完成后,临时文件(如 .aux.log 等)会自动清理,可在 latex-workshop.latex.clean.fileTypes 中修改清理规则。
  3. 路径问题

    • 确保 xelatexbiber 可通过终端命令直接运行。如果 VSCode 无法识别工具路径,请手动设置环境变量。

给recipe添加快捷键

在 Visual Studio Code (VSCode) 中,可以为 LaTeX Workshop 的特定编译 recipe 添加快捷键。这需要编辑 VSCode 的 keybindings.json 文件并指定对应的命令。

以下是详细的步骤:

步骤 1:确认 recipe 名称

settings.json 中配置的 LaTeX Workshop recipe 名称需要明确。例如:

"latex-workshop.latex.recipes": [
  {
    "name": "XeLaTeX -> Biber -> XeLaTeX (x2)",
    "tools": [
      "xelatex",
      "biber",
      "xelatex",
      "xelatex"
    ]
  }
]

假设您需要为 XeLaTeX -> Biber -> XeLaTeX (x2) 这个 recipe 添加快捷键。

步骤 2:打开 keybindings.json 文件

  1. 按下 Ctrl+Shift+P(或 macOS 上的 Cmd+Shift+P),输入 Preferences: Open Keyboard Shortcuts (JSON)
  2. 点击打开 keybindings.json

步骤 3:添加快捷键绑定

keybindings.json 中添加如下配置:

{
  "key": "ctrl+alt+b", // 定义快捷键,您可以替换为您想使用的组合键
  "command": "latex-workshop.recipes",
  "args": "XeLaTeX -> Biber -> XeLaTeX (x2)" // 替换为您的 recipe 名称
}

完整示例

假设 settings.json 中的 recipe 配置如下:

"latex-workshop.latex.recipes": [
  {
    "name": "XeLaTeX -> Biber -> XeLaTeX (x2)",
    "tools": [
      "xelatex",
      "biber",
      "xelatex",
      "xelatex"
    ]
  }
]

keybindings.json 中,添加以下配置:

[
  {
    "key": "ctrl+alt+b", // 绑定 Ctrl+Alt+B 作为快捷键
    "command": "latex-workshop.recipes",
    "args": "XeLaTeX -> Biber -> XeLaTeX (x2)" // 绑定到特定的 recipe
  }
]

步骤 4:验证快捷键

  1. 打开一个包含 LaTeX 文件的工作区。
  2. 按下 Ctrl+Alt+B(或您设置的快捷键),查看是否触发 XeLaTeX -> Biber -> XeLaTeX (x2) 的编译过程。

注意事项

  1. 避免快捷键冲突

    • 确保所设置的快捷键未被其他命令占用。如果有冲突,可以选择其他组合键。
  2. 确保 recipe 名称正确

    • args 的值必须与 settings.json 中定义的 recipe 名称完全一致。
  3. 调试快捷键

    • 如果快捷键未生效,可以通过 Ctrl+K Ctrl+S 打开快捷键编辑器,搜索 latex-workshop.recipes 确认绑定。

代码片段

在 Visual Studio Code (VSCode) 中,可以通过设置代码片段 (Snippets) 来快速插入 LaTeX 模板或代码段。

步骤 1:打开用户代码片段配置

  1. 打开命令面板
    按下 Ctrl+Shift+P(或 Cmd+Shift+P),输入 Preferences: Configure User Snippets,然后按回车。

  2. 选择语言
    在弹出的列表中搜索 LaTeX,点击 latex.json 以打开 LaTeX 的代码片段配置文件。如果没有 latex.json,系统会自动创建一个。

步骤 2:添加代码片段

在打开的 latex.json 文件中,按照以下格式添加代码片段:

基本格式

{
  "片段描述": {
    "prefix": "触发关键词",
    "body": [
      "代码的第一行",
      "代码的第二行",
      "代码的其他行"
    ],
    "description": "片段的详细描述"
  }
}

示例:插入 LaTeX 图片模板

{
  "Insert Image Template": {
    "prefix": "imgtpl", // 触发关键词
    "body": [
      "\\begin{figure}[htbp]",
      "    \\centering",
      "    \\includegraphics[width=\\textwidth]{${1:image.jpg}}",
      "    \\caption{${2:Caption text}}",
      "    \\label{fig:${3:label}}",
      "\\end{figure}"
    ],
    "description": "Insert a LaTeX figure environment with an image"
  }
}

示例:插入表格模板

{
  "Insert Table Template": {
    "prefix": "tabletpl",
    "body": [
      "\\begin{table}[htbp]",
      "    \\centering",
      "    \\begin{tabular}{|c|c|c|}",
      "        \\hline",
      "        ${1:Header 1} & ${2:Header 2} & ${3:Header 3} \\\\",
      "        \\hline",
      "        ${4:Data 1} & ${5:Data 2} & ${6:Data 3} \\\\",
      "        \\hline",
      "    \\end{tabular}",
      "    \\caption{${7:Table caption}}",
      "    \\label{tab:${8:label}}",
      "\\end{table}"
    ],
    "description": "Insert a LaTeX table environment"
  }
}

步骤 3:保存并测试

  1. 保存 latex.json 文件。
  2. 打开一个 LaTeX 文件(扩展名 .tex)。
  3. 输入触发关键词(如 imgtpltabletpl),然后按下 Tab 键或 Enter 键。
  4. 模板代码会自动插入,并提供占位符导航(如 ${1}${2})。

功能说明

  1. **prefix**:

    • 触发片段的关键词。
    • 输入该关键词后按 TabEnter 自动插入模板。
  2. **body**:

    • 定义代码片段的内容。
    • 支持多行代码,${n} 用于占位符,按 Tab 可以快速跳转。
  3. **description**:

    • 片段的详细说明,在触发时作为提示信息显示。

扩展功能

1. 自定义片段位置
如果需要更复杂的片段组织,可以为特定工作区单独定义片段。在工作区设置中创建片段文件(如 latex.code-snippets)。

2. 配合 LaTeX Workshop
LaTeX Workshop 插件已内置一些代码片段,您可以直接使用或覆盖它们。

3. 多光标编辑
插入片段后,使用 Tab 键可以快速导航占位符,按 Shift+Tab 返回上一个占位符。

优点

  • 提高编辑效率:快速插入常用模板,减少重复输入。
  • 可维护性高:集中管理代码片段,修改后全局生效。

正反向搜索:

在 Visual Studio Code (VSCode) 中,安装并配置 LaTeX Workshop 插件后,可以实现代码与 PDF 预览之间的双击跳转功能。这包括以下内容:

功能简介

  • 从 PDF 预览跳转到代码
    双击 PDF 预览中的某一位置,VSCode 自动打开对应的 .tex 源文件并跳转到相应行。

  • 从代码跳转到 PDF 预览
    .tex 文件中,光标所在行的位置会在 PDF 预览中同步显示。

1. 安装 LaTeX Workshop 插件

  1. 打开 VSCode。
  2. 在扩展市场搜索并安装 LaTeX Workshop

2. 启用双向同步

LaTeX Workshop 默认支持代码与预览的双向同步,无需额外配置。如果功能未生效,请检查以下设置:

  1. 打开 VSCode 设置 (Ctrl+,Cmd+,)。
  2. 搜索 latex-workshop.synctex 并确保启用:
    "latex-workshop.synctex": true
    

3. 编译时启用 -synctex

确保编译过程中启用了 -synctex=1 参数。默认情况下,LaTeX Workshop 的编译工具会添加此选项。如果您自定义了工具链,请确保 -synctex=1 参数存在。

示例:

"latex-workshop.latex.tools": [
  {
    "name": "xelatex",
    "command": "xelatex",
    "args": [
      "-synctex=1",
      "-interaction=nonstopmode",
      "-file-line-error",
      "%DOCFILE%"
    ]
  }
]

4. 使用双击跳转

  • 从代码跳转到 PDF 预览

    1. 打开 .tex 文件和 PDF 预览(使用快捷键 Ctrl+Alt+VCmd+Alt+V)。
    2. 在代码中点击需要跳转的行,然后按 Ctrl+Alt+J(或 Cmd+Alt+J)。
    3. PDF 预览会定位到对应位置。
  • 从 PDF 预览跳转到代码

    1. 打开 PDF 预览。
    2. 按下 Ctrl 同时双击鼠标预览中的目标位置。
    3. VSCode 将打开 .tex 文件并跳转到相应行。

5. 调整设置(可选)

  1. 确保 PDF 预览使用的是 VSCode 内置查看器:

    "latex-workshop.view.pdf.viewer": "tab"
    
  2. 如果有多屏需求,可以选择外部 PDF 查看器,并配置相应的同步功能。例如,配置 SumatraPDF(适用于 Windows):

    "latex-workshop.view.pdf.viewer": "external"
    

常见问题及解决

问题 1:双击跳转无效

  • 原因:可能是编译时未启用 -synctex=1 参数。
  • 解决:检查工具链配置是否包含 -synctex=1

问题 2:PDF 与代码无法同步

  • 原因:可能是 PDF 文件未使用内置查看器。
  • 解决
    1. 确保设置 "latex-workshop.view.pdf.viewer": "tab"
    2. 重启 VSCode 并重新编译文档。

问题 3:外部查看器同步失败

  • 原因:外部查看器未正确配置。
  • 解决
    配置特定查看器(如 SumatraPDF)以支持反向搜索。

总结

通过以上配置,您可以在 VSCode 中实现代码与 PDF 预览的双向跳转。

通用配置参考文献: REF

连续编译配置(ex1)

ctrl+,打开配置,点击右上角的标签,打开settings.json,输入以下内容:

{
    "workbench.colorTheme": "Default Dark+",
    "security.workspace.trust.untrustedFiles": "open",
    "remote.SSH.remotePlatform": {
        "hky": "linux",
        "dell": "linux"
    },
    "git.ignoreLegacyWarning": true,
    "git.openRepositoryInParentFolders": "never",
    "editor.language.brackets": [],
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "XeLaTeX",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "PDFLaTeX",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "BibTeX",
            "tools": [
                "bibtex"
            ]
        },
        {
            "name": "LaTeXmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        },
        {
            "name": "XeLaTeX -> Biber -> XeLaTeX (x2)",
            "tools": [
              "xelatex",
              "biber",
              "xelatex",
              "xelatex"
            ]
          },
    ],
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
    ],
    "latex-workshop.latex.autoBuild.run": "never",
    "latex-workshop.latex.autoClean.run": "onFailed",
    "latex-workshop.latex.recipe.default": "lastUsed",
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
    "editor.codeActionsOnSave": {},
    "window.zoomLevel": 1,
    "cmake.configureOnOpen": true,
    "editor.wordWrap": "on",
    "editor.minimap.enabled": false,
    "security.allowedUNCHosts": [
        "wsl$"
    ],
    "settingsSync.ignoredSettings": [

    
    ]
}

快捷键绑定(ex2)

ctrl+shift+p搜索keyboard shortcuts json
快捷键配置文件keybindings.json内容如下:

// 将键绑定放在此文件中以覆盖默认值
[
    {
        "key": "F6", // 定义快捷键,您可以替换为您想使用的组合键
        "command": "latex-workshop.recipes",
        "args": "XeLaTeX -> biber -> XeLaTeX (x2)" // 替换为您的 recipe 名称
      },
      {
        "key": "F5", // 定义快捷键,您可以替换为您想使用的组合键
        "command": "latex-workshop.recipes",
        "args": "XeLaTeX" // 替换为您的 recipe 名称
      }      
      
]

魔术命令:

% !TEX program = xelatex\\
% !TEX root = ../elegantbook-cn.tex

快捷键:

  1. 命令面板: ctrl+shift+p, 或 在任意地方单机右键
  2. 添加编译工具,添加编译方案

禁止保存自动编译:

 "latex-workshop.latex.autoBuild.run": "never",

字体加粗(ex3)

在 VSCode 中使用 LaTeX 进行字体加粗以及相关的快捷键设置,

1. LaTeX 字体加粗的常见方法

在 LaTeX 文档中,常用的加粗字体的方法包括:

(1) 使用 \textbf{}
适用于普通段落中的文本:

\textbf{加粗文本}

示例:

这是 \textbf{重要的内容} 需要注意。

(2) 使用 \bfseries 环境
适用于大段文本加粗:

\begin{bfseries}
这是一段加粗的文本。
\end{bfseries}

(3) 在标题中加粗
如在 \section\subsection 等标题中,默认就是加粗格式:

\section{这是一个\textbf{加粗}的标题}

(4) 对数学公式加粗
如果要在数学模式下加粗变量,使用 \mathbf{}

$\mathbf{F} = m\mathbf{a}$

对于非字母符号,可使用 \boldsymbol{}

$\boldsymbol{\alpha + \beta}$

2. VSCode 中的 LaTeX 加粗快捷键

(1) 直接使用 Markdown 风格加粗
如果启用了 LaTeX Workshop 插件,输入 ** 后可以直接包围文本(类似 Markdown 风格),例如:

输入:

**加粗文本**

插件会自动转换为:

\textbf{加粗文本}

(2) 自定义 LaTeX 代码片段
VSCode 允许自定义代码片段来快速插入 LaTeX 加粗代码:

  1. 打开 VSCode 设置,按下 Ctrl+Shift+P,搜索 Preferences: Configure User Snippets
  2. 选择 latex.json,然后添加如下片段:
{
    "Bold Text": {
        "prefix": "bf",
        "body": "\\textbf{${1:加粗文本}}",
        "description": "Insert bold text"
    }
}
  1. 保存后,在 LaTeX 文件中输入 bf 然后按 Tab,自动插入 \textbf{} 代码。

(3) 快捷键绑定 LaTeX 加粗
您还可以在 VSCode 绑定快捷键,直接插入 \textbf{}

  1. 打开 VSCode 设置,按 Ctrl+Shift+P,输入 Preferences: Open Keyboard Shortcuts (JSON)
  2. 添加如下快捷键配置:
{
    "key": "ctrl+b",
    "command": "editor.action.insertSnippet",
    "args": {
        "snippet": "\\textbf{$TM_SELECTED_TEXT}"
    },
    "when": "editorLangId == 'latex'"
}
  1. 现在,选中文本按 Ctrl+B,即可将其包围为 \textbf{}

3. VSCode LaTeX 相关插件
推荐使用以下插件,以提高 LaTeX 编辑效率:

  • LaTeX Workshop(提供语法高亮、自动编译等功能)
  • LaTeX Utilities(额外的片段和快捷方式)

4. 测试示例
完整 LaTeX 代码示例:

\documentclass{article}
\begin{document}

\textbf{这是一段加粗的文本。}

\begin{bfseries}
整段文字加粗示例。
\end{bfseries}

数学公式:$\mathbf{F} = m\mathbf{a}$

\end{document}

参考文献

我的配置

通过快捷键 ctrl + shipt + p,输入 configure snippets,找到 latex.json

{
    "Insert miniImage Template": {
    "prefix": "imgmini", // 触发关键词
    "body": [
      "\\begin{minipage}[t]{0.48\\textwidth}",
      "    \\centering",
      "    \\includegraphics[width=\\textwidth]{${1:image.jpg}}",
      "    \\caption*{${2:Caption text}}",
      "\\end{minipage}"
    ],
    "description": "Insert a LaTeX figure environment with minipage"
  },
  "Insert Image Template": {
    "prefix": "imgtpl", // 触发关键词
    "body": [
      "\\begin{figure}[htbp]",
      "    \\centering",
      "    \\includegraphics[width=\\textwidth]{${1:image.jpg}}",
      "    \\caption{${2:Caption text}}",
      "    \\label{fig:${3:label}}",
      "\\end{figure}"
    ],
    "description": "Insert a LaTeX figure environment with an image"
  },
"Insert quickbird": {
    "prefix": "gf", // 触发关键词
    "body": [
      "\\subsubsection*{商业高分辨率影像}",
      "\\begin{figure}[H]",
      "\\begin{minipage}[t]{0.48\\textwidth}",
      "    \\centering",
      "    \\includegraphics[width=\\textwidth]{../ylqd/${1:}}",
      "    \\caption*{2005年${2:}Quickbird影像}",
      "\\end{minipage}",
      "\\begin{minipage}[t]{0.48\\textwidth}",
      "    \\centering",
      "    \\includegraphics[width=\\textwidth]{../ylqd/${3:}}",
      "    \\caption*{2010年${4:}IKONOS影像}",
      "\\end{minipage}\\",
      "\\begin{minipage}[t]{0.9\\textwidth}",
      "    \\centering",
      "    \\includegraphics[width=0.5\\textwidth]{../ylqd/${5:}}",
      "    \\caption*{2021年${6:}JL-1影像}",
      "\\end{minipage}",
      "\\caption{${7:}高分辨率影像}",
      "\\label{fig.qb.${8:}}",
      "\\end{figure}"
    ],
    "description": "high resolution"
  },
    "New Literature Section": {
      "prefix": "litnote",
      "body": [
        "%%%%%%%%%%%%%%%%%%%%%%%%%%%%",
        "\\newpage",
        "\\section{${1:新文献标题}}",
        "\\subsection{文献基本信息}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item 文献标题:${2:文献标题}",
        "    \\item 作者:${3:作者列表}",
        "    \\item 来源:${4:期刊名称、会议名称或出版机构}",
        "    \\item 发表日期:${5:发表日期}",
        "    \\item DOI 或链接:\\href{${6:http://example.com}}{${6:http://example.com}}",
        "\\end{itemize}",
        "",
        "\\subsection{内容摘要}",
        "\\subsubsection{研究背景}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${7:研究背景内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{核心问题}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${8:核心问题内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{方法与技术}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${9:方法与技术内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{主要结论}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${10:主要结论内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{结果意义}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${11:结果意义内容}",
        "\\end{itemize}",
        "",
        "\\subsection{重要内容记录}",
        "\\subsubsection{关键公式、图表或实验结果}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${12:实验结果内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{重要理论或方法}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${13:重要理论内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{引人深思的观点}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${14:观点内容}",
        "\\end{itemize}",
        "",
        "\\subsection{个人评注}",
        "\\subsubsection{文献优点}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${15:优点内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{文献不足}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${16:不足内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{对后续研究的启示}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${17:启示内容}",
        "\\end{itemize}",
        "",
        "\\subsubsection{可能的改进方向}",
        "\\begin{itemize}[leftmargin=2em]",
        "    \\item ${18:改进方向内容}",
        "\\end{itemize}",
        "\\subsubsection{相关参考文献}",
        "\\printbibliography"
    ],
    "description": "Insert a new literature note"
  }
}

vscode linux latex 配置

    % settings.json for latex-workshop
    {
        "window.zoomLevel": 1.5,
        "editor.fontSize": 16,
        "latex-workshop.view.pdf.viewer": "tab",
        "editor.wordWrap": "on"
    }
    
    % texlive 2019 environment
    export PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH
    export MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH
    export INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH
    
    % settings.json under folder 
    {
        "latex-workshop.latex.tools": [
            {
              "name": "xelatex",
              "command": "xelatex",
              "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
              ]
            },
            {
              "name": "pdflatex",
              "command": "pdflatex",
              "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
              ]
            },
            {
              "name": "latexmk",
              "command": "latexmk",
              "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOC%"
              ]
            },
            {
              "name": "bibtex",
              "command": "bibtex",
              "args": [
                "%DOCFILE%"
              ]
            }
          ],
          "latex-workshop.latex.recipes": [
            {
                "name": "xelatex",
                "tools": [
                    "xelatex"
                ]
            },
            {
                "name": "xe->bib->xe->xe",
                "tools": [
                    "xelatex",
                    "bibtex",
                    "xelatex",
                    "xelatex"
                ]
            }
        ],
        "latex-workshop.view.pdf.viewer": "tab",
        "latex-workshop.latex.autoBuild.run": "never",
    }

c++配置

首先安装 vscode ,安装 c/c++, c/c++ Extension Pack, C/C++ Theme 插件,mkdir cpp, 把days.cpp复制到cpp目录下,打开vscode。以下是配置步骤:

配置c++ IntelliSense

使用F1,打开命令选项,输入 c/c++

选择C/C++:Edit configuration,生成c_cpp_properties.json配置文件。

    {
        "configurations": [
            {
                "name": "Linux",
                "includePath": [
                    "${workspaceFolder}/**"
                ],
                "defines": [],
                "compilerPath": "/usr/bin/gcc",
                "cStandard": "c11",
                "cppStandard": "gnu++14",
                "intelliSenseMode": "clang-x64"
            }
        ],
        "version": 4
    }

配置launch.json

在debug界面中选择添加配置,然后选择才c++(gdb/lgdb)选项,生成launch.json 顾名思义此文件主要服务于调试时的加载控制

    {
        // 使用 IntelliSense 了解相关属性。
        // 悬停以查看现有属性的描述。
        
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}/${fileBasenameNoExtension}",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": false, //设为false时使用集成终端,true为外置终端
                "linux": {
                    "MIMode": "gdb",
                    "miDebuggerPath": "/usr/bin/gdb"
                },
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "build"
            }
        ]
    }

配置tasks.json

在命令窗口中输入task,选择task: configure task选项生成tasks.json文件

    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "-Wall",
                "-std=c++17",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "presentation": {   //控制终端显示
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true
            },
        },
        {
            "label": "run",
            "type": "shell",
            "dependsOn": ["build"],
            "command": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "presentation": {   //控制终端显示
                "echo": false,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true
            },
            //"problemMatcher": [],
            "group": {
                "kind": "test",
                "isDefault": true
            }
        }
    ]
}

按下 F5 开始调试吧,一切就是这么简单,开始美好的旅程。

步骤参考 REF},代码参考 REF

VS2015打包

参考文献:VS2015打包程序发布 – 52117354 – 博客园 (cnblogs.com)

DevExpress 安装并添加到VS工具箱中

参考文献:藏歌倾城

WSL 下的开发调试

在 Windows 上安装过程中务必:

  1. 安装至 C 盘(否则会有路径与访问权限的问题)
  2. 在「选择其他任务」界面勾选「其他」下的全部四个选项(为了后面在 WSL 中直接调用 code 命令来打开 Visual Studio Code 打下基础。)

在 Windows 文件夹与文件中出现的名字不能有特殊符号,包括 Emoji,否则会出现无法识别 WSL 中的 Git 路径和无法打开终端直接进入相应文件夹的问题。

Remote-WSL 插件

需要了解的重要的一点是:VS Code 在 Remote 插件下的使用和在本机下的使用实际上是两个环境,插件系统并不共享。因此,我们一旦开启了 WSL 的 Remote 环境,所下载的插件也都是在这个环境下才能使用的。

REF

连接远程服务器开发

为什么用VScode连接远程服务器开发?

连接远程服务器的方法有很多,比如可以借助XShell、putty等软件使用ssh命令来登录远程服务器。但如果使用这种连接方法在远程服务器上进行开发工作,会来带诸多不便,比如:

全程只能在终端使用指令操作,文件操作麻烦。
写代码不方便,我们可能会先在本地写好代码再使用scp指令把源代码传送到服务器再运行,或直接在服务器上使用Vim或Vi进行编辑,这些操作起来我个人觉得都不顺手。
服务器上的图片无法查看,比如有时候我们的程序最后输出一些图片,我们在终端上无法查看,还要传回本地才能看到。

使用VScode能够很好的解决以上问题,VScode连接服务器后的方便程度和本地开发几乎没有差别!在VScode中编辑代码直接同步更新到服务器上,可以用鼠标在文件目录对文件进行操作,可以查看图片。

安装OpenSSH
该服务的作用是让你可以在终端使用ssh指令,Windows10 通常自带OpenSSH 不需要安装。

Windows10下检查是否已经安装OpenSSH的方法:

按下快捷键Win + X,选择Windows PoweShell(管理员),输入以下指令:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
如果电脑未安装OpenSSH,则State会显示NotPresent

如果未安装,则输入指令:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

安装Remote-SSH
Remote-SSHVScode的插件,安装完VScode以后,直接在插件中搜索ssh,即可找到Remote-SSH,点击install安装。

配置Remote-SSH
安装完Remote-SSH以后左侧会出现一个远程资源管理的图标,选择SSH Targets,进入config配置文件

在配置文件中设置服务器信息,输入HostNameUser,保存以后左侧会出现对应机器名称。

更改设置,File->Preferences->Settings->Extension->Remote-SSH,找到Show Login Terminal并勾选。

连接服务器
点击SSH TARGETS下的服务器旁边的按钮纽行连接,弹出让你输入密码:

在这里可能会弹出让你选择服务器的平台,需要选择以后才会出现输入密码的步骤

成功连上服务器,点击有右侧的+号创建服务器的终端窗口,可以正常使用了!

我们还可以打开服务器的文件夹

打开以后可以看到服务器文件目录,直接在文件目录中选择文件进行编辑,实时同步到服务器上,这时候已经可以开始愉快的进行开发了,开发体验媲美本地开发!

通过跳板机连接服务器
有时候我们需要跳板机来连接服务器,也即先连接一台跳板机服务器,然后通过这台跳板机所在的内网再次跳转到目标服务器。最简单的做法就是按上述方法连接到跳板机,然后在跳板机的终端用ssh指令跳转到目标服务器,但这样跳转后,我们无法在VScode中打开服务器的文件目录,操作起来很不方便。我们可以把config的设置改成如下,就可以通过hky跳板机跳转到gpu了:

Host hky
    HostName xxx.xxx.xxx.101(跳板机IP)
    User lyfeng

Host gpu
    HostName xxx.xxx.xxx.3(内网地址)
    User lyfeng
    ProxyCommand "openssh的安装路径\ssh.exe" -W %h:%p -q hky
    # 连接hky, 再通过hky的局域网ssh到gpu

openssh的安装路径因人而异(我这里是C:\Windows\System32\OpenSSH\ssh.exe

参考来源:知乎

vscode切换默认终端

  • 在终端窗口处点击 + 号右边的 箭头,点击 选择默认配置文件

img

  • 点击选择第二个 Command Prompt 即可切换 cmd 为默认终端

img

  • 切换完成

img

注: 我使用的 VSCode 版本为 :1.95.2
img

同步配置

如果您想在不同电脑之间手动同步 VS Code(或 VS Code IDE 分支版本,例如 VSCodium)相关的配置文件(如 settings.jsonlatex.jsonkeybindings.json 等),可以使用以下方法来实现跨设备同步,既不用依赖 VS Code 内置的“Settings Sync”(或 Microsoft 账户),也可以灵活控制备份与更新时机。

1. 理解 VS Code 配置文件位置

Windows

  • 通常位于
    C:\Users\<YourName>\AppData\Roaming\Code\User
    
  • 在这个目录下可以找到:
    • settings.json:VS Code 的用户级设置
    • keybindings.json:快捷键设置
    • 以及可能的其他配置(如某些插件的局部配置文件)

Linux

  • 一般在
    ~/.config/Code/User
    
  • 或者如果是 VSCodium/Insiders 版,目录名略有差异,如 ~/.config/VSCodium/User.

macOS

  • 默认在
    ~/Library/Application Support/Code/User
    
  • 对于 VSCodium:
    ~/Library/Application Support/VSCodium/User
    

提示:如果不确定,可以在 VS Code 中打开命令面板 (Ctrl+Shift+P / Cmd+Shift+P),输入 “**Open Settings (JSON)**” 直接打开 settings.json 所在文件夹,即可了解具体路径。

2. 手动备份并跨设备复制

  1. 在源电脑上找到配置文件

    • 定位上述路径,复制 settings.jsonkeybindings.jsonlatex.json(或任何您需要同步的文件)。
  2. 拷贝到目标机器

    • U 盘:最简单的方式是将文件拷到 U 盘,然后粘贴到目标电脑对应路径下。
    • 云盘:使用 Google Drive、OneDrive、Dropbox 等放置在一个云同步文件夹,目标机器从同一个云端更新文件。
    • Git 仓库:将这些配置文件放入一个 Git 仓库,目标机器也 clone 同一个仓库并手动 pull 更新。
  3. 在目标电脑覆盖或合并

    • 关掉 VS Code,找到对应的 User 文件夹。
    • 手动将 settings.jsonkeybindings.json 等覆盖过去。
    • 重启 VS Code,检查配置是否生效。

注意同步冲突

如果您在多台设备对相同文件进行了修改,建议使用 Git 方式,并在提交前后及时 pullpush,以减少冲突。当冲突出现时,也可通过 Git merge 做人工处理。

3. 建立自动化同步方案

可以将 VS Code User 目录下的关键文件在本地设置成符号链接,指向一个 Git 仓库中的文件夹:

  1. 创建一个本地 Git 仓库来存放配置文件(例如 ~/vscode-config)。
  2. settings.json, keybindings.json, latex.json 等复制到 ~/vscode-config/ 中并提交到 Git。
  3. 删除原先 User 文件夹中的 settings.json(等文件),然后在同路径处创建符号链接,指向 ~/vscode-config/ 下相应文件。
    ln -s ~/vscode-config/settings.json ~/.config/Code/User/settings.json
    ln -s ~/vscode-config/keybindings.json ~/.config/Code/User/keybindings.json
    
  4. 另一台电脑上做同样的符号链接处理,然后执行 git cloneln -s 指向它。
  5. 当您在任意设备修改 VS Code 设置时,即更新了仓库中的文件,然后 git push;在另一台电脑上 git pull 即可获取更新。

2. 云存储同步

  • 若使用 OneDrive、Dropbox 等,可以将 User 文件夹整体移动到云盘里,然后再用符号链接指向。这样就不用手动 push/pull,每台设备只要安装同款云盘客户端即可自动保持一致。
  • 缺点:有时会出现云端同步延迟或冲突,需要注意及时关闭 VS Code 后再同步,避免文件锁定问题。

4. 常见注意事项

  1. 插件安装

    • 仅靠复制 settings.json 并不会自动安装插件。插件同步需要:
      • 要么手动在每台设备安装相同插件;
      • 要么使用 Extensions: Sync 等方式导出/导入插件列表。
    • 不同操作系统下,某些插件或路径相关配置(如 LaTeX、Python interpreter)可能略有差异,需要酌情调整配置文件。
  2. 平台差异

    • macOS 与 Windows 文件路径格式不同,有时 latex.json 或者 python 路径会在 settings.json 中硬编码绝对路径,需要在同步前注意兼容。
  3. 更新冲突

    • 如果您在多台机器上同时打开 VS Code 并修改了设置文件,手动同步时可能出现冲突,需手动合并 JSON。
    • Git 同步能更明确地提示冲突,云盘方式则可能生成冲突副本,需要手工合并。
  4. 隐私与安全

    • 若配置文件中包含 工作区敏感信息(如 token、API key),请注意在公共 Git 仓库或公开云盘中泄露风险,建议私有仓库或局域网传输。

5. 简要流程示例

以“Git 仓库 + 手动复制”为例:

  1. 在主电脑 A 上,进入 ~/.config/Code/User (Linux为例)。
  2. 复制 settings.jsonkeybindings.jsonlatex.json 到一个文件夹 ~/my-vscode-config
  3. 在此文件夹执行 git initgit add .git commit -m "Initial commit",再推送到私有远程仓库 (GitHub/GitLab)。
  4. 在电脑 B 上,git clone 该仓库到本地 ~/my-vscode-config
  5. 关闭电脑 B 上的 VS Code,把 B 自带的 settings.json 备份或删除,然后复制仓库中的文件到 B 的 ~/.config/Code/User/ 覆盖。
  6. 重启 VS Code,检查效果。

之后,每次只要在任何一台电脑修改了设置,就 git add . && git commit -m "update" && git push;另一台电脑 git pull 后再覆盖或用符号链接方式更新即可。

6. 总结

  • 定位 VS Code 设置文件settings.jsonkeybindings.jsonlatex.json 等)。
  • 选择同步方式:U 盘手动拷贝、云盘自动同步、或 Git 仓库管理。
  • 对插件和平台差异进行兼容处理
  • 确保每次修改后的文件在另一台设备上覆盖或符号链接更新

通过这些方法,可以在 不同电脑手动同步 VS Code 配置文件,在保持灵活可控的同时拥有统一的开发环境体验。

vscode “提取扩展时出错。

问题描述

1.扩展商店搜索扩展,显示“提取扩展时出错。XHR failed”。

img

解决方法

查询ip

先ping一下刚才连不上的网址/域名,看能不能ping通,我是能ping通的
win+R -> cmd -> ping marketplace.visualstudio.com

ping marketplace.visualstudio.com

img

再去站长工具 https://ip.tool.chinaz.com/ 查询真实ip,可以看到是国外ip。

img

修改hosts文件

进入 C:\Windows\System32\drivers\etc ,找到 hosts 文件,用记事本打开,在任意一行写上 刚才的查询的ip地址+空格+连接不上的域名 (一定是你查出来的ip地址),可能需要管理员权限,保存, 重新打开vscode,无效请看第3小点。

img

刷新dns

win+R -> cmd -> ipconfig/flushdns,重启电脑,重新打开vscode,无效看第4小点

ipconfig/flushdns

切换网络

由于学校,公司等单位网络限制,请连接其它网络(wifi,热点等),重新打开vscode,无效请看第5小点

代理问题

首先关闭代理,最好重启电脑,直到能够正常访问网络,然后进入设置,找到网络和Internet中的代理。

参考来源:csdn

GSF IDL 开发

  • axios的安装和使用
    npm install axios -g
    参考文献 breezAm