Linux 下程序开发的正确姿势是什么?想尽量接近 Windows 下 Visual Studio 和 TortoiseGit 这类工具的体验

2021-07-07 14:29:33 +08:00
 wudicgi
如题,以前一直是在 Windows 平台上开发。
现在有项目需要在 Linux 下进行编译和调试,想了解下正确姿势是什么。

网上搜索看到的一些回答感觉比较偏执,如果在 Linux 中开发时,图形界面程序就是都是垃圾我也就认了,老老实实地去熟悉命令行操作。如果有更方便的、能提高效率的方式,还是很想知道的。

举几个具体操作的例子,可能更清楚些:

1. 在 Visual Studio 中编译之后的警告和错误信息会统一在问题面板中列出,双击就能定位到源码中的位置。
在 Linux 中,一般是怎么做的?直接在终端中看输出的错误信息吗?还是配置一下 VS Code 之类的工具来调用编译,并且把结果按格式显示

2. 在 Linux 中一般怎么调试?如果没用 IDE 的话,就只能直接命令行 gdb 吗?
用 IDE 的话,有什么用着方便可靠的吗?

3. Windows 下我用 TortoiseGit, Linux 下图形界面的 Git 客户端有没有好用的?
SmartGit 还没试,因为定价太高了。GitKraken 刚试过,作为一个订阅费每月 $5 的软件,操作居然会卡,也远到不了 TortoiseGit 的水平
6675 次点击
所在节点    Linux
74 条回复
GeruzoniAnsasu
2021-07-07 21:17:46 +08:00
i2ex 这个时候怎么没人提 mac 了……

我用 mac 的原因就是能提供优良的图形界面同时模拟足够接近的 Linux 环境——只需要起一个 docker 容器就好了

调试可以用 jetbrains+gdb remote,项目平台差异不大的话甚至编译 darwin 的版本来调试就够了,反正看的只是工程里的源码




我在学生时代用了很久的 Linux 桌面,最接近 windows 的体验应该是 qt 和 jetbrains ( clion ),qt 体验要好一点,native,快,clion 卡得我怀疑人生; qmake 项目管理足够简单,基本不用写几行脚本,clion 的 cmake 写到今天还是发愁,能复制粘贴就不重新写。而且 qt community 是免费的,很容易获得。

不过那个时候是没钱,又要 windows 打游戏又要 linux 下开发学习,所以一台破笔记本装双系统,现在解决方式简单粗暴,工作 mac 打游戏 win 台式机,如果需要便携 windows 拿公司的用,实在不行像我同学一样再买台 x1 carbon




经验:

- 工业级 c/++项目 vscode 根本就没用,跟精心调教过的 vim 差不了多少,很多大佬的 vim 是跟手调教了好几年的,对他们来说 vscode 就是玩具。对没有积累的用户来说 vscode 也就稍强一点,但折腾一星期它也脱离不了 __编辑器__
- 从零开始的话 qt 是最最容易的,安装包是 bundle,转换现成的工程也不用多写几行,而且免费,没什么门槛
- clion 功能强大到吊打一切 linux 桌面能用到的软件,diff 工具、git 可视化、编辑器、调试器、profiler…… 它里面随便哪个功能拿出来都能秒掉 Linux 桌面下干同一件事情的其它东西,是最接近 vs studio 的替代品,但即便如此它的体验也还是不如 win 版 clion 的体验,而且要迁移工程会非常繁琐,原来就是 cmake 的工程还好,当你要新写一堆管理上百个源码文件的 cmake 时……喔那可有点恐怖
wudicgi
2021-07-07 21:59:38 +08:00
@felixcode 感觉 V2 上用 Linux 的应该不少,在电子论坛发帖的话,除了搞嵌入式 Linux 的,日常工作基本都在 Windows 上完成
felixcode
2021-07-07 22:07:26 +08:00
@wudicgi
我的意思是长期主用 Linux 桌面的,应该不是那么多的。
现在动不动远程开发,跟 Linux 桌面本地开发体验差太远。
wudicgi
2021-07-07 22:09:23 +08:00
VS Code Remote, CLion, Qt Creator 我都试试,看回复 VS Code 还是可以期待一下
git 客户端我看看 VS Code + 扩展和 JetBrains IDE 内置功能用起来怎么样,sublime merge 看界面貌似还可以,但太贵了

WSL 也还没玩过,可以试试,目前还不清楚要开发的项目能不能用
noroot
2021-07-07 22:12:34 +08:00
windows 上安装 vscode + c/c++ 插件 + remote ssh 插件,linux 上安装 gcc/g++ + gdb + ssh-server 。远程开发就行了。如果代码量大了操作有点卡的话可以分 workspace 来搞。
wudicgi
2021-07-07 22:15:29 +08:00
@felixcode 我其实只要能完成工作就行,远程开发好用的话也不错,不一定非得直接用 Linux 桌面
yanyanlongxia
2021-07-07 22:42:46 +08:00
个人最喜欢 clion
m3s
2021-07-07 22:56:15 +08:00
今天在阮一峰博客上看到一篇文章 可以参考下 https://zws.im/󠁭󠁴󠁳󠁮󠁨󠁶󠁯
liuxu
2021-07-07 23:05:44 +08:00
多年来终于有一个小兄弟戳中了 linux 肚脐眼

建议 ubuntu20.04+vscode+gdbgui+gitkraken
chiu
2021-07-08 00:16:19 +08:00
VSCode + SSH-Remote
p1gd0g
2021-07-08 03:25:15 +08:00
用了五年左右的 linux 桌面。
1. vscode 编译 go,支持错误信息跳转。
2. vscode 调试 go,无需配置,直接打断点 debug 。
3. vscode 自带 git 对我来说足够用了,也可以装插件 gitlen 扩展。

除了国内常用通讯软件缺失,没觉得 linux 开发有什么不爽的。作为一个极端强迫症,我总觉得电脑装了 win 就属于微软了,不受控制,不明白有时 cpu 狂飙是在干什么。

且 linux 可支持的客制化太多了,只要你愿意折腾。像是"窗口置顶"这种 linux 桌面上到处都是的功能,win 上我至今不知道要怎么搞。
c0xt30a
2021-07-08 04:54:43 +08:00
1. 图形界面会分心,直接 tty 下开工。屏幕分两半,左边写代码,右边编译。看右边的编译错误在左边找就好。开发工具可以用 vim 装一些插件就好。
2. 性能要求不高的直接 gdb 。性能要求高的, -O0 就运行不动的或者是数据非常多的,写 log.
3. git 命令行很好用。vim 也有 git 插件。
kasusa
2021-07-08 07:22:13 +08:00
gitkurken 好像是叫这个?章鱼图标。
xcstream
2021-07-08 07:50:47 +08:00
idea 系列 vscode 都很好用
Stoulla
2021-07-08 08:13:19 +08:00
Git 的话,vscode 有个 gitlens 插件也很好用啊
ly841000
2021-07-08 08:19:51 +08:00
visual studio 直接可以开发 linux c++程序
ly841000
2021-07-08 08:21:48 +08:00
visual studio 也可以远程调试, 好像在 vs2017 还是 vs2019 就很完善了, 我一直用这个
sxfscool
2021-07-08 08:59:02 +08:00
vscode + gitlens
lingxi27
2021-07-08 09:52:50 +08:00
clion+git 命令行
rainysia
2021-07-08 10:07:58 +08:00
vscode 是支持的, 至于 git 如果你非要用 GTK 界面的话, 有类似度很近的 smartgit (商业收费), 其他的 git-cola, gitg, giggle, qgit, git dag 等等都差不多.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788078

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX