vscode使用技巧

文章目录

VS

安装vscode

sudo apt update
sudo apt install software-properties-common apt-transport-https wget
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
sudo apt install code

ubuntu和window快捷键不一样

安装扩展
Windows default keybindings

remote-ssh

参考

  • 确保ubuntu的SSH可用
  • 安装VS code的remote-ssh插件
  • 点击+,输入ssh ubuntu-username@ubuntu-ip,扩展配置remote-ssh中选择C盘下的config文件,保持默认。完成
  • ssh 连接免密码:
bash 复制代码
# 如果没有rsa公私钥
# ssh-keygen -t rsa
# git bash 下输入
ssh-copy-id -i ~/.ssh/id_rsa.pub eden@192.168.126.128

Remote SSH的config文件下连接中添加生成的rsa的路径,就行了

bash 复制代码
Host 192.168.47.136
    HostName 192.168.47.136
    User eden
    IdentityFile C:\Users\eden.lu\.ssh\id_rsa

如果找不到rsa的话,,需要修改windows上git的HOME变量为C:\Users\eden.lu\.ssh,重新生成rsa

bash 复制代码
setx HOME "C:\Users\eden.lu\.ssh"

使用vscode查看linux内核源码

在windows上使用vscode查看在虚拟机上的内核源码,需要安装:

  • remote SSH
  • Clangd(windows和ubuntu):vscode上的一个查阅代码的智能工具(需要有compile_commands.json文件才能正确索引)
  • bear(ubuntu):编译时生成compile_commands.json文件

在windows的vscode上安装插件Clangd,远程也需要。(因为网络不能下载的,可以挂个VPN)

在clangd设置中增加iterm(每个iterm一条):

bash 复制代码
--compile-commands-dir=${workspaceFolder}
--background-index
--completion-style=detailed
--header-insertion=never
-log=info

编译kernel时需要在命令前加上bear --

如:bear -- make zImage -j4

将编译生产的compile_commands.json文件所在目录作为vscode工作目录,即可正常使用代码索引功能。

打开vscode的output窗口,ctrl+shift+p执行clangd:restart language server重启clangd

使用vi查看linux内核源码

ctags -R

ctrl+]:跳转定义
g ctrl+]:体系可选的跳转定义
ctrl+o:返回

在linux上的vscode使用clangd

在vscode安装clangd插件后还需要安装clangd server
下载最新的clangd

解压后,

将bin文件夹下的 clangd 移动到 /usr/bin 目录下,

将lib文件夹下的所有移动到 /usr/local/lib 目录下。
clangd --version

打开内核源码目录,删除原有的.cache文件夹,在compile_commands.json文件所在目录打开vscode,然后打开一个c文件,等待clangd索引完成。

vscode资源管理器字体大小设置

Zoom level设置项,可选为0/1

相关推荐
苦逼IT运维9 分钟前
YUM 源与 APT 源的详解及使用指南
linux·运维·ubuntu·centos·devops
仍有未知等待探索27 分钟前
Linux 传输层UDP
linux·运维·udp
zeruns80234 分钟前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
卑微求AC34 分钟前
(C语言贪吃蛇)16.贪吃蛇食物位置随机(完结撒花)
linux·c语言·开发语言·嵌入式·c语言贪吃蛇
Hugo_McQueen1 小时前
pWnos1.0 靶机渗透 (Perl CGI 的反弹 shell 利用)
linux·服务器·网络安全
XY.散人1 小时前
初识Linux · 文件(1)
linux·运维·服务器
叶北辰CHINA2 小时前
nginx反向代理,负载均衡,HTTP配置简述(说人话)
linux·运维·nginx·http·云原生·https·负载均衡
不惑_3 小时前
在 Ubuntu 安装 Python3.7(没有弯路)
linux·运维·ubuntu
玉树临风江流儿4 小时前
Linux驱动开发(速记版)--设备模型
linux·驱动开发
杰哥在此4 小时前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程