一般开发linux cpp程序,用什么开发环境

stub
stub 2020-04-24 字数 144

vs 远程到 linux server上开发? 还是直接linux上用vscode或clion开发。 我本身是不太想用linux gui的。不知道vs 远程到linux server 开发体验如何

@z16166

14 个回复
z16166
Netguy 2020-04-24

我之前测试的结果,是vs的linux开发模块的成熟度不如visual gdb,有bug。

visual gdb是vs的一个插件,需要破解,用这个做嵌入式板子开发是神器。

linux gui也很好的,前提是linux本地gui。如果是在PC X-server上渲染的远程linux的GUI,得看网速。本机的WSL的gui渲染到本机的PC X-server的话,速度可以的(附带说一句,Moba x-term带的PC X-server的速度不行,不如免费开源的那两个PC X-server)

linux本地GUI感觉是QtCreator、CLion、vscode不错,但也看工程的类型,比如是cmake、autotools、makefile的哪种,对工程文件的解析会影响到Intellisense,也就是代码的符号跳转爽不爽。如果搞半天跳不过去的话,太捉急了,一般就弃用了。还有一个要考虑的问题是调试时的变量渲染/呈现,这个也会影响体验。

我这一阵用CLion看一个Makefile(用autotools生成的Makefile)的工程,虽然从Makefile生成了compile_commands.json给CLion当工程文件用,但是符号跳转经常跳不过去,或者resolve卡半天,真的感觉不好。当然,这是别人写的工程,不是自己从头写的。

如果工程规模小,也许vi 外加一些printf都能搞定了

stub
stub 2020-04-24

