配置Manim自动编译环境(仅限VS Code Win)
pdcxs
编辑于 2019年12月14日 11:11

每次编译Manim文件的时候都需要输入一堆命令,还需要选择要编译的类,挺麻烦的。而大多数编辑器和IDE(包括VS Code)的python文件运行命令都只是用python运行当前的文件。那么是否可以自定义系列自动编译的命令?

我发现在vs code中支持自定义编译命令。首先,在Manim文件夹下面新建一个.vscode文件夹(如果有就直接打开)。在里面创建一个名为task.json的文件,其内容为(可以从这里直接下载https://raw.githubusercontent.com/pdcxs/ManimProjects/master/tasks.json):

.vscode/task.json

然后再在manim源代码文件夹下面新建一个build.ps1文件(可以从这里直接下载:https://raw.githubusercontent.com/pdcxs/ManimProjects/master/build.ps1),内容如下:

build.ps1

由于我用的是anaconda安装的manim,新建了一个叫manim的环境,因此需要有conda activate manim语句,这里请大家根据自己的实际情况改动或者删除。

之后,用vs code打开manim目录(必需是打开目录,打开单个文件无效),将光标放置到要编译的类中的任意一行,按快捷键Ctrl-Shift-B,就可以选择相应的编译方案进行编译了!(实际上的工作原理是找到当前行,并依次向上找,直到有一行以class开头(不能有空格哦),将这一行从空格到"("之间的内容拿出来作为要编译的类)

注:需要在powershell环境中执行conda activate,如果之前没有使用过的话,会出现导入错误之类的提示,此时需要先打开一个powershell,执行conda init powershell,如果执行还出现问题,很可能是需要设置安全级别,以运行第三方程序,这个这里就不讲了,用必应搜索可以轻松找到解决方案。只需执行一次,之后直接运行就可以了。

再注:由于vs code是跨平台的程序,非Windows用户可以根据这个意思自己设计shell脚本,想来应该不会特别困难。

再再注:代码内容可能会变动,是之后的优化。图片上的版本保证可用,网址版本会逐渐优化。