[编程开发] VS Code和Visual Studio哪个合适写C++?

[复制链接]
cn521 发表于 2023-10-3 19:19:46|来自:中国 | 显示全部楼层 |阅读模式
VS Code和Visual Studio哪个合适写C++?
全部回复5 显示全部楼层
tianyahaig2000 发表于 2023-10-3 19:19:52|来自:中国 | 显示全部楼层
我也不算多资深的C++程序员。只不过在C++这行工作了十多年吧。
2007年入行游戏行业,上手MFC,开发游戏也用的是Direct,OpenGL,那时候还用Visual c++ 6.0作为培训教材。我也是一直用C++开发,当然,Object-C,Java,C#,Lua,Python游戏开发这些都用过。但是我主要开发还是C++领域的,服务端客户端都做。偶尔写写汇编也是有的。
回到正题。Visual Studio 2010那时候的版本,安装基本要一下午,如果不小心配置错误了,拔插插件都是头很大的问题。当然,现在大家都用Visual Studio2022了,安装也快了,插件错误,不会配置大不了重装也不过几分钟。但是,里面可以设置的东西实在太多了,对于从2007年选了C++开发就不愿意转行的我,就想学一门语言用到老,不想整天看到这里插件更新,那里设置更新,什么一直更新一直从新改习惯学习,这就是使用Visual Studio最大的麻烦了。当然,MFC开发目前很少有人提起了,可能作为教材都没人看了吧。因为Visual Studio另一大优势就是集成了MFC的库。最后,还有一些神奇的服务端远程调试工具,反汇编调试工具,这些东西,感觉上比VSC强大。因为我也是个老顽固,接受新东西很慢了,所以VSC要个功能就要我去装插件,找插件,我也觉得很烦,况且还是一堆同名的插件,遇到我选择忧郁症,真的是糟透了……所以以上的是Visual Studio的优势和劣势。
但是,VSC真的很轻量级,另外在Windows下开发的时候,也有插件帮你编译和配置,例如我现在开发UnrealEngine的插件,VSC用起来就很便捷,很轻量,不会CMAKE,makeFile也可以正常开发;同样用Visual Studio的话,不装VC番茄助手,代码跳转非常坑爹,装了,启动工程非常慢……坑了大爹。所以,具体不是什么非常特定的情况,VSC足够用了。(VSC让我感觉像是eclipse换皮来的)当然,VSC因为功能更轻量化,所以上面的插件也很多年轻人喜欢的 界面美少女皮肤啊,动态美少女声音提示啊,甚至CHAT GPT接入的AI辅助插件都是有的,这些优势,目前Visual Studio上面没有。
所以,总体来说,推荐VSC开发C++,不是为了潮,而是因为国内真的很少高端开发的必须用到Visual Studio的。而且VSC的开发习惯在Linux上也可以用啊。应用面更广。
(PS:心里还是对Visual Studio有感情的,毕竟用的久,对老工具比较忠爱,但是VSC真的很轻量,启动很快,就是偶尔调试信息无法准确命中等小毛病。还是推荐广大的年轻朋友用VSC。)
zyhzsz 发表于 2023-10-3 19:20:33|来自:中国 | 显示全部楼层
正经干活,用啥都行,VSC更实用一些。
因为企业项目,编译环境一定都有人帮你搭好的。没搭好问问前辈就行,正经公司不会让哪个新程序员进C++项目在搭环境问题上卡壳的,真不懂可以找前辈问呀。
所谓的VS全集成,这种优势对于大多数职业程序员来说毫无意义。说的就好像哪个正规项目没有编译环境似的。现在的CI/CD哪个不是代码提交就直接编译部署?连编译环境都搞不定的话这个公司干脆别做软件了。
相反来说,VS的集成优势仅仅适合开发Win应用。开发绝大多数其它应用根本就用不着VS自己的编译器,那反正都是要完善自己的构建系统的,VS跟VSC在这一点方面并无明显区别。
那么,你觉得现在C++的主要领域是啥呢?服务器后台开发,还是工控嵌入式?这些领域都用不上VS的编译器啊,因为他们就根本不在Windows平台跑,他们必须用目标平台的编译器,那VS能有啥优势?
游戏现在已经不是C++为大了,反倒是C#更吃香。或者整体来说在Windows下做界面,C++都不吃香了,你用到C++的大多数场合,基本上都是不需要Windows平台的场合。自然,VS在C++领域就逐渐式微了。——当然,VS本身还是有用的,我建议搞C#,python,互联网前端的程序员适当考虑用它,但C++就真没必要用VS。
<hr/>其实个人还是推荐vsc,因为生态。
插件生态,贡献者活跃度,这方面vsc确实甩vs几条街。而且随着时间的推移,这方面vs跟vsc的差距会越来越大。
一群老顽固都从SI切换到vsc这不是没有道理的。
zijiang 发表于 2023-10-3 19:21:33|来自:中国 | 显示全部楼层


