首页
学习
活动
专区
工具
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中,来实现离线语法解析。

8.1K30
  • 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

    【开发 | 环境配置】解决 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,查看是否有错误信息。

    28100

    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.7K30

    在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

    3.3K31

    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 中设置远程工作。

    57510

    在 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 中,&& 用来连接两个命令 快捷方式 如果平时是通过快捷方式来启动程序的,那么只需要编辑此快捷方式的属性,将目标改为上面的命令即可

    1.6K40

    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.7K20

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

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

    5.8K31

    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的补全功能,使用的是clangd(clangd与libclang完全不同,请自行百度)的基于语义分析来进行补全的...不能分析你的代码,YCM就不能提供基于语议的补全 当安装了vim(+python3)+YCM+clangd时,使用vim打开工程的.h、.cpp时,clangd会根据打开的文件进行语议猜测,然后进行提示...tagbar 页面内,默认在 vim 打开的文件内 let g:tagbar_left = 1 " 让 tagbar 在页面左侧显示,默认右边 "let

    4.6K30

    如何在Windows上使用Python进行开发

    所以近日,微软上线了一套Python教程《Develp with Python on Windows》,文档内容包括设置Python开发环境、在Windows与WSL子系统中安装相应开发工具,以及如何集成...有关帮助, 请参阅:开始在 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.2K10

    详解DLL远线程注入技术

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

    1.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

    分享一个适合【团队】开发的cmake【跨平台】工程模板

    这篇文章提供了一个简洁易懂的 cmake 工程模板,可以满足一个小团队的合作开发,无论是在代码安全性,还是开发效率上,都能满足基本的开发需求。...本文详细描述了文件结构和操作流程,如何在Linux系统使用命令行来编译,如何在Windows系统中使用VSCode 和Visual Studio 2019来进行开发和编译。...示例代码中核心的两个文件就是:app.cmake和lib.cmake,几乎每一行都有注释。 文末有下载链接。 文件目录说明 在团队开发工作中,每个人负责不同的模块。...,并且区分了 linux 和 windows 系统,在不同的系统上编译,会自动编译对应目录下的 C 文件; include:存放头文件; myapp目录内部结构与mymath几乎是一样的,这里就不赘述了...使用VS2019打开解决方案文件: 在工程mymath上单击右键,选择【重新生成】,在输出信息区可以看到生成了文件: demo_cmake\install\library\windows\debug\

    2.2K10
    领券