使用 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 也执行的拓扑排序任务。

还有一些事情maketasks.json做得更好:

  1. make可以检查文件的时间戳,找出哪些文件已经过时,哪些任务不需要执行。也许您可以使用 tasks.json 中的各种 shell 脚本来做到这一点,但是使用 Makefile 会方便得多。对于包含大量源代码的大型项目,这是一个非常棒的功能,因为您可以节省大量时间,而不是重新构建 100 个不需要的文件。

  2. make包含接口引擎,支持后缀规则,支持通配符。我认为 tasks.json 不支持这一点。您可能可以使用一些额外的 shell 脚本来实现相同的目的,但它不会像 make 那样简洁。

  3. 最后,Makefiles可以在任何有make的系统中运行,因此它独立于VS Code。

如果您正在处理 small/simple 个足够的项目,您完全可以在不使用 make 的情况下处理它。对于大型项目,make 是明智的选择。

在我的大学项目中,我们使用的是 Makefile。我们在 VS Code 上工作,所以我们将 tasks.json 脚本设置为仅使用带有所述 Makefile 的 make 命令。如果你愿意,你也可以这样做。