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 条回复
aguesuka
2021-07-08 10:25:05 +08:00
用 Clion, JetBrains 家的产品可以试用, 如果不想付钱的话 EAP 版本是免费的
xuboying
2021-07-08 11:11:55 +08:00
vscode + GitLens + Git Graph 插件
vscode 也可以换成 codeserver,和 vscode 一样,换成在浏览器里使用
bfdh
2021-07-08 11:38:53 +08:00
不习惯 gdb 命令行的话,可以试试 insight,这个是 GUI 的
编译感觉直接命令行 make 挺方便的,反正会报具体错误代码、行号。
gitkraken 我也才刚开始用,但是感觉好像又没什么用,直接 git 命令行我也觉得够我用了。
另外,gitkraken 6.5.1 免费版支持私有库,这样可以不用付费了。
dancewhale
2021-07-08 11:42:12 +08:00
@wudicgi tortoiseGit 的话 emacs 的 magit 更加好用 就是学习门槛比较高
b0644170fc
2021-07-08 11:48:48 +08:00
JetBrains 家的产品
foxtalk
2021-07-08 12:43:11 +08:00
vscode 就够用了
sampeng
2021-07-08 14:49:36 +08:00
我用了大概 3-4 年的时间主力用 linux 做研发工具。然后公司奖励给奖励了一台 mac 后。。。。真的再也回不去了。我就是想写个代码,偶尔敲一下命令,不要突然弹出来窗口说隔壁养的猪被树上了的窗口。mac 完美满足了所有需求。。linux 嘛,界面是有点烂。vim 折腾好了也不错。但真比不上 ide 香,我只是想写代码养家,不想炫技。clion 可以是可以,但字体的问题。ubuntu 看着非常不爽。
jaoyina
2021-07-08 17:09:40 +08:00
Windows wsl2 了解下。完美支持 vscode
mijazz
2021-07-08 17:25:00 +08:00
我来歪个楼哈哈哈哈, 虽然我也是 linux 桌面 jetbrains+vim+git cli, 但是你要不要试试 sublime merge 呢
speedofstephen
2021-07-09 08:23:42 +08:00
linux 图形界面有那么烂么? Mac 没有深度使用没有发言权。近几年来说,Windows 的图形界面哪里比 linux 有优势呢? 现在 gnome 和 windows 基本功能使用起来基本没什么区别,虽然没有 QQ,微信。但是包管理,终端更好用算是扳回一城. 我现在在研究 I3WM 。虽然还不太熟练,但是可以预见,再付出一定的时间和学习成本,效率超过 windows 是没问题的,至少对我而言。
psklf
2021-07-09 10:09:12 +08:00
Linux 下工作三年,且有小组同事参考。

关于 IDE 你大可以把市面上的有的都试试,我们同事用 CLion Qt 或 VS Code 都有,看起来 vs code 更受欢迎。我本人使用 Vim 加若干插件进行开发工作,调试基本靠 print

git 问题不讨论,我们都只用命令行,普遍用图形界面的人更容易出错,用命令行更知道自己在做什么。
piping
2021-07-09 10:14:54 +08:00
Linux 下最好用的开发软件都是在终端里用的,熟练使用的话能有行云流水的工程体验,基本上底层内核软件到上层应用都可以调试,比 windows 下开发不知强几倍。

最基本的需要掌握的工具有 tmux, git, vim, bash (需要看视频,文档,别人分享的使用心得,英文资料很多,中文资料确实少),可能需要一个星期的自主学习

@wudicgi

1. 编译源码自动跳转报错文件怎么做?

vim 有自带的 quickfix,编辑里 :make 以后 gcc 报错会显示在 quickfix 里,:copen 可以查看,鼠标点击可以跳转到目标位置。其他语言或者构建系统也可以查看 vim 的文档做工具匹配。另外可以配置自己喜欢的快捷键操作以上所有功能。

2. 如何用 gdb 调试?

简单的有 gdb command 调试应用,Ctrl-x , a 可以切换到 tui 模式看代码。 高级的可以用 vim 自带 TerminalDebug 功能用 vim 打开多个窗口(一个源码,一个 gdb,一个应用输出)的调试

3. Git

git 命令行最简单好用,diff 可以用 `git difftool`, merge 可以用` git mergetool`, 打开 vimdiff 可视化左右对比,vim 也有快捷键 do, dp 可以自动帮你合并文本。

vimdiff 是我知道的终端下最好用的 TUI 调试工具了,基本有 vim 的发行版都有这个命令(等价于 vim -d)
silkriver
2021-07-09 11:09:36 +08:00
我用过 git-cola 你可以试试看
aneostart173
2021-07-14 17:03:30 +08:00
道听途说,在国外如果你不会 emacs 你就找不到 linux 驱动开发相关工作。

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

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

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

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

© 2021 V2EX