首页 > 其他分享 >开启VSCode的大门

开启VSCode的大门

时间:2024-07-08 14:21:33浏览次数:16  
标签:文件 编译 VSCode ++ 开启 int command cpp 大门

【教程】在macOS上用VSCode写C++代码 5 开启VS Code的大门(上)

【教程】在macOS上用VSCode写C++代码 5 开启VS Code的大门(下)

用终端写代码

写代码

在终端上使用命令创建 .cpp 文件(是文本文件),用 vim 打开编辑写代码,保存退出

接下来是把代码文件编译成二进制可执行文件

g++编译

如何编译代码?用程序

g++ 程序可以将 cpp 代码编译为二进制可执行文件

下载必要的命令行工具 Command Line Tools

苹果的开发集成工具是 Xcode.app,其中就带着一堆命令行工具

下载完成后,可以查看 g++ 程序的版本和shell的执行方式

g++ --version
which g++

返回:

Apple clang version 15.0.0 (clang-1500.1.0.2.5)
Target: arm64-apple-darwin23.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

/usr/bin/g++ ,说明 g++ 已经在环境变量中,以后调用就可以不用输入绝对路径

第一次编译和执行

g++ hello.cpp

ls 发现多了 a.out 文件,就是编译出来的程序

运行可以使用相对路径,不能直接 a.out(因为shell觉得这是个命令但是它又不认识),需要 ./a.out

Ps. chase后的 % 是结束符

给a.out改个名字

g++ 添加 -o 参数

g++ hello.cpp -o hello.out		#推荐加上后缀
g++ hello.cpp -o hello		#不带后缀亦可

有关后缀

