如题,我是一名初学者,一直使用devcpp
来编写程序,在写完程序后按下f11
编译并运行程序会在运行完毕后自动暂停(不会闪退的那种),但是在vscode
里面怎么也实现不了,就十分痛苦,如果实在不行能够设置为按f5
会自动在终端里运行也可。谢谢各位大佬♪(・ω・)ノ
附图:
1
exch4nge 2019-04-18 17:46:50 +08:00
main 函数返回那句下断点? 返回前 getchar ?
|
2
CEBBCAT 2019-04-18 19:00:09 +08:00 via Android 1
嘻嘻😁,看来真是初学者。
为什么有这个问题:程序执行完既定任务后自然而然就关闭了,devcpp 会出一行 pause 是特殊设计的结果。 有几个解决方案: ❶ 试试 Jetbrains 公司的 IDE,有学生版,应该会像 Pycharm 一样提供一个内建 console,程序会在 console 里运行,虽然最后也会结束,但输入输出都在 console 里保留了 ❷ 程序最后一行加断点 ❸ 像楼上说的一样,加个 getchar 一般就行了,不行就俩 ❹ 调用系统的 pause 指令 加油 |
3
agdhole 2019-04-18 19:00:53 +08:00 via Android
pause
|
4
CaliInn OP @CEBBCAT 他这个如果不能设置 pause 的话能不能设置为调试的时候自动在终端里运行,这样哪怕是退出了不也能完整的看到结果吗
|
6
CaliInn OP @agdhole 我知道可以单独添加代码来实现,但是每个代码都加这个的话还是有些麻烦,毕竟 devcpp 可以实现这样的功能,我就想着能不能对更“现代化的” vscode 添加一些设置来达到类似的效果
|
7
CaliInn OP @CEBBCAT 就是他 vscode 里面不是集成了 windows powershell 吗,在那里面运行程序哪怕是退出了不也能看到结果吗,我就寻思着能不能进行一些操作让摁 f5 以后,vscode 会自动让程序在集成的 powershell (终端)中运行,不就算是曲线救国了吗
|
8
CaliInn OP @CEBBCAT 当然,如果能直接设置达到跟 dev cpp 一样的效果最好(我以前好像见到别人实现过,但再回去找那个帖子就怎么也找不到了)
|
9
CEBBCAT 2019-04-20 00:29:39 +08:00
@CaliInn #6 嗯,现在我明白了,可悲的是我没有使用过 VSCode,所以不知道该怎么为 C 程序设定这样的特性。我搜到一个网页,不知道有没有帮助。
[Integrated Terminal in Visual Studio Code]( https://code.visualstudio.com/docs/editor/integrated-terminal ) 假若没有必要,我还是推荐使用现代化的 IDE。 |
10
CEBBCAT 2019-04-20 00:32:15 +08:00
@CaliInn #8 运行在内建的 powershell 应该是可行的,我猜只需要修改一些『编译后的指令』就好。但我不知道应该具体怎样做
|
11
CaliInn OP @CEBBCAT 哈哈,我以前只浏览了关于 cpp 编译环境的官方指南,倒还没看过这个。不过你推荐的“现代化的 ide 是指哪些”,我感觉 vscode 应该算是一个吧( sublimetext 算吗)
|
12
CEBBCAT 2019-04-20 01:02:51 +08:00 1
@CaliInn #11 哈哈,你还是需要学会 Google 啊,这个问题留给你当作课后作业吧。送给你一个链接:
[使用 VS Code 搭建适用于 ACM 练习的 C/C++ 开发环境 - Blessing Studio]( https://blessing.studio/vscode-c-cpp-configuration-for-acm-oj/ ) |
13
CaliInn OP @CEBBCAT 昨天回复限制触顶了,没回复成功哈哈,不过我感觉这个链接应该就是我想要的!(最近正有在算法竞赛方面进修的意思!)
|
14
Ouepent 2019-09-13 23:34:37 +08:00
@CaliInn
我的解决方法是: launch.json 下 program 修改为 cmd args 添加 "/K", "${fileDirname}/${fileBasenameNoExtension}.exe" 代码: { "name": "(Windows) Launch", "program": "cmd", "args": [ "/K", "${fileDirname}/${fileBasenameNoExtension}.exe" ], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole":true }, 然后在调试界面选择 (Windows) Launch 按 F5 运行即可 ... 原理: 通过 cmd 的参数 "/K" 来实现 意思是: 是执行完命令后不关闭命令窗口 |
15
Ouepent 2019-09-13 23:39:28 +08:00
@Ouepent
添加: { "name": "(Windows) Launch", "type": "cppvsdbg", "request": "launch", "program": "cmd", "args": [ "/K", "${fileDirname}\\${fileBasenameNoExtension}.exe", ], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole":true }, 测试通过 |
16
Ouepent 2019-09-13 23:43:41 +08:00 via Android
或者 args 添加 "/C", "${fileDirname}/${fileBasenameNoExtension}.exe", "&", "pause"
ps:这种方法 pause 不会回车执行 .... |