1.Bigfish VSCode 插件开发实践
2.备忘录:安装WSL2和VSCode 搭建linux C++(CMake)开发环境
3.使用 Vscode 搭建 Linux Kernel 4.4.6 可视化调试环境
4.值得收藏!内核VScode 中这 15 个神仙插件写代码必备!源码源代
5.vscode server源码解析(三) - code server
6.vscode配置c/c++环境
Bigfish VSCode 插件开发实践
Bigfish,内核蚂蚁集团的源码源代企业级前端框架,基于umi微内核和preset-react内部扩展,内核其最新进展是源码源代ue 像素流 源码发布了VSCode插件。在开发过程中,内核由于缺乏详细的源码源代指南,开发者记录下整个过程,内核旨在帮助后来者更高效地开发插件,源码源代这将是内核一个系列教程。
探究中,源码源代作者思考是内核否能利用umi直接开发VSCode插件,以提升开发效率。源码源代开始动手,内核首先推荐使用VSCode Insiders版本,它提供了纯净的插件开发环境,并建议使用英文版方便阅读源代码。
从零开始,使用官方脚手架快速初始化插件,通过npx而非全局安装。在Hello-World项目中,通过运行插件,可以看到基础的插件功能,如输入『Hello World』后弹出消息。
深入理解插件结构,项目的目录组织与npm库相似,关键在于理解package.json,尤其是VSCode开发配置和contributes部分,这里声明了插件的入口、功能和配置项。
举例说明,如创建一个点击按钮显示webview的功能,涉及到VSCode的命令系统、webview API和命令注册,如`vscode.commands.registerCommand`。通过webview API,扩展了VSCode的交互能力。
进阶内容包括更深入的命令系统设计,利用when上下文条件控制功能开启,以及结合umi开发webview的策略。确保兼容性和云IDE,图标设计也需考虑用户体验。
打包和发布方面,通过优化webpack配置,减少包体积,处理预编译依赖和安全性问题,以及使用官方的vsce工具发布。最后,开发者提出了新的思考,关于是否可以借鉴SSR方法,用umi构建统一的开发环境,包括webview支持。
整个开发旅程中,作者鼓励大家交流讨论,共享经验,可以通过chaolin.jcl@antgroup.com联系作者进行深入探讨。
备忘录:安装WSL2和VSCode 搭建linux C++(CMake)开发环境
如果Microsoft Store无法登录,错误代码0xcf,但可以正常上网,网络连接显示“无法连接到Internet”,有可能是电信的问题。可以连接到手机热点,显示“Internet访问”后,再切换回WIFI。
安装WSL2
参考链接:
安装 WSL
旧版 WSL 的手动安装步骤
设置 WSL 开发环境的最佳做法
如果在“Windows PowerShell”中无法运行“wsl”命令,开始 --- 设置 --- 应用 --- 可选功能 --- 更多Windows功能,开启linux子系统和虚拟机平台。
运行命令“winver”,可以查看系统版本号。
WIN (内部版本 )
自动安装
--install 命令执行以下操作:
若要查看可通过在线商店下载的可用 Linux 发行版列表,请输入:
若要更改安装的在线图表源码发行版,请输入:
将 替换为要安装的发行版的名称。
WIN (内部版本 )
适用于 x 计算机的 WSL2 Linux 内核更新包
打开 Microsoft Store,并选择你偏好的 Linux 分发版。
配置Ubuntu
清华大学开源软件镜像站 Ubuntu 镜像使用帮助
备份 /etc/apt/sources.list,将该文件替换为清华软件源镜像。
要在 Windows 文件资源管理器 中打开 WSL 项目,请输入:
explorer.exe .
WINDOWS的磁盘挂载在“/mnt”下。可以在WIN中编辑源镜像文件,覆盖原文件:
在 "/etc/wsl.conf" 文件添加,禁用WSL2访问Windows的环境变量。但会无法在WSL端通过"code ." 打开VSC。
安装 Windows 终端
打开 Microsoft Store,搜索“Windows Terminal”。
安装VSCode
CTRL+SHIFT+P 命令
CTRL+SHIFT+X 扩展
CTRL+SHIFT+E 资源浏览器
CTRL+SHIFT+B bulid
设置Linux开发环境
参考链接
开始使用 Visual Studio Code 与适用于 Linux 的 Windows 子系统
Remote development in WSL
Using C++ and WSL in VS Code
Get started with CMake Tools on Linux
更新 Linux,添加 wget (从 web 服务器检索内容) 和 ca 证书 (允许基于 SSL 的应用程序检查 SSL 连接的真实性)
安装C++编译器和调试器
安装CMake,建议版本V3. 以上。
下载安装地址: CMake
安装内存泄漏检测工具
查看GCC版本
通过远程资源管理器打开连接,远程资源管理器 --- WSL目标(远程/隧道SSH)--- 默认发行版(新建远程SSH)--- 在新窗口中连接。
创建CMake工程
打开Linux终端,输入下列命令,创建新的工作目录并用VSC打开。
在VSC命令面板中输入 “CMake: Quick Start”回车,选择GCC版本,输入项目名称,选择 C++项目,可执行文件。
可以输入命令"CMake: Select a Kit",选择编译工具。
在 设置 "cmake.options"中,选择CMake 在状态栏可见。这样可以在状态栏切换"Debug"、"Release"等设置,运行生成/调试/运行等命令。
修改默认bulid路径
源码格式化为Google 风格,快捷键 Shift+Alt+F
Linux SSH登录过慢解决办法
修改 /etc/ssh/sshd_config 配置文件
重启SSH服务
使用 Vscode 搭建 Linux Kernel 4.4.6 可视化调试环境
本文旨在指导如何使用Vscode搭建Linux Kernel 4.4.6的可视化调试环境,通过Qemu模拟器、Busybox和Gdb等工具进行配置和调试。首先,确保你的Linux宿主机为位,并安装好必要的编译内核工具。选择4.4.6版本的内核源代码,配置时开启debug信息和特定选项。为得到流畅的代码提示,需生成compile_commands.json文件,可能需要使用bear工具。在编译过程中,可能会遇到与PIC模式和链接器版本相关的报错,需进行相应调整。完成内核编译后,利用Qemu启动并解决可能的重启问题。使用Busybox构建initramfs,以支持内核启动时的设备驱动和基本程序。最后,通过.gdbinit和launch.json配置Vscode,实现在Kernel代码中的可视化调试,包括设置断点和启动调试过程。整个过程涉及从下载源码到成功进入Shell并进行调试的详细步骤。
值得收藏!VScode 中这 个神仙插件写代码必备!
欢迎来到VS Code的插件世界,这里将为您揭示个不容错过的神器插件,旨在让您在编码过程中如虎添翼。这些插件涵盖了Python、C/C++、JavaScript、代码运行、背景调整、标签重命名、注释优化等多个方面,旨在全面提升您的编程效率与体验。收藏、315溯源码查询点赞、关注我们的公众号,获取更多优质资源。 VS Code,作为一款轻量级且功能强大的源代码编辑器,支持多种编程语言,包括但不限于JavaScript、TypeScript、Node.js等,其丰富的扩展生态系统让它的功能更加丰富多样。下面,让我们逐一探索这些插件的魅力。Python插件
Python插件提供了丰富的功能,包括智能代码补全、代码检查、调试、代码导航、格式化、重构、变量浏览器以及测试资源管理等,极大地提升了Python开发的效率和体验。Jupyter插件
Jupyter插件在VS Code中提供了基本的笔记本支持,无需修改即可在多种语言内核上工作。默认情况下,它包括了Jupyter Keymaps和Jupyter Notebook Renderers扩展,为Jupyter笔记本的使用提供了便利。C/C++插件
C/C++插件为VS Code增加了对C/C++语言的全面支持,包括智能代码补全、调试功能等,让C/C++开发变得更加顺畅。ESLint插件
ESLint是一个用于识别并报告JavaScript代码中模式的工具,旨在使代码保持一致并避免错误。它为开发者提供了强大的代码质量检查功能。Prettier插件
Prettier是一个代码格式化工具,支持多种编程语言,包括JavaScript、TypeScript、CSS、SCSS、Less等,能帮助您统一代码风格,提高代码可读性。Live Server插件
Live Server插件为静态和动态页面提供了一个本地服务器,支持实时重新加载,让开发过程更加高效便捷。Visual Studio IntelliCode插件
IntelliCode插件为Python、TypeScript/JavaScript和Java开发提供了AI辅助功能,基于代码上下文与机器学习技术相结合,提高开发效率。Code Runner插件
Code Runner插件允许您直接运行多种语言的代码片段或代码文件,无需保存即可执行,大大节省了开发时间。背景调整插件
对于那些厌倦了单调编程背景的开发者,Background插件提供了更改背景图的功能,为您营造一个更加个性化的开发环境。 通过这些插件,您可以显著提升编程效率与体验。每款插件都旨在解决特定的编程需求,让您的开发之路更加顺畅。收藏、点赞、关注我们,获取更多编程技巧与资源。 文章推荐精选个炫酷的可视化大屏模板,拿走就用!
一文从0到1掌握用户画像知识体系
这9个特征工程使用技巧,解决%机器学习问题!
万字干货,一文详解数据分析知识体系!
深度盘点:种最常用的数据分析模型,赶紧收藏
年,hmtl5源码这个Github热门且实用的Python库值得收藏!
轻松解决时序异常检测问题,pyfbad这次火了!
心得总结:一名优秀的数据分析专家的能力模型
实践分享:如何搭建数据指标体系?
够强大!Python这款可视化大屏不足百行代码!
太漂亮了!输出好看的表格,就用这个Python库!
摒弃这个Python坏习惯,让你的代码好用到起飞!
深度盘点:字详细介绍Python中的7种交叉验证方法
效率倍增!5个提高生产力的Jupyter notebook插件!
+时序模型!GluonTS:一个专门为时间序列建模而设计的工具包!
只需三五行代码即可产出完美数据分析报告,这四大AutoEDA工具包真的太棒了!
感谢阅读,如文章对您有所启发,记得点赞和关注我们的公众号哦!vscode server源码解析(三) - code server
初次接触code server,可参考介绍文章。整体架构不清晰时,建议阅读架构分析。
在深入分析code server代码之前,先理解code server在远程开发中的作用。code server作为服务器的核心功能,提供远程IDE访问,基于express框架和nodejs平台构建,实现了轻量级服务器的基础。此外,它提供用户登录功能,确保安全访问,并在登录后加载vscode server内核代码。
code server还具备升级、代理和心跳检测等功能,但这些细节在此不作深入探讨。
本文将重点解析code server的启动机制、提供服务的实现方式、中间件和路由设计,以及如何启动vscode内核。
code server的启动通过src/node/entry.ts文件实现,启动命令为`code-server`。实际上,这只是一个shell脚本,通过`node`命令启动程序。在package.json中定义了启动逻辑。
程序启动时,会检查当前进程是否为子进程,进而决定执行的启动方式。父进程负责管理整个软件,启动子进程并控制其生命周期,以及与子进程通信,比如接收日志输出。子进程则作为真正的express框架服务器,加载vscode server内核代码。
运行代码通过`runCodeServer`方法启动,首先通过`createApp`创建服务器,监听指定的主机和端口。`handleUpgrade`方法处理websocket连接,这是vscode server前后端通信的关键。详细说明将单独撰写。
路由和中间件是code server的核心部分。路由定义了服务器提供的接口,如GET和POST,供前端调用。中间件则负责处理请求前后的预处理和后处理工作,如鉴权,注册到express框架中。
code server中的`register`方法处理路由和中间件逻辑,将请求分发到不同的路由,如`/login`和`/health`,仿金蝶 .net源码每个路由包含各自的中间件处理请求。
关于vscode server内核的启动,主要通过`src/node/routes/vscode.ts`文件实现。在经过鉴权等路由处理后,请求到达特定路由。`ensureCodeServerLoaded`中间件负责加载vscode代码。`loadAMDModule`执行原生vscode启动过程,引入模块。加载完成后,可以获得`createVSServer`方法,用于真正启动vscode内核。
至此,code server的基本功能实现完毕。接下来将深入探讨vscode server内核和websocket协议。
vscode配置c/c++环境
区分编辑器、编译器、IDE: 作者:C语言教学 编辑器就是处理文本(源码)的程序,写代码写的就是文本,编辑器可能提供智能提示、代码高亮等辅助功能,但不负责源码到二进制文件的操作; 编译器就是负责将源码文本翻译成计算机能够理解和执行的二进制文件的程序; 集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,包括了代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写、分析、编译、调试等一整套工具链。 什么是搭建环境: vscode定位代码编辑器,不是IDE,不包含编译功能,因此需要我们自己安装编译器、调试器等编译器套件,并使两者有效的配合起来,以实现快捷操作。把这一整套工具链整合到一起的过程就是我们所说的搭建环境。 ok,到这里,我们就清楚要做什么了:获取编辑器 -> 获取编译套装(编译器、调试器、头文件库等) -> 做好两者之间的沟通工作(配置文件) 两个东西:编辑器和编译套装 编辑器: VSCode 编译套装:win:mingw-w安装教程 下载 选项 重启 完全卸载 如果大家之前有安装过VSCode,然后只是简单卸载的话,再次安装之后,是还出现之前的配置信息,包括打开的文件夹、安装过的扩展等,这是因为之前并没有完全将VSCode卸载干净。如果想干净卸载掉VSCode再重新安装的话,就需要在卸载之后再删除掉两个目录的内容。分别是: C:\Users$用户名.vscode C:\Users$用户名\AppData\Roaming\Code 安装C/C++必备的插件 C/C++ 安装C/C++ Project Generator 示例一 在vscode中 ctrl+shift+p 打开菜单,在其中输入 create c 这时会弹出一个窗口,让你选中将源码放到哪个工作空间上,这个我选择C_Mutile,此时它会显式 这两个东西是啥呢? 先了解几个概念: 命令行:命令行 或 命令行界面,是一种基于文本的用来查看、处理、和操作计算机上的文件和程序的工具。 终端/控制台:可以输入命令行并显示程序运行过程中的信息以及程序运行结果的窗口。 不必要严格区分这两者的差别。 shell:终端自身并不执行用户输入的命令,它只是负责把输入的内容传送到主机系统,并把主机系统返回的结果呈现给用户。负责解释执行用户输入的命令并返回结果的,正是Shell,它是沟通用户和系统内核的中间桥梁。 我们写完代码之后,可以通过命令行去编译运行: 打开一个cmd终端 进入文件夹位置,然后gcc -o hello hello.c 但是每次都用命令行太麻烦了,怎么样才能更快捷呢?可以通过.vscode文件夹下的json配置文件来配置实现。这些json文件怎么写是由vscode开发团队规定的(感兴趣可以去看官方的文档), task是任务的意思,我们的编译和运行就是我们想要vscode执行的任务,为此我们要在tasks.json里写两个task:Build和Run(这里为什么不是Compile呢?是因为从源码到可执行的过程中不仅是编译(Compile),还有预编译、链接等过程,用构建(Build)来表述更合适)。除了编译和运行,我们还需要进行调试(Debug),这个就不是通过task来实现的了,而是通过launch.json文件来实现。 运行 方法一:按F5调试运行 方法二,图形界面 遇到的错误 g++ : 无法将“g++”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 解决: 将MinGW配置到环境变量中,注意配置完之后要重启vscode 检查MinGW是否配置好: gcc --version g++ --version gdb --version 终端启动VSCode 打开一个终端,然后运行code命令即可启动终端。 运行code --help可以打印出VS Code命令行支持的所有参数 打开一个文件夹 在一个新窗口中打开这个文件或文件夹: code 文件夹/文件名 在一个已经打开的窗口来打开文件: code -r 文件夹/文件名 比较两个文件的内容 比较两个文件的内容: code -d 文件a 文件b。 比如:code -r -d a.txt b.txt 其他 VS Code 命令行除了支持打开磁盘上的文件以外,也接受来自管道中的数据。这样你就可以将原本在命令行中展示的内容,实时地展示在 VS Code 里,然后在编辑器中搜索和修改。比如,你可以把当前目录下所有的文件名都展示在编辑器里,此时只需使用ls | code -命令。 关闭当前项目 file → close Folder 从资源管理器里调出系统终端 打开和创建一个集成终端: 打开终端的方法: 菜单栏:View–>Terminal 快捷键:Ctrl + `,按一下打开,再按一下关闭 命令面板:搜索并执行“切换集成终端”(Toggle Integrated Terminal) 具体效果: 如果还没有任何集成终端存在,那么它将创建一个新的,然后显示出来; 如果已经有几个集成终端了,那么就把终端面板调出来; 如果我们的光标就在集成终端里,那么这个命令会将终端面板隐藏。 若我们希望创建出一个新的终端来,而不是切换终端: 快捷键:Ctrl + Shift + ` 命令面板:搜索并执行 “新建集成终端”(Create New Intergrated Terminal) 如果我们的电脑屏幕足够大,或者我们希望在同一界面上看到多个运行的脚本,我们也可以把一个终端面板进行切分。我们只需按下 Cmd + \ 或者运行 “拆分终端”(Split Terminal),就能够将当前的终端一分为二;如果再次按下这个快捷键,就能够将当前的面板平均分为三份…… 最上面一行是状态栏: 侧边栏:在默认设置下 VS Code 的左侧侧边栏有五个组件,它们分别是: 资源管理器,主要用于浏览和管理文件和文件夹。 跨文件搜索,用于在当前文件夹内进行跨文件的搜索。 源代码管理,用于对当前文件夹下的代码进行版本管理,默认 VS Code 支持的版本管理软件是 Git。 启动和调试,用于对当前文件夹下的项目进行运行和调试。 插件管理,用于下载和管理 VS Code 里的插件。 在侧边栏的最下角还有一个齿轮形状的按钮 它提供了一些 VS Code 系统管理常用的快捷键,点击打开后,你可以看到命令面板、设置、键盘快捷方式、管理扩展等等一系列快速入口。 界面的最下面一行则是状态栏: 这个组件的作用就是将当前文件夹、编辑器状态、代码版本、代码错误等的简略讯息呈现给你。除此之外,很多插件也会选择将信息呈现在状态栏上。 面板(Panel) 不过“界面概览”并没有覆盖所有的组件,其中一个非常重要的部分就是面板(Panel),你可以在命令面板中执行“切换面板”命令来打开它。 打开后,你会看到面板的四个组件:问题面板、输出面板、调试控制台和终端。 问题面板(Problems Panel)的作用是展示当前文件夹下代码里的所有问题和警告,比如你的代码有语法错误、格式问题、拼写错误等 输出面板(Output Panel)的作用就是将核心命令和插件的运行状态和结果输出来,比如你使用 Git 来管理你的代码版本,你的每个 UI 上的版本操作,你都能在输出面板里看到这个操作对应的 Git 命令行以及它的运行结果。这样即使意外发生了, VS Code 无法完成指定的 Git 命令,你依然可以通过阅读输出面板找到问题所在,然后自行修复。 调试控制台主要是在调试代码时使用 终端是开发工作中不可或缺的一个工具,VS Code 则更进一步,把终端直接集成了进来。集成终端的存在,使得 VS Code 保持轻量级成为了可能性。 命令面板 设计目的:是 VS Code 快捷键的主要交互界面,这样不用鼠标,使得所有的操作都可以通过键盘进行 如何打开:Ctrl + Shift + P 打开之后,命令面板的输入框里已经有一个字符: 如果第一个字符是>(默认) ,当你继续输入字符时,VS Code 就会在所有命令里进行搜索。 VS Code 的绝大多数命令都可以在命令面板里搜到 所以熟练使用命令面板,你就可以摆脱鼠标,完全通过键盘操作来完成全部编码工作。 如果第一个字符是@,那么就扫描当前文件,提供所有的符号。) 如果第一个字符是?,就可以看到十几条选项,分别代表着你能在命令面板里使用的不同的功能 >(大于号) ,用于显示所有的命令。 @ ,用于显示和跳转文件中的“符号”(Symbols),在@符号后添加冒号:则可以把符号们按类别归类。 # 号,用于显示和跳转工作区中的“符号”(Symbols) :(冒号), 用于跳转到当前文件中的某一行。 如果输入框里没有任何的字符时,命令面板提供的功能是访问最近使用的文件 edt 是 edit(编辑)的缩写,输入 edt 和一个空格,命令面板就会显示所有已经打开的文件;而edt active则只会显示当前活动组中的文件。 ext 是 extension(插件)的缩写,输入 ext 和一个空格,就可以进行插件的管理;ext install 则可以在命令面板中搜索和安装插件。 task和debug 分别对应于任务和调试功能。 term 是 terminal(终端)的缩写,你可以用这个命令来创建和管理终端实例。 view 则是用于打开 VS Code 的各个 UI 组件。 下面是一些常用命令的快捷键: Ctrl + P :文件跳转 Ctrl + Shift + Tab:在所有打开的文件中跳转 Ctrl + Shift + Tab:跳转到文件中的符号 Ctrl + G:跳转到文件中的某一行 如下图,在输入框中输入文号,就能列出所有可用的相关命令 键盘操作 自定义快捷键 打开键盘快捷方式:Ctrl+K ,Ctrl+S 搜索"select to bracket"(选择括号内所有内容),双击 按下”Cmd + Shift + ]”,回车 删除快捷键 在搜索框内搜索你使用的快捷键 通过右键选择删除该快捷键的绑定 针对单词的光标移动 一个字符一个字符的移动:方向键 一个单词一个单词的移动:Option(Windows 上是 Ctrl 键)和方向键 对于代码块的光标移动 if、for 语句会使用花括号将代码块包裹起来,可以在{ }始末快速跳转: Cmd + Shift + \(Windows 上是 Ctrl + Shift + \) 选中文本 把光标到单词开头之间的所有字符全部选中:Option(Windows 上是 Ctrl 键) + 左方向键+ Shift 键 将光标到第一行,或者最后一行之间的字符选中:Cmd、Shift 和上下方向键 操作一行代码 删除一行代码:“ Cmd + Shift + K ” (Windows 上是 “Ctrl + Shift + K”) 剪切一行代码:“ Cmd + x ” (Windows 上是 “Ctrl + x”) 在当前行的下面开始新一行:“Cmd + Enter” (Windows 上是 “Ctrl + Enter”) 在当前行的上面开始新一行:“Cmd + Shift + Enter” (Windows 上是 “Ctrl + Shift + Enter”) 撤销光标移动 撤销光标移动:“Cmd + U”(Windows 上是 “Ctrl + U”) 调整字符大小写 在命名面板里搜索:transf, 来变换字符的大小写。 代码格式化 前提:VS Code已经安装了相关插件。 对整个文档进行缩进: “Option + Shift + F” (Windows 上是 Alt + Shift + F) 对选中代码进行缩进:“Cmd + K Cmd + F” (Windows 上是 Ctrl + K Ctrl + F) 将代码注释掉: Cmd + / (Windows 上时 Ctrl + /) 代码缩进 打开命令面板(快捷键“Cmd + Shift + P”),搜索 “reind”,然后使用 “重新缩进行” 将整个文档的缩进进行调整,但更多时候,你只需要运行 “重新缩进选中行” 来调整部分选中代码行的缩进。 行排序 无论是你在写代码,还是写 Markdown,你都可以把代码行按照字母序进行重新排序。不过这个命令比较小众,VS Code 并没有给这个命令指定快捷键,你可以调出命令面板,然后搜索 “按升序排列行” 或者 “按降序排列行” 命令执行。 合并代码行 有的时候你可能会为了避免代码看起来过于冗余,就会把比较短小的几行代码合并到一行里面去。这时,你只需要按下 “ Ctrl + j ” (Windows 上未绑定快捷键,可以打开命令面板,搜索 ”合并行“)就可以了,而不需要不断地调整光标、删除换行符。 修改函数或者变量的名字 只需把光标放到函数或者变量名上,然后按下 F2,这样这个函数或者变量出现的地方就都会被修改。 把一段长代码抽取出来转成一个单独的函数 只需选中那段代码,点击**的灯泡图标,然后选择对应的重构操作即可 要注意的是,并不是每个语言服务都支持重构的操作。如果你选中一段代码后,但没有看到那个**的灯泡图标,那么也就是说你使用的这门语言可能还没有支持快速重构。 代码跳转 跳转到了 函数的定义处: 将鼠标移动到foo 上 然后按下 Cmd 键,这时候 foo下面出现了一个下划线。 然后当我们按下鼠标左键,就跳转到了 函数的定义处。 跳转到函数定义的位置:F 跳转到函数的实现的位置:“Cmd + F” (Windows 上是 Ctrl + F) 找到函数/类在哪里被引用 将光标移动到函数或者类上面 按下Shift+ F 文件跳转 按下 “Cmd + P” (Windows 上是 Ctrl + P)时,跳出一个搜索框。 搜索你想要的文件 打开 直接打开:“Enter” 键 一个新的编辑器窗口中打开: “Cmd + Enter ” (Windows 上是 Ctrl + Enter)组合键 行跳转 将光标快速地移动到某一行 按下 “Ctrl + g”,调出行输入框 这个输入框的第一个字符就是 “ : ”,在这之后输入数字 将光标快速移动的某个文件的某一行: 按下 “Cmd + P” 在搜索框输入: 文件名:指定行,比如 a.txt:3 在一个文件里的符号之间跳转 按下 “Cmd + Shift + O” (Windows 上是 Ctrl + Shift + O),就能够看到当前文件里的所有符号。 使用方向键,或者搜索,找到你想要的符号后,按下回车,就能够立刻跳转到那个符号的位置。 输入框里有一个 “@”符号,这时,如果你输入 “:”,就可以将当前文件的所有符号,进行分类,这样搜索符号也就更加方便。 在多个文件里的符号之间跳转 “Cmd + T” (Windows 上是 Ctrl + T),搜索这些文件里的符号 面包屑 怎么打开面包屑功能:“打开设置”(Open Settings),搜索 “breadcrumbs.enabled”,找到后将它打开。 怎么用?从左到右,我们能够看到一层一层文件夹的名字,然后是当前文件名,最后则是光标所在的函数的名字。我们可以通过点击这个工具栏上的文字,然后进行文件夹、文件或者是函数的跳转。 ”Cmd +F”搜索,按下 Enter 键在搜索结果当中快速跳转 把光标放在编辑器当中 按下 “Cmd + F” (Windows 上是 Ctrl + F),就能够快速地调出搜索窗口 调出搜索窗口的时候,编辑器就会把当前光标所在位置的单词自动填充到搜索框中。与此同时,当前文件里和搜索关键词相同的单词都会被高亮出来。 我们可以在在搜索框中搜索,然后按下Enter 键在搜索结果当中快速跳转 打开命令面板,搜索“配置用户代码片段”(Configure User Snippets)并且执行 这时候我们会看到一个列表,让我们选择语言。我们选中JavaScript 选择完语言后,我们就能看到一个 JSON 文件被打开了,这个文件里的内容,现在都是被注释掉的。我们可以选中第七行到第十四行,按下 Cmd+ / 取消注释。 这个就是代码片段了。 它是一个 JSON 文件,它的根对象下面的所有子节点都是一个单独的代码片段,并能够被我们调用和插入编辑器。 这个代码片段对象的键(key)是这个代码片段的名字,我们在书写时只要保证这个名字跟当前文件里的其他代码片段不冲突就可以了。 下面例子中: 这个代码片段的名字叫做 Print to console 这个代码片段对象的值,也就是花括号里的代码,必须要包含 “prefix” 前缀和 “body” 内容这两个属性。 同时,这个值还可以包含 “description” 描述这个属性,但这个属性不是必须的。 “prefix” 的作用是,当我们在编辑器里打出跟 “prefix” 一样的字符时,我们就能在建议列表里看到这个代码片段的选项,然后我们按下 Tab 键,就能够将这个代码片段的 “body” 里面的内容插入到编辑器里。如果这个代码片段有 “description” 这个属性的话,那么我们还能够在建议列表的快速查看窗口里看到这段 “description”。 { "Print to console": { "prefix": "log", "body": [ "console.log('$1');", "$2" ], "description": "Log output to console" } } 此时,我们可以打开一个 JavaScript 文件(还以之前的一段代码为例),然后输入 log,你就能够在建议列表里看到 Print to console 这个建议。然后再按下回车或者 Tab 键,就能够将这个代码片段插入编辑器了。 设置颜色主题 (1)打开编辑器 windows/linux:file—>perferences----> color theme macOS:code —>perferences----> color theme (2)使用方向键上下移动,选择不同的主题预览 (3)选择一个颜色主题,按下enter键,马上生效 设置文件图标主题 (1)打开编辑器 windows/linux:file—>perferences----> File Icon theme macOS:code —>perferences---->File Icon theme (2)使用方向键上下移动,选择不同的主题预览 (3)选择一个颜色主题,按下enter键,马上生效 None:禁用文件图标 首先需要说明的是,VS Code 的各个功能,都是基于当前打开的文件或者文件夹的。该怎么去理解这个概念呢? 如果你使用过 IDE 的话, 你应该记得在第一次打开 IDE 的时候,它们往往需要你创建一个工程,这个工程会生成一个特殊的工程文件。这个工程文件记载了这个项目有哪些相关的文件、项目的配置、构建脚本等等。这个文件记录着 IDE 管理工程的元信息,开发团队也能够通过共享这个工程文件保证成员工作环境的一致性。但是工程文件对用户体验就不太友好了,比如说项目文件可能对 IDE 的版本有所要求,项目文件损坏了 IDE 读取不了但是我们也不知道如何修复,等等。 VS Code 则选择了一种相对轻量,而且大家都易于理解的方式,那就是所有的操作都基于文件和文件夹。当你打开一个文件夹,VS Code 的核心功能就会对这个文件夹进行分析,并提供对应的功能。比如,在打开的文件夹下检测到有 .git 文件,就加载 Git 插件来提供版本管理的功能;或者发现文件夹下有 tsconfig.json ,就会激活 TypeScript 插件提供语言服务。 当你打开一个文件夹之后,你就能在工作台的最左侧看到资源管理器。资源管理器将当前文件夹下的文件和子文件夹,以树形结构的形式呈现出来。每一个文件的前面还会有一个小图标,用于反映文件的类型。 在资源管理器的最上方,你可以看到一个列表,叫做 “打开的编辑器”。这个很好理解,就是指这里面列出的都是当前已经被打开的文件。学习笔记:搭建 Linux 内核网络调试环境(vscode + gdb + qemu)
本文主要介绍了如何搭建Linux内核网络调试环境,主要步骤包括: 首先,使用VM(虚拟机)和Ubuntu .,配置dhcp方式的网络,绑定主机网卡,确保获得有效IP地址和DNS配置。 接着,安装和配置内核源码、gdb,进行内核的编译,并测试gdb是否能正确调试内核。 然后,使用qemu模拟器进行测试,特别提到一个关键问题:qemu的bzImage与gdb的vmlinux如何匹配。实际调试中,你需要确保gdb服务器与qemu的vmlinux关联正确。 对于非图形化的gdb,可以借助VSCode进行更便捷的调试。配置步骤包括设置远程连接Ubuntu、内核源码查阅和开启调试功能。 在VSCode中,创建Linux配置,安装相关插件后,可通过“运行”->“添加配置”启动调试。 在调试过程中,qemu需启用调试模式,通过输入's',VSCode可以捕获断点并进行深入调试。 为了实现外网通信,需要在VM中设置网桥,将qemu接口连接到网络。 测试阶段,可以将监听地址从.0.0.1调整为VM所在网段的地址,便于telnet测试。VSCode使用 - Remote-SSH 配置说明
作者:Ailson JackVSCode Remote-SSH配置指南
在开发过程中,VSCode的Remote-SSH插件提供了便捷的远程开发环境。它允许你利用任何支持SSH的远程服务器作为开发平台,简化了开发和问题排查过程。安装与准备
首先,确保你已经安装了VSCode。在扩展商店中搜索"Remote",安装"Remote-SSH"和"Remote-Containers"。安装过程中,"Remote-SSH: Editing Configuration"插件会自动安装。 在远端环境(如Ubuntu . LTS)上,确认SSH服务已启用。本地环境中,通过安装Git来保证SSH支持。SSH密钥配置
在Windows上,执行命令生成SSH密钥对(id_rsa和id_rsa.pub),默认情况下,密钥会保存在C:\Users\AilsonJack\.ssh目录下。接着,将id_rsa.pub文件传输到Ubuntu的.ssh目录中,以实现无密码登录。配置步骤
在VSCode中,点击“远程资源管理器”图标,进入设置界面,打开config文件,配置如下信息:// 配置信息
"remote.SSH.configurations": [
{
"name": "Ubuntu",
"host": "your-remote-host",
"username": "your-username",
"port": ,
"path": "/home/ailsonjack",
"sshAgentForwarding": true,
"identityFile": "${ configPath}/id_rsa",
"sshCommand": "ssh -o StrictHostKeyChecking=no",
"connectOnWindowFocus": true
}
]
完成配置后,右键点击主机名,选择连接,成功后即可在VSCode中操作Ubuntu系统,如阅读Linux内核源码。扩展安装到远端
配置完成后,VSCode允许在远程服务器上安装插件,只需点击对应图标,即可将本地插件同步到远端。 希望本文对你有所帮助,如果你觉得有价值,请给予支持。继续关注博主,获取更多文章内容。