文件的后缀名是文件名的一部分,可有可无,但这个后缀名会告诉系统它用什么应用程序去打开这个文件。双击exec的 hello 发现系统打开了终端,但是双击 hello.out 发现系统并不知道怎么打开这个文件(其实这个 .out 相当于 Windows 里面的可执行文件 .exe

Mac无法运行 .exe 文件

认识VSCode

VSCode是集合了文本编辑、终端、访达功能的"文本编辑器"。

使用:Cpp、python 爬虫、Applescript 脚本、shell 脚本、开发网站前后端、markdown

Ps. 开发Windows软件要用 Visual Studio

VSCode界面认识

右键 > format document 代码格式规范

command + J 打开终端,和 Terminal 是一样的,可以直接在这里操作

g++的参数

设置输出文件名

-o

链接文件

main_file.cpp:

#include <cstdio>
#include "myAdd.hpp"
int main() { printf("Addition = %d\n", threeSum(2, 3, 4)); }

myAdd.cpp:

#include "myAdd.hpp"
/// Just add three integers.
/// @param a int1
/// @param b int2
/// @param c int3
/// @return additon of a, b and c
int threeSum(int a, int b, int c) { return a + b + c; }
int fourSum(int a, int b, int c, int d) { return a + b + c + d; }

这种注释可以使鼠标悬停时,有参数提示

myAdd.hpp:

#ifndef myAdd_hpp
#define myAdd_hpp
int threeSum(int a, int b, int c);
int fourSum(int a, int b, int c, int d);
#endif /* myAdd_hpp */

此例中,需要同时编译 main_file.cppmyAdd.cpp

g++ main_file.cpp myAdd.cpp

链接:在原本的文件后面直接添加要链接的 .cpp 文件就好

注:声明写在 .hpp 文件中,同时在 .cpp 文件开头include这份对应的 .hpp 文件(可能cpp文件里面需要用到自己写的函数或类)。在其他需要使用 .cpp 中函数或类的文件中include .hpp 文件

注:链接的几份文件中只能有一份 .cpp 文件中有 int main(){ } 函数作为程序的执行入口

错误信息提示

g++ hello.cpp -W -Wall

-w 关闭编译时的警告

-Wall 编译后显示所有警告

-W 只显示编译器认为会出现错误的警告

编译时不使用 -W -Wall 选项的是stupid的

添加C++标准

-std=c++11 就会按照 c++11 标准编译,一般用最新标准

编译优化

目的:让生成的代码文件小一些,运行起来快一些

CSDN|gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化

注:

  • 如果链接的文件不多或者代码没有那么长,优化效果不明显

  • 自己运行程序,开不开优化都无所谓;但是如果要把可执行文件发给别人用,开 O2 优化比较好

调试选项

编译型语言 vs 解释型语言:解释型语言一行一行执行 (eg. python),但编译型语言不是 (编译型语言的优势是:执行大概比解释型语言快100倍)

由于 C++ 是编译型语言,如果直接编译成可执行文件,调试器无法一行一行过写的代码。想调试必须添加 -g 选项,让编译得到的可执行文件尽量不要被优化,臃肿一些但附加一些调试信息 (创建符号表),让得到的可执行文件尽量接近写的代码

g++ hello.cpp -g

debug版本 vs release版本

  • 查错就用 debug版本 的可执行文件
  • 把程序发出去给别人用就用 release版本(体积更小、执行更高效)
  • 区别是编译时有没有 -g 这个参数

最终结果

release:

g++ <filename>.cpp <other_cpp_files> -o <filename>.out -W -Wall -O2 -std=c++17

debug:

g++ <filename>.cpp <other_cpp_files> -o <filename>.out -W -Wall -g -std=c++17

VSCode简单的文本编辑技巧

注释

单行注释:光标移到该行再 Ctrl + /command + /

多行注释:选中代码再 Shift + Alt + Ashift + option + A

取消注释:再次进行上述操作即可

提示

code snippet ⇥ 和 ⌘I(I refers to IntelliSense

例:

tab 补全结构,继续 tab 跳到下一个语句

双击&三击

双击选中一个词,三击选中一行

光标移动

option + 左/右键 以单词为单位移动

command + 左/右键 跳到行首/尾

command + 上/下键 跳到代码开头/结尾

shift > 光标指向不同位置 选中光标之间的代码

例:

shift > 上下左右 选中

以上操作均可配合使用,亦可搭配delete使用

删除

fn + delete 向后删除

复制粘贴剪切

复制一行:先把光标移到指定行,按 command + C ,再 command + V

剪切一行:先把光标移到指定行,command + X 该行消失,再 command + V

多个光标

option > 光标移到多个不同位置 ,可以用来同时改变量名字

代码格式化引入settings.json

全局设置与工作区设置

User是全局设置,Workspace是工作区设置

搜索栏输入 @modified 或 点击手电筒:查看修改历史

工作区

一个文件夹就是一个工作区(例:桌面上的 Cpp 文件夹),一个文件夹约等于一个项目( Cpp 这个文件夹就是供我们学习 Cpp 使用的项目)

全局/用户设置 vs 工作区设置

工作区设置:修改之后只对当前的文件夹(项目)起作用;

用户设置:所有文件夹都会启用这个设置

工作区设置会覆盖用户设置

推荐使用工作区设置

使用工作区设置文件

我们更改Workspace某些设置后,会得到 settings.json 文件,它是工作区的设置文件。只要有 .vscode 目录,VSCode就会读 settings.json 文件,进行设置(利于团队协作)

json文件

json (JavaScript Object Notation),是一种轻量级的数据交换格式,可以被使用在多种编程语言中,用于前后端之间的数据传输、存储和交换数据

json格式的数据是由键值对组成的,其中键值对之间使用 , 分隔,最后一个可有可无,键和值都必须使用双引号引起来

例如:

{
  "name": "Apifox",
  "age": 2,
  "city": "Guangzhou"
}

完整的 JSON 数据示例:

{
  "name": "Simon",
  "age": 2,
  "isMale": true,
  "hobbies": ["reading", "learning", "traveling"],
  "address": {
    "city": "Guangzhou",
    "postCode": "510000"
  },
  "email": null
}

全局设置的json文件

打开方式:

或者通过终端查看

cd ~"/Library/Application Support/Code/User"
ls
cat settings.json

注意:路径中含有空格,需要用引号包裹起来;同时还含有家目录 ~ ,不能把 ~ 放在双引号里面,否则 shell 无法解析

快捷键

常用

command + W 关闭窗格

shift + command + N 新建窗口

修改快捷键

VSCode

搜索想修改或添加的功能即可

macOS

比如想给Keyboard Shortcuts设置快捷键:

设置 > 键盘 > 键盘快捷键 > App快捷键 > +

如何打印⌘⌥⇧⎋⌃

option + command + 空格 调出符号键盘,分别搜索 interest, option, arrow, broken circle, UP ARROWHEAD

标签:文件,编译,VSCode,++,开启,int,command,cpp,大门
From: https://www.cnblogs.com/chasetsai/p/18289094

相关文章

  • 硅纪元视角 | 国内首款鸿蒙人形机器人“夸父”开启应用新篇章
    在数字化浪潮的推动下,人工智能(AI)正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展,捕捉行业动态;提供深入的新闻解读,助您洞悉技术背后的逻辑;汇聚行业专家的见解,分享独到的视角和思考;精选对您有价值的信息,帮助您在AI时代中把握机遇。1分钟速览新闻  AI......
  • winston日记不能输出到vscode控制台显示问题
    修改launch.json,在configurations里面增加"console":"integratedTerminal".console配置有三个选项, integratedTerminal集成终端, internalConsole内部终端,externalTerminal外部终端{//使用IntelliSense了解相关属性。//悬停以查看现有属性的描述。......
  • 魔改小爱音箱:开启智能家居新纪元
    魔改小爱音箱:开启智能家居新纪元!智能家居的浪潮已经来袭,而小爱音箱作为小米生态链中的佼佼者,一直是智能家居爱好者的宠儿。但你是否想过,通过一些简单的步骤,就能让小爱音箱变得更加智能,更加个性化?今天,就让我们一起探索如何魔改小爱音箱,让它成为你智能家居生活中不可或缺的伙伴!......
  • VSCode实现Markdown用法
    Python学习黄俊人一、Markdown语法标题一级标题二级标题引用引用一段话列表无序列表列表1列表2列表3有序列表嵌套TodoListab表格左对齐居中对齐右对齐abc段落换行?——两个以上空格后回车/空一行分割线——......
  • Vscode连接虚拟机报错
    Vscode连接虚拟机报错问题解决问题解释Permissiondenied,pleasetryagain.出现这个问题通常表示身份验证失败。可能的原因有SSH用户密码错误SSH端口非默认SSH配置文件问题虚拟机SSH服务问题:可能SSH服务没有正常启动或防火墙阻止了SSH连接ip地址错误问题分析重新检......
  • 逆向 | 检查系统强制签名检查是否开启
    逆向|检查系统强制签名检查是否开启存一份代码:#include<stdio.h>#include<Windows.h>#include<winternl.h>//#include<Ntstatus.h>#pragmacomment(lib,"ntdll.lib")intmain(){SYSTEM_CODEINTEGRITY_INFORMATIONinfo={0};info.Le......
  • OpenELM:开启开放训练和推理框架的高效语言模型家族
    随着大模型模型规模的增长,这些强大工具的透明度、可复现性和对数据偏见的敏感性也引起了人们的关注。这些问题不仅关系到研究的开放性和公平性,也关系到模型输出的可信度和安全性。为了应对这些挑战,Apple的研究团队发布了名为OpenELM的新一代开放语言模型。OpenELM采用了层级缩......
  • C++:win11下的VScode构建百度Comate
    一. VScode的安装官网下载地址:https://code.visualstudio.com/ (选择好对应的系统版本)汉化:安装完软件后,打开软件界面的"扩展商店",搜索Chinese,下载相应的插件,如下图:二. 配置C++开发环境VSCode只是一个高级的编辑器,可以用来写C++代码,不能直接编译代码。所以,如果......
  • ToDesk云电脑开启公测!支持AIGC、高性能渲染等场景,价格低至0.98元
    在云计算和人工智能技术飞速发展的今天,云电脑作为一种新型的计算模式,正逐渐改变着传统电脑的使用方式。近日,ToDesk云电脑宣布开启公测,以其支持AIGC(人工智能、大数据、云计算等技术的融合应用)、高性能配置等特性,引起广大用户的热烈关注。为了应对日益增长的远程办公和灵活工作需......
  • HP惠普笔记本使用问题和开启TPM
    HP电脑使用开机按F10,进入BIOS,如果是英文,切换到 Advanced,选择 Display Language,选择 简体中文然后返回上一页,切换到 安全引导配置  选择“启用传统支持和禁用安全引导”,然后F10 保存退出开机+ESC是进入主菜单,可以从这里选择,进入引导HP电脑在桌面使用快捷键FN+ESC......