首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让Clangd在Windows上与VS代码正常工作

Clangd是一个基于Clang的C/C++语言服务器,用于提供代码补全、代码导航、重构等功能。在Windows上与VS Code正常工作,可以按照以下步骤进行配置:

  1. 安装LLVM和Clang:在Windows上安装LLVM和Clang,可以从官方网站(https://llvm.org/releases/)下载适合的安装包,并按照安装向导进行安装。
  2. 安装VS Code:从VS Code官方网站(https://code.visualstudio.com/)下载适合的安装包,并按照安装向导进行安装。
  3. 安装C/C++扩展:在VS Code中安装C/C++扩展,该扩展提供了与C/C++相关的功能和配置选项。在VS Code的扩展面板中搜索"C/C++",找到对应的扩展并点击安装。
  4. 配置Clangd路径:打开VS Code的设置(File -> Preferences -> Settings),在搜索框中输入"C++: Clangd Path",找到该选项并点击编辑。将Clangd的路径配置为安装目录下的clangd.exe文件路径。
  5. 配置C/C++扩展:在VS Code的设置中搜索"C++",找到"C/C++: Configuration"选项并点击编辑。在弹出的json文件中,添加以下配置:
代码语言:txt
复制
{
  "configurations": [
    {
      "name": "Win32",
      "includePath": [
        "${workspaceFolder}/**"
      ],
      "defines": [],
      "compilerPath": "clang-cl.exe",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "clang-x64",
      "compileCommands": "${workspaceFolder}/compile_commands.json"
    }
  ],
  "version": 4
}
  1. 生成compile_commands.json:在项目根目录下生成compile_commands.json文件,该文件用于告诉Clangd如何编译项目。可以使用CMake来生成该文件,或者手动编写。以下是一个示例:
代码语言:txt
复制
[
  {
    "directory": "path/to/project",
    "command": "clang-cl.exe -Ipath/to/include -c path/to/source.cpp",
    "file": "path/to/source.cpp"
  }
]
  1. 启动Clangd:在VS Code中打开C/C++源文件,Clangd会自动启动并提供代码补全、代码导航等功能。可以通过在命令面板中输入"C/C++: Log Level"来调整Clangd的日志级别,以便进行故障排查。

请注意,以上步骤仅适用于在Windows上使用Clangd与VS Code正常工作。对于其他操作系统或集成开发环境,请参考相应的文档和配置指南。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于WSL2 + VSCode + Clangd 打造最强CC++编辑器

由于工作中除了进行C/C++语言的开发工作外,也会涉及Python、P4等语言的开发工作,因此迫切需要一款跨平台(Mac、Windows、Linux)、跨语言(C/C++、Python、P4等)的代码编辑器...本文将从以下几点讲述如何通过WSL2 + VSCode + Clangd打造C/C++代码编辑器。 1、什么是WSL。...2、什么VSCode VS Code,全称是Visual Studio Code,但因为全称太长,微软旗下另一款产品visual studio又经常被简称为VS,所以这款VS有一定渊源的代码编辑器就被简称为...其次,语言扫描相关的工作都比较占用CPU资源,运行在vscode进程中不如单独放在一个独立进程,甚至远程服务器更好。...其实,LSP只是一种编辑器语言服务器的解耦,正常情况下可以安装在同一台Windows中,来实现离线语法解析。

7.3K30

【开发 | 环境配置】解决 VSCode 编写 eBPF 程序找不到头文件

问题描述: 使用 vscode 编写 eBPF 程序时,如果不做一些头文件定位的操作,默认情况下头文件总是带有“红色下划线”,并且大部分的变量不会有提示补全。...在编写代码文件较小时(或者功能需求小时)并不会带来不方便。 但在长时间编写以及多个程序文件都在使用时,无法补全和提示也影响着编程。...VS Code 和 Clangd 会自动查找该文件。... settings.json 中添加以下配置: { "clangd.path": "clangd", "clangd.arguments": [ "--compile-commands-dir...生效验证 重启 VS Code: 重启 VS Code 以确保配置生效。 查看 Clangd 输出: VS Code 的输出窗口中选择 clangd,查看是否有错误信息。

16600

Android Studio 4.0 重磅发布!Android 11 Bata 版来了!

UI 当你为多种屏幕规格、屏幕尺寸和分辨率开发应用时,需要验证对 UI 所做的更改在所支持的每个屏幕都能正常显示。...使用 Layout Validation(布局验证)窗口,你可以同时多个不同的屏幕和配置预览布局,轻松确保你的应用兼容各种屏幕尺寸。... Android Studio 4.0 中,CPU 记录现在 Profiler 主时间轴分开显示,并按组分类以简化分析过程。你可以上下移动组,或者组中拖放项目以定制界面。...Clang 支持 C++ 对于编写 C++ 的开发人员,我们已转向 clangd(https://clangd.llvm.org/)作为主要的语言分析引擎,用于代码导航、完成、检查以及显示代码错误和警告...神经网络 API(NNAPI)专为 Android 设备运行用于计算机学习的计算密集型操作而设计,新版本中也得到了优化。 此外,谷歌提供了不少关于隐私和安全的新举措。

2.6K20

Android Studio 4.0重磅发布:全新的 Motion 编辑器及众多更新都在这里!

Android Studio 4.0 中,新的 Motion Editor 这个 API 用起来更方便。它提供了用于创建、编辑和预览 MotionLayout 动画的强大界面。...使用 Layout Validation 多个屏幕对比 UI 当你为多种屏幕规格、屏幕尺寸和分辨率开发应用时,需要验证对 UI 所做的更改在所支持的每个屏幕都能正常显示。...使用 Layout Validation(布局验证)窗口,你可以同时多个不同的屏幕和配置预览布局,轻松确保你的应用兼容各种屏幕尺寸。... Android Studio 4.0 中,CPU 记录现在 Profiler 主时间轴分开显示,并按组分类以简化分析过程。你可以上下移动组,或者组中拖放项目以定制界面。 ?...Clang 支持 C++ 对于编写 C++ 的开发人员,我们已转向 clangd(https://clangd.llvm.org/)作为主要的语言分析引擎,用于代码导航、完成、检查以及显示代码错误和警告

4.6K30

Windows使用VSCode搭建嵌入式Linux开发环境

2.1.2 本地安装插件 我们的目的是Windows运行vscode,使用vscode阅读Linux服务器的内核源码。...这需要安装很多插件,这些插件是安装在windows还是Linux服务器?...vscode的插件有两种类型: 全局插件:只需要安装在Windows,打开远程服务器的代码后也可以使用这些插件 远程插件:即使Windows使用vscode,这类插件也必须安装在远程服务器 但是我们并不知道插件属于全局插件还是远程插件...2.5.1 下载clangd 前面只是安装clangd插件,它的使用还需要一个运行在Linux服务器clangd程序。....zip放到/home/book目录下,执行解压命令: cd /home/book unzip clangd-linux-13.0.0.zip 2.5.2 配置clangd Windows的vscode

2.9K31

Android Studio 4.0 正式版发布

不论您是厨房里用一台笔记本工作,还是在家中有更好的办公环境,您都需要更好的、与时俱进的趁手工具: Android Studio 4.0。...更高效的代码编写、更快捷的编译速度,您尽情地为用户们设计最棒的应用,即刻下载正式版开始使用吧!...它提供的数据会与正在运行的应用完全同步,更会您对各个资源应用中如何排布和计算一览无余,使得 UI 调试变得更加简单直观。...image.png 主菜单中依次选择 View > Tool Windows > Layout Inspector 来使用 Layout Inspector。...为 C++ 提供 Clangd 支持 对使用 C++ 语言的开发者,我们现在改用 clangd 作为主要的语言分析引擎,用于代码导航、补全、检查、以及显示代码错误和警告。

3.4K31

JetBrains再出手,这次要干翻老对手了。。

不过 CLion Classic 不同的是,CLion Nova 不使用 clangd 来实现代码完成或高亮显示等核心 IDE 功能。...不过,JetBrains 的 clangd 分支仍然新引擎一起运行,以执行各种任务(ClangFormat、Clang-Tidy、MISRA 检查、数据流分析等)。...代码洞察功能相关的某些 UI 元素和设置可能看起来不寻常或位于不熟悉的位置。 某些代码相关的设置 CLion Nova 中可能具有不同的默认值。...不同语言配置(即调试 / 发布)之间切换可能需要更多时间来代码洞察引擎跟上。也没有选项可以切换每个文件的解析上下文。...CLion Nova 目前缺失的功能则总结包括以下几个方面: 工具链:存在多种选项可用于 CLion 中设置远程工作

37310

Windows 如何在启动程序时单独为这个程序指定环境变量,而不需要编写任何代码或脚本

如果我们能有办法仅为这个特定的程序设置环境变量,那么我们就可以不开启全局代理的情况下单独为这样的程序开启代理。 设置环境变量开启代理 比如,Unity Hub 就是这样的一个程序。...为了它开启代理,我们可以命令行中用这样的三句命令启动它: > cd "C:\Program Files\Unity Hub" > set HTTP_PROXY=http://127.0.0.1:7778...在这个问答中 Launch Windows program with custom environment variable - Super User,我获得了启发,用 CMD 代理启动。...一句命令 C:\Windows\System32\cmd.exe /c "set HTTP_PROXY=http://127.0.0.1:7778 && set HTTPS_PROXY=http://127.0.0.1...这里的内层引号则是为了 cmd 代理执行的命令部分的每个参数不会被空格分隔 cmd 中,&& 用来连接两个命令 快捷方式 如果平时是通过快捷方式来启动程序的,那么只需要编辑此快捷方式的属性,将目标改为上面的命令即可

1K40

使用vs2019进行Linux远程开发的方法步骤

Windows环境从事开发工作的,如果离开自己熟悉的系统到陌生的环境也许会影响到工作效率。...因此今天我们就来看下如何Windows使用Visual Studio 2019进行Linux远程开发以及如何避免常见的陷阱。...其他设置Windows上进行开发时一样,vs可以自动转换成g++的参数,这里就不再赘述。 添加远程环境 有了远程环境我们才能同步头文件或者进行调试运行。...这样远程环境就添加好了,可以开始写代码了。 本地编写和远程调试 至此你已经可以vs中编写面向Linux平台的代码了,自动补全可以正常工作: ? ?...Windows我们通常指定好附加包含目录和附加库目录即可正常编译,但是Linux必须明确指定链接库的名字,因此我们项目属性中进行设置。

4.2K40

VSCode 配置 C++ 运行环境

环境准备 项目 内容 操作系统 Windows 10 软件安装 VS code 官网:https://code.visualstudio.com/ 安装gcc编译器 下载 链接:...MinGW-w64 - for 32 and 64 bit Windows 选最新版本中的x86_64-posix-seh 安装 解压压缩包 将目录中的bin添加到环境变量 验证 cmd中输入命令...// 本来有Lint,再开problemMatcher就有双重报错,但MinGW的Lint效果实在太差了;用Clangd可以注释掉 }] } launch.json // https...打断点 "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录 "environment...tasks.json的label相对应 }] } settings.json 把这个文件里的东西放到“用户设置”里可以覆盖全局设置,否则只在当前工作区才有效。这两点各有自己的优势。

1.1K10

envoy vscode调试环境搭建

clion 调试 最开始用 vscode 配合微软的 C/C++ 插件查看 envoy 源码,但是跳转代码的准确度不高,有些很明确的函数跳转也会从一堆重名函数中选择。...# 实际添加了这个参数也没用 bazel build -c dbg --spawn\_strategy=local //source/exe:envoy-static # 编译完成 #...\_debug\_config.py //source/exe:envoy-static --args "-c envoy-config.json" --debugger lldb # 生成 clangd...镜像打包成功会启动容器,并通过vscode进入容器内部 注意:需要把docker占用虚拟机的资源调大,否则编译资源不足会报错 vscode 打开命令行执行以下命令(这时是容器内部) 生成配置文件:tools...参考 [How to set up develop environment on mac using clion or vs code(https://github.com/envoyproxy/envoy

2.6K20

Android Studio 4.0 稳定版发布了

其次,对 CPU Profiler UI 进行了全面改进,以提供更直观的工作流程,其中 UI的一些显着更改包括: CPU记录主探查器时间轴分开了以便于分析,记录的数据 Profiler 窗口的左侧按组分布...要了解有关如何使用运动编辑器的更多信息,请参见用户指南。 ?...九、clangd 现在可用于 C ++代码编辑器 Jetbrains CLion 是支持 Android Studio C ++ 语言支持的技术,现在使用基于 LLVM clangd 和 clang-tidy...的检查引擎,加快了 C / C ++ 代码的完成速度,并提供了 clang-tidy 的更无缝集成。...现在, Android Studio C++ 代码编辑器中可用,clangd 和 clang-tidy 都是开源LLVM额外工具的一部分: clangd具有代码完成功能,在编辑器中编译错误消息以及定位导航

4.6K20

手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)

tagbar 页面内,默认 vim 打开的文件内 let g:tagbar_left = 1 " tagbar 页面左侧显示,默认右边 "let...其实,到这一步,如果没有错误的话,vim+ycm已经可以支持代码补全了(只是部分的补全哟,目前还补全不了c++工程中的基础库、依赖的第三方库,如:boost、libevent等) 五、vim支持语议补全...——补全工程上下文、补全第三方依赖库         1、介绍一下ycm补全的实现及功能:YCM的补全功能,使用的是clangdclangdlibclang完全不同,请自行百度)的基于语义分析来进行补全的...不能分析你的代码,YCM就不能提供基于语议的补全 当安装了vim(+python3)+YCM+clangd时,使用vim打开工程的.h、.cpp时,clangd会根据打开的文件进行语议猜测,然后进行提示...tagbar 页面内,默认 vim 打开的文件内 let g:tagbar_left = 1 " tagbar 页面左侧显示,默认右边 "let

5.3K30

手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)

tagbar 页面内,默认 vim 打开的文件内 let g:tagbar_left = 1 " tagbar 页面左侧显示,默认右边 "let...其实,到这一步,如果没有错误的话,vim+ycm已经可以支持代码补全了(只是部分的补全哟,目前还补全不了c++工程中的基础库、依赖的第三方库,如:boost、libevent等) 五、vim支持语议补全...——补全工程上下文、补全第三方依赖库         1、介绍一下ycm补全的实现及功能:YCM的补全功能,使用的是clangdclangdlibclang完全不同,请自行百度)的基于语义分析来进行补全的...不能分析你的代码,YCM就不能提供基于语议的补全 当安装了vim(+python3)+YCM+clangd时,使用vim打开工程的.h、.cpp时,clangd会根据打开的文件进行语议猜测,然后进行提示...tagbar 页面内,默认 vim 打开的文件内 let g:tagbar_left = 1 " tagbar 页面左侧显示,默认右边 "let

4.3K30

如何Windows使用Python进行开发

所以近日,微软上线了一套Python教程《Develp with Python on Windows》,文档内容包括设置Python开发环境、WindowsWSL子系统中安装相应开发工具,以及如何集成...有关帮助, 请参阅:开始 Windows 使用 Python 进行 web 开发。...如果你有兴趣自动执行操作系统的常见任务, 请参阅以下指南:开始 Windows 使用 Python 进行脚本编写和自动化。...VS Code 还包含一个内置终端, 使你能够使用 Windows 命令提示符、PowerShell 或你喜欢的任何方式打开 Python 命令行, 从而在你的代码编辑器和命令行之间建立无缝的工作流。...Pygame 新窗口中显示图形, 因此它将无法 WSL 的命令行方法下运行。 但是, 如果您通过本教程中所述的 Microsoft Store 安装了 Python, 它将正常工作

3.1K30

使用VS Code进行远程开发

我们Windows运行IDE,并且我们的软件是一个Vagrant Box中的Docker容器中运行的。” 由于代码库非常之大,所以我们看到Facebook(和微软!)...实际VS Code仓库中评论第三多的问题是支持Windows的Linux发行版中从Bash终端运行code。 ?...这个新的,优化的支持可以你: 使用Windows基于linux的环境中开发,使用特定于平台的工具链和实用程序。 编辑位于WSL或挂载的Windows文件系统中的文件(例如/mnt/c)。...容器可以创建很好的开发环境,因为: 你可以你要部署代码的操作系统一样的环境中使用一致且易于复制的工具链进行开发。...这些扩展只自定义UI,不访问工作区中的文件,这意味着它们可以完全本地机器运行。由于它们是本地安装的,所以你始终可以独立于工作空间来使用它们。UI扩展的例子有主题、代码片段、语言语法和键映射。

4.1K10

详解DLL远线程注入技术

Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。 Windows系统就是由许多的动态链接库(DLL文件)构成的。...因此,读到这里,我相信大家应该明白了,为什么杀毒软件会给你提示某个程序含有木马病毒,就是因为该病毒程序中可能会给你原本正常运行的其他程序注入DLL,你的正常程序调用病毒程序携带的DLL文件,以导致你的正常程序...[1kffsdytrd.png] DLL的编写语言没有任何关系,所以我们用VS2017创建一个动态链接库,命名为MyDll,他就是我们要写的病毒DLL文件。...DLL代码,那么这就是一件很危险的事情了,让我们的正常运行的程序调用未知的DLL代码,后果可想而知。...我们的病毒程序会强制给目标进程创建一个线程,线程的任务是:将我们的病毒木马DLL加载进目标进程,目标进程执行DLL代码。 那么,代码如何写呢?

1K10

支招 | 使用 Visual Studio 和 python 设置自己的数据科学工作

在这篇文章中,我将向你展示如何使用一些业内最常用的工具 MacOS 建立自己的工作区。当然,Windows 平台的步骤和 MacOS 几乎相同。... VS Code 中创建数据科学工作区 ---- VS Code 是一个免费的代码编辑器,你可以根据需要定制。...-m ipykernel install --user Windows : activate pip install ipykernel python...如果一切顺利的话,恭喜你,你已经 VS Code 中成功地设置了自己的工作区,现在可以将其用于 python 项目了! 写在最后 ---- 管理你的 Python 环境可能会人头疼。...了解如何管理你的环境和软件包会你的工作更加灵活,并能防止某个环境突然停止工作的压力。这就是我向你展示如何切换环境和安装软件包的原因,因为这些是最容易遇到的错误。

2K20
领券