首页 > 其他分享 >vs code使用技巧

vs code使用技巧

时间:2022-09-27 21:23:39浏览次数:70  
标签:code 技巧 arch boot vs dts true arm mach

vs code是微软推出的一款开源免费的代码编辑器,可运行在Windows,Linux,MacOS平台,官方下载地址如下:

https://code.visualstudio.com/

如果系统版本比较旧(如Ubuntu 16),安装新版本vs code可能会出现出现一些问题,可以在下面链接下载旧版本:

https://code.visualstudio.com/updates

1,安装插件

安装插件可以提高效率,可以参考我的安装:c/c++,python,DeviceTree,Makefile Tools,CMake。

2,快捷键

以Windows下为例:

  • Ctrl + 鼠标左键单击:跳转代码;
  • Alt + 左箭头:后退(返回跳转);
  • Alt + 右箭头:前进(进入跳转);
  • Alt + 上箭头:整行上移;
  • Alt + 下箭头:整行下移;
  • Alt + Shift + 上箭头:整行向上复制;
  • Alt + Shift + 下箭头:整行向下复制;
  • Shift + Del:剪切当前行(也可当作删除整行使用);
  • Ctrl + A && Ctrl + K && Ctrl + F:格式化全选代码;
  • Ctrl + K && Ctrl + T:切换主题;
  • Ctrl + P:搜索文件;
  • Ctrl + F:文件内搜索/替换;
  • Ctrl + Shift + F:全局搜索关键字(折叠选项里可筛选搜索文件的范围,类型,及是否替换关键字);
  • 如果安装了c/c++这个插件,那么多行注释可以这样写: 先输入双引号内的字符"/***/",然后光标定位到倒数第一个"*"号之前,按下回车即可多行注释,范围内每一个回车自动新增注释一行;
  • 目录树栏有个OUTLINE(中文名叫大纲),可以查看函数目录;

3,内容定制

vs code面对大型代码工程时,在使用默认配置下,全局搜索和代码管理的效率非常低,我们需要调整配置,提高我们搜索和查看本地代码的效率,我们以Linux内核源码为例,在编译内核源码后,会产生大量的"*.o"的文件,这在全局搜索代码时,会拖慢我们找到代码的效率,除此之外,像"*.txt","*.md","*.rst"等文件,搜索时甚至大多数浏览代码时也不需要,我们就把它们屏蔽掉,下面是我针对全志一款芯片调整的Linux内核工程的vs code设置,首先在Linux内核根目录新建一个".vscode",(注意前面的逗点),在这个目录里新建两个json配置文件:c_cpp_properties.json和settings.json,分别写入如下内容:

c_cpp_properties.json

 1 {
 2     "configurations": [
 3         {
 4             "name": "Linux",
 5             "includePath": [
 6                 "${workspaceFolder}/**",
 7                 "${workspaceFolder}/include/**",
 8                 "${workspaceFolder}/arch/arm/include/**"
 9             ],
10             "intelliSenseMode": "linux-gcc-x64",
11             "compilerPath": "",
12             "cStandard": "c17",
13             "cppStandard": "c++17",
14             "configurationProvider": "ms-vscode.makefile-tools"
15         }
16     ],
17     "version": 4
18 }

