Code Runner
安装好Code Runner之后,打开你所要运行的文件,有多种方式来快捷地运行你的代码:
键盘快捷键 Ctrl+Alt+N
快捷键 F1 调出 命令面板, 然后输入 Run Code (和当前截屏重合)
在编辑区,右键选择 Run Code
在左侧的文件管理器,右键选择 Run Code
右上角的运行小三角按钮
注意:相应语言的编译器或者解释器还是需要自行安装的,并且把路径添加到PATH环境变量里
VSCODE
环境配置
这里的环境是设置vscode的运行环境,通过*.json文件来设置。
一旦生成了json文件,vscode就会在项目文件夹内生成一个隐藏的.vscode文件夹,其中包含所有产生的json文件。
命令面板是vscode快捷键的主要交互界面,可以使用f1或者Ctrl+Shift+P打开。输入C/Cpp: Edit configurations,就自动生成了一个c_cpp_properties.json文件,这样你就可以在该文件中编写参数来调整设置。
c_cpp_properties.json文件主要是设置系统级的大环境,基本上不用改(除非有第三方库,后面会说)
编译
编译C++文件方法可分为自定义编译和使用插件编译。
自定义编译
主要通过 设置任务(动作)来实现。
tasks.json文件相当于vscode的.sh或.bat文件,用来记录一系列操作的宏。
tasks.json设置编译
打开vscode控制台,输入Tasks: Configure Tasks,再选择Create tasks.json file from templates,选择Others模板,就自动生成了一个tasks.json文件,这样你就可以在该文件中编写参数来调整设置。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build1111", //你的设置文件名,可随便起
"type": "shell", //运行task的平台,一般是shell
"command": "bash ./build.sh", // 这里放指令,比如在此处就是普通的shell命令,运行你的.sh文件
"group": {
"kind": "build", //设置为build组,这样当你在vscode中执行build命令时,
//就能自动执行"command"中的命令了
"isDefault": true
}
}
]
}
设置完“group”参数后,就能通过Tasks: Run Build Task (Ctrl+Shift+B)来运行该文件夹下的build.sh文件(也是你自己新建的)
一般地,build.sh可以写为:(其实就是把cmake的指令都放进去)
#!/bin/bash
if [ ! -d "build" ]; then
mkdir build
else
rm -rf build/*
fi
cd build
Local_Dir=$(cd "$(dirname "$0")"; pwd)
echo "Now work at Dir:$Local_Dir"
cmake ..
make
CMakeLists.txt文件内容如下(当然也可以根据你自己的需要改)
注意第三行的设置为debug模式(在这里如果不设置,出现无法调试,直接执行结束)#项目名称
project(hello_word)
#源代码路径
aux_source_directory(. DIR_TOOT_SRCS)
#dubug 模式
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
#生成可执行的文件
add_executable(hello_word ${DIR_TOOT_SRCS})
VSCODE+CMAKE联合编译 的实现
看workspace/invironment_test中的实现就好
使用ctrl+shift+b完成编译
以上是vscode调用CMaker来编译C++代码,同样,vscode也能调用gcc来编译C++代码,如
{
"version": "2.0.0",
"tasks": [
{
"label": "build hello world",
"type": "shell",
"command": "g++", //改这里
"args": [ //改这里
"-g", "helloworld.cpp"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
使用插件编译(推荐)
在Extensions中搜索”CMake, CMake Tools”,并Install。
下载之后的插件可以在设置中调整其设置。
点击Settings,再点击最上方的 Try a preview of our new settings editor,就能看到相关插件的设置了。
直接在控制台输入cmake quick start,然后在控制台输入项目名称 和 选定other的CMakeLists文件类别,
插件就能直接在项目文件夹路径下生成一个CMakeList文件,你可以自己编辑设置。
然后,按F7或Shirft+F7就能自动在项目文件夹下新建一个Build文件夹,并将生成目标放至Build文件夹下,非常方便!
调试
vscode自带调试模块,直接点击左侧边栏的Debug图标(Ctrl+Shirft+D),再点上方的齿轮图标configure,就能自动生成launch.json文件。
这里需要修改两处,12line设置为可执行文件路径+可执行文件名,另外17line一定要修改为false,否则无法调试,但也有说就保留为True的,暂时不清楚launch.json文件主要用来设置 如何调试
可以再加一条 "preLaunchTask": "build1111"//可以新增一条 主要是做调试前的编译
基本上 program修改为 "${workspaceFolder}/a.out"就可以了
使用cmake编译时,添加外部依赖库
直接改CMakeLists.txt,添加相关外部库,具体方法就不说了。编译之后,cmaker才会在build文件下生成compile_commands.json文件。
例如调用OPENCV库:
修改CMakeLists.txt文件
cmake_minimum_required(VERSION 3.0.0)
project(opencvTest VERSION 0.1.0) %取个名字
# 寻找OpenCV库
find_package( OpenCV REQUIRED )
# 添加头文件
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable(opencvTest main.cpp)
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
# 链接OpenCV库
target_link_libraries( opencvTest ${OpenCV_LIBS} )
到这一步已经可以编译运行了
只是需要修改 c_cpp_properties.json文件中的"browse.path, includePath"添加你的库的头文件路径,这样就能获得头文件相关的提示了。(VSCODE中的代码提示)
{
"configurations": [
{
"name": "Linux",
"browse": {
"path": [
"${workspaceFolder}",
"/usr/local/opencv/include/" //添加头文件路径
],
"limitSymbolsToIncludedHeaders": true
},
"includePath": [
"${workspaceFolder}",
"/usr/local/opencv/include/" //添加头文件路径
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64",
"compileCommands": "${workspaceFolder}/build/compile_commands.json" //添加cmaker生成的compile_commands.json
}
],
"version": 4
}
在c_cpp_properties.json文件中的添加"compileCommands"属性,并添加之前CMaker生成的compile_commands.json文件的相对路径,这样就能自动查看外部库的定义了。
Alt+Shift+F),vscode会根据你使用的语言,使用不同的插件进行格式化,记得要下载相应格式化的插件
f12跳到函数的定义处
Cmd+f12(win Ctrl+f12)跳转到函数的实现处
很多时候,除了要知道一个函数或者类的定义和实现以外,你可能还希望知道它们被谁引用了,以及在哪里被引用了。这时你只需要将光标移动到函数或者类上面,然后按下 Shift + F12,VS Code 就会打开一个引用列表和一个内嵌的编辑器。在这个引用列表里,你选中某个引用,VS Code 就会把这个引用附近的代码展示在这个内嵌的编辑器里。
网友评论