VS Code是世界上最好的IDE! Visual Studio、Pycharm加载太慢, Vim键盘操作对菜鸟不友好, Jupyter Notebook版本管理混乱, Spyder太鸡肋. 在这几个IDE之间游走了很久, 最后下定决心, 把所有的生产工作全部集中到VS Code上. 优点是轻量化, 跨平台通用, 支持丰富的插件. 下面记录一下当前采用的VS Code配置, 以便以后在新的平台上部署生产力.
远程连接服务器
- 下载插件:
Remote - SSH
. - 在local host上生成
SSH key
, 将SSH key
加入到remote的authorized_keys
中, 即获得访问权限. - 配置local host的
.ssh/config
文件.1
2
3
4
5
6
7Host hh-b.brainpp.cn HostName hh-b.brainpp.cn Compression yes ForwardAgent yes ForwardX11 yes ForwardX11Trusted yes User wayne-fung-v2.fengwei.ws2
- 在VS Code中输入host id, 按
Enter
开始连接. - 打开VS Code下的终端, 如果连接成功的话, 终端的路径就是在remote端的文件夹下了, 同时左下角会显示绿色的成功标识.
- 打开remote的文件夹, 就可以开始工作了.
- 需要关闭远程连接时, 选择
文件 - 关闭远程连接
或者直接关闭窗口即可.
编译LaTeX
- 在本机上下载
TexLive(Windows) / MacTex(Mac)
配置好$LaTex$所需的各种环境包. - 下载插件:
LaTeX Workshop
. - 在
文件 - 设置
中, 打开settings.json
添加以下配置. 这里指定了四种基本的编译器:xelatex
,latexmk
,pdflatex
和bibtex
, 由这四种编译器组成了几种基本的编译pipeline.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111"latex-workshop.view.pdf.viewer": "external", "latex-workshop.view.pdf.external.synctex": { "command": "C:/Program Files/SumatraPDF/SumatraPDF.exe", "args": [ "-forward-search", "%TEX%", "%LINE%", "%PDF%" ] }, "latex-workshop.latex.recipes": [ { "name": "xelatex", "tools": [ "xelatex", ] }, { "name": "xelatex ➞ bibtex ➞ xelatex`×2", "tools": [ "xelatex", "bibtex", "xelatex", "xelatex" ] }, { "name": "bibtex", "tools": [ "bibtex" ] }, { "name": "latexmk 🔃", "tools": [ "latexmk" ] }, { "name": "pdflatex ➞ bibtex ➞ pdflatex`×2", "tools": [ "pdflatex", "bibtex", "pdflatex", "pdflatex" ] } ], "latex-workshop.latex.tools": [ { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOC%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ] } ], "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", "*.spl", "*.synctex.gz", ],
- 若当前选中
.tex
文件, 插件会在左侧栏自动弹出. 如果要把参考文献.bib
的引用也编译进pdf的话, 需要按照latex -> bibtex -> latex -> latex
的pipeline接力编译才行. 另外, 需要注意的是, 如果文中图片是.eps
格式, 则只能用xelatex
编译; 如果是.pdf
格式, 则只能用pdflatex
编译. - 特殊字符提示
Snippet Panel
, 这个好功能一起一直忘了用, 免去了查书的过程. - 一些辅助:
Code Spell Checker
拼写检查,English word hint
英文自动补全(巨好用, 直接导致我不会打英文单词了),latex count
统计写作字数. .eps
格式的图片在编译后可能会出现显示不全的问题. 为此可以先生成该文件的.pdf
版, 再用PS或Adobe Acrobat转成.eps
格式(注意在输出时要选择无压缩无插值保证清晰度). 也可以不经过.pdf
格式, 直接编译, 但需要经由DVI -> PS -> PDF
转换.
Jupyter Notebook
微软2019年10月份新推出的原生功能, 以后再也不用在IDE和Chrome Jupyter之间来回切换了, 图个画图的方便. 不过经过亲测, 还是有一些bug的, 比如刚打开时加载内核非常慢, 写文件时还会遇到权限错误, 后来就弃用了, 还是浏览器的视觉效果要好一点, 应该后续更新会解决这些问题.