VSCode编写C/C++项目
VSCode编写C/C++项目
1. 下载插件C/C++、C++ Intellisense;
2. 新建一个空文件夹,从VSCode打开。 (或File-->Open Folder-->新建一个空文件jia);
3. 按F5(用命令行gcc、g++;或者编写makefile文件,make;),选择C++(GDB/LLDB),生成launch.json(用来调试);
5. 修改launch.json,将"program": "enter program name, for example ${workspaceFolder}/a.out"改为"program": "${workspaceFolder}/ProjectName";
"externalConsole": true,表示输出会在弹出的命令行。修改为false的化,会在VSCode内部terminal输出。
6. Ctrl+Shift+B, 选择tasks.json-->模板--->other,生成tasks.json(创建任务);
7. 修改 tasks.json, "command": "echo Hello"改成"command": "g++ -o ProjectName ProjectName.cpp",这里的ProjectName和5中的ProjectName同名
8. 对于复杂的项目,"command": "echo Hello"改成"command": "make"
9. 再创建makefile文件,编辑;
10. 编写Hello.cpp文件
11. 按Ctrl+Shift+P, 选择 Task:Run Tasks,执行任务
12. 按F5,执行
源代码如下所示:
Hello.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return ;
}
launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/Hello",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "make"
}
]
}
makefile或Makefile
# objects= main.o kbd.o command.o display.o insert.osearch.o files.o utils.o
# edit: $(objects)
# cc-o edit $(objects)
# main.o: main.c defs.h
# cc-c main.c
# kbd.o: kbd.c defs.h command.h
# cc-c kbd.c
# command.o: command.c defs.h command.h
# cc-c command.c
# display.o: display.c defs.h buffer.h
# cc-c display.c
# insert.o: insert.c defs.h buffer.h
# cc-c insert.c
# search.o: search.c defs.h buffer.h
# cc-c search.c
# files.o: files.c defs.h buffer.h command.h
# cc-c files.c
# utils.o: utils.c defs.h
# cc-c utils.c
# clean:
# rmedit $(objects)
edit: Hello.o
cc-o edit $(objects)
Hello.o: Hello.c
cc-c Hello.c
clean:
rmedit Hello.o
VSCode编写C/C++项目的更多相关文章
- 使用 VSCode 编写 .NET Core 项目之初体验
注:本文在根据 微软官方文档指导下,根据自己的学习中整理,并不完全照搬文档,但也大体和文档学习路线相似,主要为记录学习过程. 官方学习地址: https://code.visualstudio.com ...
- 使用VsCode编写和调试.NET Core项目
本来我还想介绍以下VSCode或者donet core,但是发现都是废话,没有必要,大家如果对这个不了解可以直接google这两个关键字,或者也根本不会看我这边文章. 好直接进入主题了,本文的 ...
- VsCode编写和调试.NET Core
本文转自:https://www.cnblogs.com/Leo_wl/p/6732242.html 阅读目录 使用VsCode编写和调试.NET Core项目 回到目录 使用VsCode编写和调试. ...
- vscode编写插件
vscode编写插件详细过程 前言 之前编写了一个vscode插件用vscode写博客和发布,然后有园友要求写一篇来介绍如何开发一个vscode扩展插件,或者说介绍开发这个插件的过程.然而文章还没有写 ...
- 搞定vscode编写java(手把手篇)
1: 下载VSCODE 本来我写过一个 vscode 编写java 帖子,但是 还是很多人私信我,下面写一个手把手教程 原文地址: https://www.cnblogs.com/dgwblog/p/ ...
- VSCode编写vue项目文件出现红色波浪线
VSCode编写vue项目文件出现红色波浪线 在我们在写Vue或其他项目时,可能会遇到这样一个问题:明明自己的代码程序都没有错,代码规范也符合标准,为什么它就是给我报错显红呢??? 解决方案 第一种方 ...
- vscode 编写python如何禁止 flake8 提示 line too long
使用vscode编写python还是挺舒服的,但是如果给vscode安装了语法校验插件,例如flake8,会常常提示一些非常苛刻的语法问题,其中最让人不能忍受的就是line to long. 一行仅能 ...
- Eclipse下编写的web项目部署到tomcat下
之前都是用myeclipse编写web项目,编写好然后在myclipse上配置的tomcat下的webapps文件想项目复制到其他tomcat下就能运行了. 最近学习jquery,将eclipse编写 ...
- VS2012编写C语言项目
原文:VS2012编写C语言项目 这两天看了一下C语言方面的知识,大学的时候使用的Turbo C对于我来说已经是很久之前的事情了,编写C语言的还有VC++,不过这货在64的表现实现是很让人失望,还是用 ...
随机推荐
- pygame躲敌人的游戏
#first.py# coding=utf- import pygame from pygame.locals import * from sys import exit from util impo ...
- zookeeper学习与实战(一)环境部署
[背景]:最近需要做这样一件事,在一台服务器上通过客户端生成配置文件,然后需要将该配置文件实时的传输到上百台应用服务器,供应用程序读取.同时,该配置文件是不定时更新内容,只要有更新,远程应用服务器应该 ...
- [算法]打印N个数组的整体最大Top K
题目: 有N个长度不一的数组,所有的数组都是有序的,请从大到小打印这N个数组整体最大的前K个数. 例如: 输入含有N行元素的二维数组代表N个一维数组. 219,405,538,845,971 148, ...
- poj 3006 Dirichlet's Theorem on Arithmetic Progressions【素数问题】
题目地址:http://poj.org/problem?id=3006 刷了好多水题,来找回状态...... Dirichlet's Theorem on Arithmetic Progression ...
- Java 动态代理机制分析及扩展,第 1 部分
Java 动态代理机制分析及扩展,第 1 部分 http://www.ibm.com/developerworks/cn/java/j-lo-proxy1/ 本文通过分析 Java 动态代理的机制和特 ...
- 维度表, 事实表, 数据仓库, BI...
以前一直对维度表, 事实表, 数据分析, BI等概念等有一些模糊. 这几天的学习终于让这些有了一些眉目了: 维度表示你要对数据进行分析时所用的一个量, 比如你要分析产品销售情况, 你可以选择按类别来进 ...
- phalcon:官方多模块支models层,mode数据库配置(二)
phalcon:官方多模块支models层,mode数据库配置(二) 利用:\pahlcon\mvc\model\Manager::registerNamespaceAlias()方法获取多模块下的m ...
- PHP+MySQL百万级数据插入的优化
插入分析 MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例: 连接:(3) 发送查询给服务器:(2) 分析查询:(2) 插入记录:(1x记录大小) 插入索引:(1x索引) 关闭 ...
- Android之单元测试学习
1.单元测试概念 单元测试(又称为模块测试),检验程序模块(软件设计的最小单位)正确性的测试工作,常常是程序员写的一段代码.对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子 ...
- unity破解步骤
1.选择unity的安装目录 C:\Programe Files (x86)\Unity\Editor 2.点击patch 3.使用random生成序列号 4.使用Cre Lic生成授权文件