摘要生成中...
AI 摘要
Hunyuan-lite

记得在大一刚开始学计算机时,每次配置环境都很头疼。我们对着老师给的冗长的说明书或掉帧的录屏一步一步操作,不知道啥含义,反正照着做就对了。VSCode 的配置就是这样一个例子。本文将以我平时 VSCode 配置过程为例子,讲解这些步骤都是什么意思。

我们可以在 VSCode 项目中新建 .vscode 文件夹,用于存储本项目中的自定义配置。

tasks.json 任务配置

在 Visual Studio Code 中,tasks.json 是一个配置文件,用于定义和管理各种开发任务。我们可以自行在在项目的 .vscode 文件夹(没有就创建一个)中,添加 tasks.json。下面是一个 Latex 编译任务的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"version": "2.0.0",
"tasks": [
{
"label": "compile-thesis",
"type": "shell",
"command": "cd 'd:/uuanqin/Desktop/ustcthesis' && xelatex main.tex && bibtex main && xelatex main.tex && xelatex main.tex",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [],
"detail": "PowerShell版:执行xelatex+bibtex+xelatex+xelatex完整编译"
}
]
}

参数解释:

  • type 参数:每个任务都有一个类型,VSCode 为 tasks.json 提供了一些内置类型支持。用户自定义的任务一般使用 shellprocess 类型。
  • label 参数:这是任务的名称,用于标识任务,没有特殊作用。
  • command 参数:这是关键参数,表示传给 shell 的命令。
  • args 参数:这是 command 后面所跟的参数。
  • group 参数:设置任务的组,这样我们可以在命令面板执行组的命令。这里设置为 build 构建组,这样我们可以通过快捷键 Ctrl+Shift+B 打开面板执行任务。isDefault 的配置可以让我们通过快捷键直接执行任务。同一个组中只能有一个默认任务。
  • problemMatcher 参数:错误匹配规则。
  • detail 参数:任务描述信息。

更多参考:tasks.json schema

与例子相关的信息

使用 USTC Latex 论文模板 写论文时,如果出现参考文献编译不出来,请使用 xelatex+bibtex+xelatex+xelatex 步骤进行编译。

参考:为什么我编译main.tex不生成main.bbl文件 · Issue #363 · ustctug/ustcthesis

settings.json 自定义插件设置

VS Code 的核心优势之一在于其高度可定制性,通过配置文件,我们可以将编辑器调整为最适合自己的工作流的状态。

VS Code 提供了多种配置方式,主要分为图形化界面配置和 JSON 文件配置两种。配置的层级结构决定了优先级:

  • 默认设置(Default Settings):VS Code 内置的默认配置。
  • 用户设置(User Settings):针对当前用户全局生效的配置。
  • 工作区设置(Workspace Settings):针对当前打开的工作区(项目)生效的配置,优先级高于用户设置。
  • 文件夹设置(Folder Settings):在工作区内的特定文件夹生效的配置(多根工作区)。
  • 语言特定设置(Language Specific Settings):针对特定编程语言的配置。

优先级顺序:文件夹设置 > 工作区设置 > 用户设置 > 默认设置。

打开方式为 Ctrl+Shift+P 搜索相关以下词条即可。工作区设置配置方法还可以是在 .vscode 文件夹中自己建一个 settings.json

扩展的配置通常有两种方式:

  • 通过 settings.json: 大多数扩展的配置项都遵循 扩展名.配置项 的格式。
  • 通过扩展专属配置界面: 有些扩展会提供自己的配置 UI。

下面是 Latex Workshop 拓展的配置示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-encoding=utf8",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "powershell",
"args": [
"-Command",
"cd 'd:/uuanqin/Desktop/ustcthesis'; bibtex -encoding=utf8 main"
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "only bibtex",
"tools": [
"bibtex"
]
},
{
"name": "latexmk (xelatex)",
"tools": [
"xelatexmk"
]
}
],
"latex-workshop.latex.recipe.default": "xelatex -> bibtex -> xelatex*2"
}
与例子相关的信息

拓展 Latex Workshop 配置详看:Home · James-Yu/LaTeX-Workshop Wiki

本文参考