GDB断点调试



Valgrind内存分析

C/CPP开发,推荐试试免费开源跨平台的Qt Creator,可以单独下载(最新版200MB左右),不需要安装Qt SDK。Qt Creator内置了CMake构建支持、GDB调试前端,和Valgrind内存分析前端,甚至还支持VIM编辑模式,自动提示、代码跳转、符号列表等IDE特性更加不在话下。很多Linux上的C/CPP开发者都使用Qt Creator这个IDE。
Linux上使用Qt Creator进行C/C++开发另外,编辑器的话推荐Geany,一个号称轻量级IDE的代码编辑器,也支持自动提示、代码跳转、符号列表等功能。
geany作为Python的编辑器好用吗?
rainpower 发表于 2023-10-3 19:21:43|来自:中国 | 显示全部楼层
如果你的 C++ 项目比较简单(比如只是命令行程序,不涉及UI),或者说必须跨平台(比如需要在 Linux 上运行),那么 VSCode 就足够了。虽然 VSCode 并不是功能完整的 IDE,不过应付这样的需求是没问题的。更何况敲命令、手写 Makefile 或者 CMakeList 本来就是 Linux 编程的必备技能。
如果你的项目很大很复杂,那么 VSCode 可能会力不从心。这时候你需要更专业的 IDE。简单来说:

  • 如果你的程序只在 Windows 平台上运行,那么首选 Visual Studio;
  • 如果你的程序需要在 Windows 以外的平台运行,那么首选 CLion。
另外,因为 Windows 平台对命令行极不友好,所以新手使用 VSCode 在 Windows 下编译运行可能会有些麻烦。建议直接用 WSL 环境,体验会更好。
龙一品 发表于 2023-10-3 19:22:19|来自:中国 | 显示全部楼层
根据我的个人体验,目前vscode最适合写的语言是typescript, python和java。写这些语言你会觉得跟IDE差比不大,尤其是ts和py,在有些方面比IDE还好的多。主要是因为那俩是脚本语言,vscode配置很简单。
至于c++的话,即使你用vs写也很复杂,我倒觉得不如直接上vscode。我依稀记得我第一次配置opencv的c++环境的时候,直接配置了一周,编译好了库,又不知道怎么链接库,弄得我心力憔悴。最终跑成功一个demo,我发现时间已经过去一周半了。
有人说vs是集成开发环境,比vscode省心。我觉得是这样,但是这必须有个前提: 你已经踩过命令行编译c++程序的所有坑了。否则你用vs,还是会踩坑,而且你到时候踩了坑都不知道坑叫什么名字,因为环境都是集成的,你根本不懂那个IDE到底哪里出了问题。
用vscode开发c++,你需要先学gcc, makefile, cmake, c++的编译过程,如何链接库,如何引入头文件,以及如何配置vscode中的launch.json, task.json和c_cpp_properties.json。这些都弄完可能需要好几天,可是你得踩完这些坑,再去用IDE,日后才会省心。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则