使用 VS Code 时使用“make”有意义吗?
Is use of `make` meaningful when using VS Code?
使用 VS Code 时,您可以使用 make
完成的操作也可以使用 tasks.json
完成,并且 make
未预安装在 Windows 上。如果您可以强制使用各种 OS 的团队使用 VS Code,是否有任何理由使用 make
?
从表面上看,您可以使用 Makefile 或 tasks.json
来执行各种 shell 脚本。使用 tasks.json
的 属性 dependsOn
,您可以执行 Makefile 也执行的拓扑排序任务。
还有一些事情make
比tasks.json
做得更好:
make
可以检查文件的时间戳,找出哪些文件已经过时,哪些任务不需要执行。也许您可以使用tasks.json
中的各种 shell 脚本来做到这一点,但是使用 Makefile 会方便得多。对于包含大量源代码的大型项目,这是一个非常棒的功能,因为您可以节省大量时间,而不是重新构建 100 个不需要的文件。make
包含接口引擎,支持后缀规则,支持通配符。我认为tasks.json
不支持这一点。您可能可以使用一些额外的 shell 脚本来实现相同的目的,但它不会像make
那样简洁。最后,Makefiles可以在任何有
make
的系统中运行,因此它独立于VS Code。
如果您正在处理 small/simple 个足够的项目,您完全可以在不使用 make
的情况下处理它。对于大型项目,make
是明智的选择。
在我的大学项目中,我们使用的是 Makefile。我们在 VS Code 上工作,所以我们将 tasks.json
脚本设置为仅使用带有所述 Makefile 的 make 命令。如果你愿意,你也可以这样做。