VScode的使用

本文详细介绍了如何在Windows和Ubuntu上配置VSCode,包括推荐的终端、常用插件,如Chinese(Simplified)、Prettier和CodeRunner。同时,文章提供了C++和Python的开发环境配置步骤,以及Git管理和Markdown写作的支持。此外,还强调了AI辅助编程工具如GitHubCopilot和IntelliCode的重要性。
摘要由CSDN通过智能技术生成

 VSCode 是什么|极客教程 (geek-docs.com)

windows版本的VScode和ubuntu版本的VScode差不多一样的,只是有一点差别,注意区分

终端

Ubuntu好用的终端:Terminator

sudo apt install terminator

Windows10好用的终端:Windows Terminal

Microsoft Store搜索,即可安装

VScode常用插件:

Chinese (Simplified) (简体中文)         中文语言包

var-translate-en     ,fanyi (滚轮翻译)     翻译插件

Snippets    代码模板         VSCode中snippets(代码模板)的使用 

vscode-icons       文件带图标

error lens     错误提示

Bracket Pair Colorizer    括号染色

Prettier - Code formatter      格式化代码(统一) 

Path Intellisense    相对路径自动补全

Code Runner   直接在 VSCode 中运行各种脚本和代码

JavaScript (ES6) code snippets   快捷键补全代码

GitHub Copilot      AI生成代码

CodeGeeX   AI生成代码,自动提示补全

IntelliCode     AI辅助写代码

LeetCode with labuladong    可视化运行过程

开发环境

Python

Python ,pylance (需要设置),  Jupyter, Python Extension Pack (多个插件集中)

Python Preview (预览 Python 代码的运行结果和效果)  

C/C++ 

C/C++  ,C/C++ Extension Pack ,  C/C++ Themes, CMake ,CMake Tools ,

C/C++ Project Generator

前端:

VSCode编辑器直接打开默认浏览与Live Server开启本地服务器_哔哩哔哩_bilibili

 HTML CSS Support   

Auto Close Tag     自动完成右侧标签的填充

Live Server            (html)实时预览

Auto Rename Tag    自动修改标签名

CSS Peek css定位器       快速定位标签

Javascript Code Snippets  提供很多 JS 代码块提示

 Quokka.js   显示运行时值

学Emmet语法

MySQL

 MySQL  ,  SQLTools (管理数据库)

Java

Language Support for Java(TM) by Red Hat

一般不用vscode写Java代码,因为Java工程比较庞大

ROS有关的插件

ROS  ,   运行ros的插件

Rosbag Preview   数据预览

Msg Language Support    ,对 ROS 和文件的基本语言支持

URDF   ,    对 .urdf的文件支持,描述,仿真

XML

YAML

PBM/PPM/PGM Viewer for Visual Studio Code 

Markdown文件的插件

Markdown All in One    方便写Markdown文件

Markdown Preview Enhanced     预览Markdown效果

Paste Image   方便把图片插到Markdown

辅助添加

GitLens        Git 代码管理插件

Remote SSH      远程连接

Regex Previewer    创建正则表达式的预览

Bookmarks   源码阅读,方便跳转

Codelf 给变量起名的神器

koroFileHeader   函数的说明高级注释    /**              @bref   */

Cortex-Debug     调试器

Tabnine    AI助手

 Better Comments    将注释分为警告、询问、待办、重点等几大类

Search/Translate Hero - Google/......     在VSCode选中,右键到浏览器搜索   

Settings Sync 把你vscode所有的设置内容同步到 Github,方便移植到新设备

shellman      Linux shell 脚本辅助工具

Power Mode      一款超级炫酷的编辑代码的插件 Power Mode 

Docker

https://blog.csdn.net/u011262253/article/details/113879997

使用VScode

!表示代码模板

命令面板中输入  > 表示 调用插件的命令打开: ctrl + Shift + P  这个命令它会打开 VsCode 命令窗口,在这个窗口下输入上述的插件名称就能知道这个插件支持哪些特性了,顺带还会说明特性快捷键。

windows版本配置C++环境

下载编译器,直接用DEV C++的得了

编译器路径    DEV C++/mingw64/bin/g++.exe

命令面板编译:

GCC  Compiler

运行指令:main.exe

ubuntu版本配置C++环境

【ubuntu(Linux)安装Vs code并配置c++编译及cmake多文件编译】_ubuntu vs code-CSDN博客

  1. lauch.json负责的是启动任务,执行文件(可执行文件)
  2. tasks.json负责的是配置相关任务。简单来说就是负责编译链接生成可执行文件,其实就是执行终端的编译指令[g++ -g main.cpp -o main.o]。所以在执行launch.json文件之前必须先执行tasks.json
  3. launch.json和tasks.json通过launch.json中的preLaunchTask关联起来。launch.json中的preLaunchTask是为了启动tasks.json的,所以preLaunchTask对应的标签应该与task.json一致。

                        

安装环境包和库,把头文件include和库文件lib移动到 /usr/local/include或lib下,方便引用

vscode配置环境,其实主要就解决两个问题,一个是头文件包含,一个是库文件搜索。头文件包含在c_cpp_properties.json中解决,库文件包含则要继续修改tasks.json

点击调试图标--左上角--创建launch.json

命令面板输入:C/C++:编辑配置(json),创建c_cpp_properties.json

点击运行按钮,创建tasks.json

点击设置,点击右上角的 打开设置(json) ,创建settings.json

注意!vscode代码中(ubuntu),有关路径的都用绝对路径,相对路径会有问题

安装库:  apt install gcc g++

配置.vscode下的launch.json文件