settings.json

  1 {
  2     "search.exclude": {
  3         "**/node_modules": true,
  4         "**/bower_components": true,
  5         "**/*.o":true,
  6         "**/*.su":true,
  7         "**/*.cmd":true,
  8         "**/*.ko":true,
  9         "**/*.dtb":true,
 10         "**/*.log":true,
 11         "**/*.txt":true,
 12         "**/*.md":true,
 13         "**/*.rst":true,
 14         "**/*.git":true,
 15         "**/*.gitignore":true,
 16         "**/*.map":true,
 17         "**/*.py":true,
 18         "**/*.sh":true,
 19         "**/*.so":true,
 20         "**/*.a":true,
 21         "**/*.in":true,
 22         "**/*.scr":true,
 23         "Documentation":true,
 24         "LICENSES":true,
 25 
 26         /* 屏蔽不用的架构相关的文件 */
 27         "arch/alpha":true,
 28         "arch/arc":true,
 29         "arch/arm64":true,
 30         "arch/avr32":true,
 31         "arch/[b-z]*":true,
 32         "arch/arm/plat*":true,
 33         "arch/arm/mach-[a-r]*":true,
 34         "arch/arm/mach-[t-z]*":true,
 35         "arch/arm/mach-s3c*":true,
 36         "arch/arm/mach-s5p*":true,
 37         "arch/arm/mach-s[a-t]*":true,
 38 
 39         /* 屏蔽排除不用的配置文件 */
 40         "arch/arm/configs/[a-r]*":true, 
 41         "arch/arm/configs/[t-z]*":true,
 42         "arch/arm/configs/s3c*":true,
 43         "arch/arm/configs/s5p*":true,
 44         "arch/arm/configs/s[a-t]*":true,
 45 
 46         /* 屏蔽掉不用的DTB文件 */
 47         "arch/arm/boot/dts/[a-r]*":true,
 48         "arch/arm/boot/dts/[t-z]*":true,
 49         "arch/arm/boot/dts/s3c*":true,
 50         "arch/arm/boot/dts/s5pv*":true,
 51         "arch/arm/boot/dts/sam*":true,
 52         "arch/arm/boot/dts/sd*":true,
 53         "arch/arm/boot/dts/sh*":true,
 54         "arch/arm/boot/dts/soc*":true,
 55         "arch/arm/boot/dts/spear*":true,
 56         "arch/arm/boot/dts/st*":true,
 57         "arch/arm/boot/dts/*.tmp":true,
 58     },
 59     "files.exclude": {
 60         "**/.git": true,
 61         "**/.svn": true,
 62         "**/.hg": true,
 63         "**/CVS": true,
 64         "**/.DS_Store": true,
 65         "**/*.o":true,
 66         "**/*.su":true,
 67         "**/*.cmd":true,
 68         "**/*.ko":true,
 69         "**/*.dtb":true,
 70         "**/*.log":true,
 71         "**/*.txt":true,
 72         "**/*.md":true,
 73         "**/*.rst":true,
 74         "**/*.git":true,
 75         "**/*.gitignore":true,
 76         "**/*.map":true,
 77         "**/*.so":true,
 78         "**/*.a":true,
 79         "**/*.scr":true,
 80         "Documentation":true,
 81         "LICENSES":true,
 82 
 83         /* 屏蔽不用的架构相关的文件 */
 84         "arch/alpha":true,
 85         "arch/arc":true,
 86         "arch/arm64":true,
 87         "arch/avr32":true,
 88         "arch/[b-z]*":true,
 89         "arch/arm/plat*":true,
 90         "arch/arm/mach-[a-r]*":true,
 91         "arch/arm/mach-[t-z]*":true,
 92         "arch/arm/mach-s3c*":true,
 93         "arch/arm/mach-s5p*":true,
 94         "arch/arm/mach-s[a-t]*":true,
 95 
 96         /* 屏蔽排除不用的配置文件 */
 97         "arch/arm/configs/[a-r]*":true,
 98         "arch/arm/configs/[t-z]*":true,
 99         "arch/arm/configs/s3c*":true,
100         "arch/arm/configs/s5p*":true,
101         "arch/arm/configs/s[a-t]*":true,
102 
103         /* 屏蔽掉不用的DTB文件 */
104         "arch/arm/boot/dts/[a-r]*":true,
105         "arch/arm/boot/dts/[t-z]*":true,
106         "arch/arm/boot/dts/s3c*":true,
107         "arch/arm/boot/dts/s5pv*":true,
108         "arch/arm/boot/dts/sam*":true,
109         "arch/arm/boot/dts/sd*":true,
110         "arch/arm/boot/dts/sh*":true,
111         "arch/arm/boot/dts/soc*":true,
112         "arch/arm/boot/dts/spear*":true,
113         "arch/arm/boot/dts/st*":true,
114         "arch/arm/boot/dts/*.tmp":true,
115     }
116 }
settings.json

4,Web版VS Code

https://code.visualstudio.com/docs/editor/vscode-web

标签:code,技巧,arch,boot,vs,dts,true,arm,mach
From: https://www.cnblogs.com/phoebus-ma/p/16736023.html

相关文章

  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践(一)基本要求ovs-vsctl基础操作实践:创建OVS交换机,以ovs-xxxxxxxxx命名,其中xxxxxxxxx为本人学号。在创建的交换机上增加端口p0和p1,设置p0......
  • Lvs负载均衡
    Lvs负载均衡目录Lvs负载均衡lvs简介lvs作用lvs体系结构lvs的三种工作模式基于NAT的LVS模式负载均衡基于TUN模式的负载均衡基于DR模式的LVS负载均衡LVS管理工具LVS的10种调......
  • VS2010创建windows服务其实很简单 ProjectInstaller.cs Timer
    VS2010创建windows服务其实很简单ProjectInstaller.cs【IT168技术】很多人会对使用VisualStudio有不少的烦恼,下面我们来看一下作者是如何创建windows服务的,看后你......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Python......
  • LeetCode[279. 完全平方数]
    279.完全平方数本题我们可以把他理解成一个图论我们的每一个结点就是每一个数值加了平方项以后就从当前值转移到了另一个值BFS常见套路定义一个队列,队列中有元素就......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践(一)基本要求1.ovs-vsctl基础操作实践:创建OVS交换机,完成相关要求后查看网络状态与端口信息:2.使用Mininet搭建的SDN拓扑,如下图所示,要求......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Pytho......
  • 实验2:Open vSwitch虚拟交换机实践
    (一)基本要求1.ovs-vsctl基础操作实践:创建OVS交换机,以ovs-xxxxxxxxx命名,其中xxxxxxxxx为本人学号。在创建的交换机上增加端口p0和p1,设置p0的端口号为100,p1的端口号为101,类......
  • ES新建索引报错application/x-www-form-urlencode不再支持,错误代码406
    搭建es与head后创建索引遇到{"error":"Content-Typeheader[application/x-www-form-urlencoded]isnotsupported","status":406}1、进入容器 dockerexec-itidbas......