感谢,很详细。我昨天试了试win下 vscode + remoteSSH + linuxServer, vscode的remoteSSH做的还不错,基本上只是本地有个vscode编辑器,插件,编译环境 都是远程的linux上的。 感觉还不错, 但是发现vscode无法像 IDEA写java那样可以自动import类, vscode无法自动include头文件(也没提示引入哪个头文件,比如使用vector需要手动 #include <vector>)。调用函数名错误的函数也不会飘红线报错。 也没正经写过cpp,所以也不知道工程上写cpp一般是如何搭配环境的。接下来再试试vs + 远程linux server 看看

【 在 z16166 的大作中提到: 】

: 我之前测试的结果,是vs的linux开发模块的成熟度不如visual gdb,有bug。

: visual gdb是vs的一个插件,需要破解,用这个做嵌入式板子开发是神器。

: linux gui也很好的,前提是linux本地gui。如果是在PC X-server上渲染的远程linux的GUI,得看网速。本机的WSL的gui渲染到本机的PC X-server的话,速度可以的(附带说一句,Moba x-term带的PC X-server的速度不行,不如免费开源的那两个PC X-server)

: ...................

z16166
Netguy 2020-04-24

推荐linux上本地用QtCreator,也方便后续学Qt。

有个小问题是,我在QtCreator中调试时,返回到某个函数的上级函数时,经常给我返回到上上级函数了,不知道是不是gdb的问题。代码应该是无优化的编译。

【 在 stub 的大作中提到: 】

: 感谢,很详细。我昨天试了试win下 vscode + remoteSSH + linuxServer, vscode的remoteSSH做的还不错,基本上只是本地有个vscode编辑器,插件,编译环境 都是远程的linux上的。 感觉还不错, 但是发现vscode无法像 IDEA写java那样可以自动import类, vscode无法自动include头文件(也没提示引入哪个头文件,比如使用vector需要手动 #include <vector>)。调用函数名错误的函数也不会飘红线报错。 也没正经写过cpp,所以也不知道工程上写cpp一般是如何搭配环境的。接下来再试试vs + 远程linux server 看看

hgoldfish
老鱼 2020-04-24

在上线函数再打个断点不就行了。

【 在 z16166 (z16166) 的大作中提到: 】

: 推荐linux上本地用QtCreator,也方便后续学Qt。

: 有个小问题是,我在QtCreator中调试时,返回到某个函数的上级函数时,经常给我返回到上上级函数了,不知道是不是gdb的问题。代码应该是无优化的编译。

z16166
Netguy 2020-04-24

是可以这么做。

但就是对这个现象没搞明白,不符合我的操作习惯,得改习惯。隐约记得clion中好像也有这个问题。

【 在 hgoldfish 的大作中提到: 】

: 在上线函数再打个断点不就行了。

z16166
Netguy 2020-04-24

cpp基本都没自动include的,都得自己手动加

vs的插件vax(visual assist X)也不能自动加include,但你输入include后,它会给出备选的文件列表。

【 在 stub 的大作中提到: 】

: 感谢,很详细。我昨天试了试win下 vscode + remoteSSH + linuxServer, vscode的remoteSSH做的还不错,基本上只是本地有个vscode编辑器,插件,编译环境 都是远程的linux上的。 感觉还不错, 但是发现vscode无法像 IDEA写java那样可以自动import类, vscode无法自动include头文件(也没提示引入哪个头文件,比如使用vector需要手动 #include <vector>)。调用函数名错误的函数也不会飘红线报错。 也没正经写过cpp,所以也不知道工程上写cpp一般是如何搭配环境的。接下来再试试vs + 远程linux server 看看

eematlab
一辰未冉 2020-04-25

include一些系统的头文件应该是可以做到的

不知道为什么没有相关插件

另外从头文件生成实现文件的skeleton应该也是容易的

【 在 z16166 (z16166) 的大作中提到: 】

: cpp基本都没自动include的,都得自己手动加

: vs的插件vax(visual assist X)也不能自动加include,但你输入include后,它会给出备选的文件列表。

nsyncxyz
kakeru 2020-04-29

当然是vscode +cmake插件,开发比较舒服

westflying
自以为聪明的人,往往没有选择善良 2020-04-29

配置下.vscode/c_cpp_properties.json

configurations": [

{

"name": "Linux",

"includePath": [

"${workspaceFolder}/**",

即可,可以找下。

【 在 stub () 的大作中提到: 】

: 感谢,很详细。我昨天试了试win下 vscode + remoteSSH + linuxServer, vscode的remoteSSH做的还不错,基本上只是本地有个vscode编辑器,插件,编译环境 都是远程的linux上的。 感觉还不错, 但是发现vscode无法像 IDEA写java那样可以自动import类, vscode无法自动inclu

PGP
--- 2020-04-30

用mac开发调试,ssh到linux上编译测试打包就行

【 在 stub 的大作中提到: 】

: vs 远程到 linux server上开发? 还是直接linux上用vscode或clion开发。 我本身是不太想用linux gui的。不知道vs 远程到linux server 开发体验如何

: @z16166

cut188
cut188 2020-05-02

尽管我也不懂,但听说与用什么没关系。

是标准的就好。

【 在 stub 的大作中提到: 】

: vs 远程到 linux server上开发? 还是直接linux上用vscode或clion开发。 我本身是不太想用linux gui的。不知道vs 远程到linux server 开发体验如何

: @z16166

xeagle
静下心来编程 2020-05-05

vscode当个语言编辑器还可以,跟正经ide比还是算了

发自「今日水木 on iOS」

【 在 stub 的大作中提到: 】

: 感谢,很详细。我昨天试了试win下 vscode + remoteSSH + linuxServer, vscode的remoteSSH做的还不错,基本上只是本地有个vscode编辑器,插件,编译环境 都是远程的linux上的。 感觉还不错, 但是发现vscode无法像 IDEA写java那样可以自动import类, vscode无法自动include头文件(也没提示引入哪个头文件,比如使用vector需要手动 #include <vector>)。调用函数名错误的函数也不会飘红线报错。 也没正经写过cpp,所以也不知道工程上写cpp一般是如何搭配环境的。接下来再试试vs + 远程linux server 看看

: --

xeagle
静下心来编程 2020-05-05

试试clion

发自「今日水木 on iOS」

【 在 z16166 的大作中提到: 】

: cpp基本都没自动include的,都得自己手动加

: vs的插件vax(visual assist X)也不能自动加include,但你输入include后,它会给出备选的文件列表。

: --

stub
stub 2020-05-05

正经ide哪些呢?

【 在 xeagle 的大作中提到: 】

: vscode当个语言编辑器还可以,跟正经ide比还是算了

: 发自「今日水木 on iOS」