visual-studio-code - 使用 VS Code 时使用“make”有意义吗?
问题描述
使用 VS Code 时,您可以执行的操作也可以执行,make
并且tasks.json
未make
预装在 Windows 上。如果您可以强制使用各种操作系统的团队使用 VS Code,还有什么理由使用 VS Code make
?
解决方案
从表面上看,您可以使用 Makefile 或tasks.json
执行各种 shell 脚本。使用 的属性dependsOn
,tasks.json
您可以执行 Makefile 也可以执行的拓扑排序任务。
还有一些事情make
比tasks.json
:
make
可以检查文件的时间戳以查找哪些文件已过时以及不需要执行哪些任务。也许您可以使用 中的各种 shell 脚本来做到这一点tasks.json
,但使用 Makefiles 会方便得多。对于具有大量源代码的大型项目,这是一个非常棒的功能,因为您可以节省大量时间,而不是重新构建 100 多个您不需要的文件。make
包含一个接口引擎,支持后缀规则并支持通配符。我觉得不tasks.json
支持。您可能可以使用一些额外的 shell 脚本来实现相同的目的,但它不会像它那样简洁make
。最后,Makefiles 可以在任何具有 .的系统中运行
make
,因此它独立于 VS Code。
如果您正在处理一个足够小/足够简单的项目,那么您绝对可以在不使用make
. 对于大型项目,make
是明智的选择。
在我的大学项目中,我们使用的是 Makefile。我们在 VS Code 上工作,因此我们将tasks.json
脚本设置为仅使用带有上述 Makefile 的 make 命令。如果你愿意,你也可以这样做。
推荐阅读
- python - django.db.utils.IntegrityError:表“Event_event”中主键为“1”的行具有无效的外键:
- android - java.lang.reflect.InvocationTargetException 在实现 Room Android 时
- c++ - C++ 标准库是如何在幕后工作的?
- mysql - 检索随机 id_post sql
- python-3.x - findContours() 函数未返回适当数量的轮廓
- java - 如何将 DTO 转换为实体 oneToMany 关系?
- java - Netbeans 中的 JUnit 5 测试
- php - 一般错误:1 没有这样的表:Laravel 单元测试中的用户
- r - pairwise.wilcox.test 如何绘制结果?
- javascript - TypeError:null 不是对象(评估 LoginManager.logInWithPermissions)