VScode使用笔记

以下笔记来源于:https://www.bilibili.com/video/BV13K411M78v?p=2

准备工作

1、安装软件和编译器
安装编译器方法:https://www.cnblogs.com/TAMING/p/9945389.html
2、在VScode上安装以下插件
在这里插入图片描述

一、编译c工程

1、先创建一个英文路径的文件夹(含有中文路径,编译是可能会出错),创建c/c++文件可以采用以下方式。
在这里插入图片描述
2、编写一个简单程序(编译完毕后注意保存,若未保存,文件名后有一个小点),然后新建一个终端,开始编译。
在这里插入图片描述
具体的gcc命令详见:https://wenku.baidu.com/view/90ae31d503d276a20029bd64783e0912a2167ca0.html

这里我们使用最简单的命令(不可调试):

gcc .\test.c -o test.exe

其中test.c为需要编译的文件,-o test.exe表示生成exe文件的名称,如果不给,则生成默认的a.exe
如果我们想要产生可以调试的文件,则必须加上 ’-g‘,例如

 gcc -g .\test.c -o test.exe
 编辑多个C文件:
 gcc main.cfunction.c -o main.exe

如果是C++程序,这里对应的两条命令为:

 g++ .\test.cpp -o test.exe
 g++ -g .\test.cpp -o test.exe

执行效果图
在这里插入图片描述
3、运行可执行文件
输入(其中test生成的可执行文件):

 .\test.exe

下面是运行效果
在这里插入图片描述

二、在线调试(c++程序为例)

这里我们先输入一个相对复杂的程序。

1、一个cpp文件

功能:交换两个变量数据。

#include "iostream"
using namespace std;
void swap(int &a,int &b)
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}
int main(int argc,char **argv)
{
    int val1 = 10;
    int val2 = 20;
    cout << "before swap " << endl;
    cout << "val1 = " << val1 << endl;
    cout << "val2 = " << val2 << endl;
    swap(val1,val2);
    cout << "val1 = " << val1 << endl;
    cout << "val2 = " << val2 << endl;
    return 0;
}

创建对应launch.json、tasks.json文件
在这里插入图片描述
在这里插入图片描述
完成后,会自动创建.vscode文件夹以及launch.json、tasks.json文件,然后按下F5就可以进入调试。
在这里插入图片描述
注意:当前工作区间要切回test.c,否则运行回报错。
在这里插入图片描述

2、多个cpp文件

功能:交换两个变量数据,将对应的子函数单独写为一共文件

具体代码如下:

//主程序代码
#include "iostream"
#include "swap.h"
using namespace std;
int main(int argc,char **argv)
{
    int val1 = 10;
    int val2 = 20;
    cout << "before swap " << endl;
    cout << "val1 = " << val1 << endl;
    cout << "val2 = " << val2 << endl;
    swap(val1,val2);
    cout << "val1 = " << val1 << endl;
    cout << "val2 = " << val2 << endl;
    return 0;
}
//swap.h内容
#include "iostream"
void swap(int &a,int &b);


//swap.cpp内容
#include "swap.h"
void swap(int &a,int &b)
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}

在编译连接多个文件时,默认生成的tasks.json和launch.json文件,都会报以下的错误,原因是g++的编译指令没有将所有的cpp文件加入。
在这里插入图片描述
最初的tasks.json文件如下图所示
在这里插入图片描述

将10行修改为

${workspaceFolder}\\*.cpp

再次启动调试,就可以正常运行了。
在这里插入图片描述

3、使用cmake编译多个文件,并完成调试

1、先创建一个CMakeLists.txt文件,编写对应代码
在这里插入图片描述2、配置对应文件
使用快捷键Ctrl+shift+p,找到cmake:configure–>gcc 8.1.0……会自动生成一个build文件夹,进入文件夹后,执行mingw32-make.exe,会生成我们需要的.exe文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3、根据上面的执行,即可完成在线调试
备注:这里例程是直接创建一个tasks.json文件,按下F5后自动完成编译,连接,进入调试,但是自己生成的文件有问题,无法直接运行

在这里插入图片描述
最后仿真效果:
在这里插入图片描述

备注:
①包含头文件使用 " "与 < >区别
答:编译器预处理阶段查找头文件的路径不一样。
#include<>格式:我们常常引用标准库头文件,编译器从标准库目录开始搜索
#include“”格式:我们常常引用非标准库的头文件,即我们自己写的头文件,编译器从用户的工作目录开始搜索
参考博客:https://blog.youkuaiyun.com/qq_27825451/article/details/102568482
②如果运行生成exe文件时,显示乱码
在这里插入图片描述
造成原因是设置文件保存时,未用utf-8格式

解决办法
在这里插入图片描述
重新编译运行后,正常显示
在这里插入图片描述

### 使用 VSCode 进行记笔记的方法 #### 推荐插件及其功能介绍 为了在 Visual Studio Code (VSCode) 中高效地记录笔记,可以选择多种插件来增强体验。以下是几个推荐的插件以及它们的功能: 1. **Markdown Preview Enhanced** 此插件提供了强大的 Markdown 预览功能,支持实时渲染、目录生成和数学公式的显示等功能[^2]。通过安装此插件,用户可以在编写 Markdown 文档的同时查看其最终呈现的效果。 2. **Notes** Notes 是一款专为快速创建和管理笔记设计的插件。它允许用户轻松分类存储笔记,并提供搜索功能以便于查找特定的内容。这款插件非常适合那些希望在一个地方集中管理和访问所有笔记的人群。 3. **Notebookforcode-VSCode 笔记插件** Notebookforcode 提供了一个类似于笔记本的应用程序界面用于撰写技术文档或其他类型的笔记[^3]。尽管该插件可能因为使用 webview 而存在一定的性能开销,但它仍然是初学者了解 VSCode 扩展开发的好工具之一。 4. **Bookmarks** Bookmarks 插件可以帮助开发者标记重要的代码片段或者注释位置,在后续回顾项目时更加方便快捷定位所需信息。虽然严格意义上不属于传统意义上的“笔记”,但对于程序员来说同样非常有用。 #### 设置方法与技巧提示 - 安装上述提到的一个或多款插件之后,请记得重启编辑器以应用更改。 - 对于经常需要切换不同主题风格的人来说,“Custom CSS and JS Loader” 可能会成为另一个不错的选择——它可以自定义调整预览页面样式从而匹配个人偏好设置。 下面展示一段简单的 Python 示例代码用来演示如何读取本地文件夹下的 markdown 文件列表并打印出来: ```python import os def list_markdown_files(directory): md_files = [f for f in os.listdir(directory) if f.endswith('.md')] return md_files directory_path = './notes' # 替换为你自己的路径 files = list_markdown_files(directory_path) print(files) ``` 以上脚本能够帮助整理已有的笔记资源结构化处理。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值