修改:"program": "${fileDirname}/${fileBasenameNoExtension}",

添加:"preLaunchTask": "build",//均为build

"externalConsole": true,

配置.vscode下的tasks.json文件

"label": "build",//均为build

"${fileBasenameNoExtension}"

其中,"args":里的参数非常重要,要编译完所有的.cpp文件

"args": [

"-fdiagnostics-color=always",

"-g",

"${fileDirname}/*.cpp",

"-o",

"${fileBasenameNoExtension}"

],
配置opencv环境

在c_cpp_properties.json中添加头文件路径

"includePath": [
"${workspaceFolder}/**",
"/usr/local/include/",
"/usr/local/include/opencv4",
"/usr/local/include/opencv4/opencv2"
],

按键 ctrl+shift+p命令面板:

输入 C/C++:添加调试配置    -->g++生成和调试活动文件 。会生成tasks.json文件

将下方代码添加到 tasks.json 中的 args 的-o下面

"args": [
                "-I", "/usr/local/include",
                "-I", "/usr/local/include/opencv4",
                "-I", "/usr/local/include/opencv4/opencv2",
                "-L", "/usr/local/lib",
                "-l", "opencv_aruco",
                "-l", "opencv_bgsegm",
                "-l", "opencv_bioinspired",
                "-l", "opencv_calib3d",
                "-l", "opencv_ccalib",
                "-l", "opencv_core",
                "-l", "opencv_datasets",
                "-l", "opencv_dnn_objdetect",
                "-l", "opencv_dnn",
                "-l", "opencv_dpm",
                "-l", "opencv_face",
                "-l", "opencv_features2d",
                "-l", "opencv_flann",
                "-l", "opencv_freetype",
                "-l", "opencv_fuzzy",
                "-l", "opencv_hfs",
                "-l", "opencv_highgui",                
                "-l", "opencv_imgcodecs",
                "-l", "opencv_img_hash",
                "-l", "opencv_imgproc",
                "-l", "opencv_line_descriptor",
                "-l", "opencv_ml",
                "-l", "opencv_objdetect",
                "-l", "opencv_optflow",
                "-l", "opencv_phase_unwrapping",
                "-l", "opencv_photo",
                "-l", "opencv_plot",
                "-l", "opencv_reg",
                "-l", "opencv_rgbd",
                "-l", "opencv_saliency",
                "-l", "opencv_shape",
                "-l", "opencv_stereo",
                "-l", "opencv_stitching",
                "-l", "opencv_structured_light",
                "-l", "opencv_superres",
                "-l", "opencv_surface_matching",
                "-l", "opencv_text",
                "-l", "opencv_tracking",
                "-l", "opencv_videoio",
                "-l", "opencv_video",
                "-l", "opencv_videostab",
                "-l", "opencv_ximgproc",
                "-l", "opencv_xphoto"
            ],

其中:“-I”指令后面的头文件坐在路径,“-L”后面是库文件所在路径,“-l” 后面是库的名字。

注意:此处有个坑就是,库的名字一定要按照上述文档中的方式写,即“opencv_XXX”,而不能按照传统上linux的库名“libopencv_XXX”,否则编译会报错说找不到函数库。

上面方法不推荐,我个人的想法是:在VScode中写C/C++代码,必须学会编译原理,必须会写cmakelists语法,使用cmake的方法编译运行。因为我们配置环境,如opencv ,都是下载官方源码,然后cmake编译安装。学ros2也需要写cmakelists.txt  ,所以,会cmake会简单许多。

学习cmake语法:

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

需要安装构建工具:

sudo apt install ninja-build

在配置文件c_cpp_properties.json中添加:

"configurationProvider": "vector-of-bool.cmake-tools",

意思是C++的配置信息Cmake插件提供,这样包含的头文件就不会出现红色波浪线

某些库并不是安装到了系统路径上(例如/usr/bin /usr/local/),所以直接使用Cmake命令是查找不出来的,因此我们需要在Cmake的参数中添加库的路径。

{"cmake.configureArgs":["-DCMAKE_PREFIX_PATH=/home/prototype/Desktop/Cuda-project/libtorch"],}

然后我们执行Cmake的confit命令,我们直接调用命令台工具(Ctrl + Shift + P),然后选择Cmake Config:

代码改变后需要make clean ,增加文件或改变了cmakelists.txt需要删除整个build目录。

cmakelists.txt写了头目录后,写代码直接包含头文件,不用再加目录了。(不需要路径)

为了方便,写个shell脚本编译运行:

rm -rf build
mkdir build
cd build
cmake ..
make
./test

常用快捷键

ctrl + Shift + P   打开命令面板
Alt + ←   返回上一步,   跳回上一个光标所在的位置: 或者鼠标侧面的前进后退键

ctrl + `   打开终端

Alt + F12  以预览方式在当前页面显示定义

 Shift + F12 查看光标所在函数或变量的引用

......

VSCode Python问题

VSCode Python同项目内的import问题

https://blog.csdn.net/weixin_39278265/article/details/119661991 
在ros2中,在同一个目录下,从file.py import class时,不需要加.py后缀,而且,要在前面加上功能包的名称,就行了。如:

import sys
sys.path.append('/home/fishros/projects/fish/src/decision/decision') 
from decision.subscrib_referee import SubReferee 


VSCode Python代码里的路径问题:
VSCode 写Python代码,如果用相对路径,多少都是有些问题的,所以,必须用绝对路径。
用相对路径的话,需要添加
import sys
sys.path.append('工作区路径') 

......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小艺

如果文章对你有用,请我喝咖啡吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值