开发工具(二):VS code 的基本使用
简介
vscode是微软开发的代码编辑器,开源、免费、跨平台,具有丰富的插件。这里记录一些使用过程中遇到的问题,避免下次遇到时又需要重新找解决方法
配置文件
配置文件的类型
- 默认配置:VSCode的默认设置存储在VSCode安装目录下的某个位置,通常不建议直接修改这些文件,因为它们影响所有VSCode实例。
- 用户设置:这些是特定于用户的配置,存储在用户主目录下的.vscode文件夹中,或者通过VSCode的设置界面进行编辑。
- 工作区设置:这些是特定于项目的配置,存储在项目的.vscode文件夹中,并仅对打开该文件夹的VSCode实例有效。
settings.json
settings.json:vscode 存储配置信息的文件,用户可以自己编写settings.json文件,存储在根目录下的.vscode中,然后可以在文件中设置配置项,它会覆盖默认配置
常见配置
- 设置主题:settings - Workbench - Appearance - Color Theme
- 设置字体:File - preference - setting - font
- 一行不要超过80个字符:File - preference - setting - 搜索
editor.rulers,在弹出的json文件中添加配置 “editor.rulers”: [80] - 设置文本超过窗口长度后自动换行:在配置项中搜索word wrap,把它的值改为on。
- 设置文件标签多行显示:在配置项中搜索 workbench.editor.wrapTabs,勾选该选项
- 调整标签大小:在配置项中搜索tab sizing,值改为shrink,意为收缩
- 窗口合并:把多个窗口合并为一个窗口中的多个tab,搜索window.native,勾选“Native Tabs”选项,勾选完重启即可
- 设置显示tab和空格:打开设置,搜索renderWhitespace,选择selection
- 关闭自动更新:在设置中搜索
update: mode,然后选择none
设置代码块缩进为 4 个空格
按 “ctrl + ,”,打开配置中,
- 搜索 Tab Size,设置它的值为4
- 搜索 Detect Indentation,取消勾选,避免自动检测覆盖用户设置
- 搜索 Insert Spaces,勾选,使用空格而非制表符
快捷键
- 格式化代码的快捷键:alt + shift + f
常用操作
1、查看一个方法在哪里被调用了:右击方法名,选择 Go To References,会弹出所有出现该方法的地方,然后选择自己需要的
2、多光标编辑:同时编辑一列数据的功能,shift + option + 光标
3、在终端运行代码:这里使用code runner插件来运行代码,在根目录的.vscode中新建文件settings.json,在文件中加入如下配置:
{
"code-runner.runInTerminal": true
}
文件模板
这个功能可以将模板内容填充到文件中,配置步骤:
- 选择菜单里的 文件 > 首选项 > 用户代码片段
- 选择你需要自定义模板的文件
- 配置对应文件json,案例:
"Print to conaole": {
"prefix": "C", //在新建立的页面中输入C就会有智能提示
"body": [
"#include <stdio.h>",
"", //空行
"int main(int argc, char const *argv[]) {", //main()函数
" $0", //最终光标会在这里等待输入
" return 0;", //结束
"}",
"",
],
"description": "A c file template." //用户输入后智能提示的内容
}
- 在代码中输入c,就会弹出模板文件提示
在当前的代码模板中引用文件名:${TM_FILENAME_BASE}、带后缀的文件名 ${TM_FILENAME}
配置Linux系统的开发环境
通过远程连接到Linux主机的方式来在Linux环境下下发
基本步骤:
- 安装插件:remote ssh,然后依据提示操作即可。
- 设置Windows主机和Linux系统之间的免密登录。
配置同步
有两种方式:
- 第一种,用户可以选择导出vscode中的配置文件,然后再在其它地方导入vscode中的配置文件,但是使用这种方法,在新的vscode中会有一个默认配置和导入的配置,比较麻烦。
- 第二种:使用vscode自己提供的配置同步功能
第一种方式的实现:导出vscode中的配置:设置 - 配置文件 - 导出配置文件,导出到指定目录下,vscode中的配置都存储在settings.json中。
第二种方式的实现:使用vscode自带的配置同步功能:在导出配置文件的旁边,就有配置同步功能,用户只需要输入Windows账号即可
C语言开发
运行由多个文件组成的C程序
打开.vscode/tasks.json,它配置C程序该如何编译,在args中新增文件名,就可以控制vscode去编译C程序
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc build active file",
"command": "/usr/bin/gcc",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
debug
- debug时找不到variables面板:点击 Command Palette ,输入命令 :View: Focus on variables view
- debug时查看全局变量的值:在watch面板中监控全局变量
在docker中进行开发
安装docker插件,点击正在运行的容器,连接容器即可
使用docker来运行C程序
在这里使用alpine作为基础镜像,它的体积比较小,适合容器。下载alpine镜像:docker pull alpine
在项目根目录下新建文件夹,名为dockerfile,存放dockerfile文件
在dockerfile文件夹下,新建当前项目的dockerfile文件:dev.dockerfile
FROM alpine:latest
# 添加C语言的编译器软件
RUN apk add --no-cache gcc musl-dev && apk add --no-cache g++
根据dockerfile文件,创建镜像:docker build -t c_dev_image:v1 -f dev.dockerfile .
根据镜像启动容器:
- 首先进入项目根目录
- 创建并启动容器:
- 第一次创建时:
- 创建并启动容器,把项目根目录映射到容器中的/test目录下:
docker run -it --name c_dev_container -v$PWD:/test c_dev_image:v1,让容器在前端运行
- 创建并启动容器,把项目根目录映射到容器中的/test目录下:
- 创建好容器后:
- 容器创建好后启动容器:
docker start c_dev_container - 进入容器:
docker exec -it c_dev_container /bin/sh,在这里只支持/bin/sh
- 容器创建好后启动容器:
- 第一次创建时:
进入容器后,就可以在容器中操作当前项目,因为之前把项目的根目录映射到了容器中的/test目录下,不过要注意,在容器中编译好的可执行程序不可以在宿主机下运行。
配置c++编译时使用c++11标准
安装code runner插件
打开配置,要注意看清配置是哪个范围的,用户还是工作区,只有配置在工作区才会生效
在配置中搜索 “code-runner.executorMap”,找到配置项,在cpp的编译命令中添加 -std=c++11
C语言的配置也类似
常见问题
scanf函数卡住
原因:需要设置程序在终端运行
解决方案:
-
点击 file -pereference - settings
-
点击 extensions - run code configuration
-
勾选 whether to run code in integrated terminal,然后点击 also modified in user,在弹出的页面中继续勾选上
-
完成
终端中文乱码
点击F1,选择 Open User Settings
粘贴以下配置信息:
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell", //一般推荐使用powershell
"overrideName": true,
"args": ["-NoExit", "/c", "chcp 65001"], // 设置编码为utf-8
"icon": "terminal-powershell",
"env": {
"TEST_VAR": "value"
}
}
},
"terminal.integrated.defaultProfile.windows": "PowerShell"
配置文件中提到了powershell,powershell是Windows上的一个终端程序,类似于cmd
更多推荐

所有评论(0)