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

如何使用clangd over TRAMP配置emacs lsp-mode?

clangd是一个基于LLVM的C/C++语言服务器,用于提供代码补全、语法检查、重构等功能。TRAMP是Emacs的一个插件,用于通过SSH或其他协议远程连接到远程主机。

要配置emacs lsp-mode使用clangd over TRAMP,可以按照以下步骤进行操作:

  1. 确保已经安装了clangd和TRAMP。可以通过包管理器或者手动安装它们。
  2. 打开Emacs配置文件(一般是~/.emacs或~/.emacs.d/init.el),添加以下配置:
代码语言:txt
复制
(require 'lsp-mode)
(require 'lsp-clients)

(setq lsp-clients-clangd-args '("--compile-commands-dir=build"))

(defun my-c++-mode-hook ()
  (lsp-deferred)
  (setq-local lsp-enable-indentation nil))

(add-hook 'c++-mode-hook 'my-c++-mode-hook)

这段配置代码加载了lsp-mode和lsp-clients插件,并设置了clangd的参数。--compile-commands-dir=build指定了编译命令的目录,你可以根据实际情况修改。

  1. 保存配置文件并重新启动Emacs。
  2. 打开一个C++文件,lsp-mode会自动启动clangd,并提供代码补全、语法检查等功能。

需要注意的是,由于TRAMP是用于远程连接的,配置过程中需要确保你已经正确配置了TRAMP的相关设置,包括远程主机的连接方式、用户名、密码等。

关于clangd和TRAMP的更多详细信息,你可以参考以下链接:

腾讯云相关产品中,与云计算和开发相关的有云服务器CVM、云函数SCF、云开发Tencent CloudBase 等。你可以根据具体需求选择适合的产品。

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

相关·内容

使用 eglot 代替 lsp-mode

LSP 是当前使用最广泛的一套协议,用于给文本编辑器提供类似 IDE 的功能,比如:自动补全、定义跳转等。...对于 Emacs 来说,主要有两个实现: •emacs-lsp/lsp-mode,主打功能丰富 •joaotavora/eglot,主打小巧精悍 笔者本人在使用 lsp-mode 多年后转到了 eglot...下面是笔者在使用 lsp-mode 几天后,执行 memory-report 后的数据(完整版): Largest Variables 1.8 GiB lsp-clients 1.8 GiB...而且 eglot 的依赖很少,会尽量复用 Emacs 内置的模块,比如采用 flymake,而不是 flycheck,也有相关 issue 讨论如何用在 eglot 中使用 flycheck: •How...· Issue #42 笔者使用 eglot 的配置如下,主要进行了下面三点的改进: 1.eldoc 高度限制为 3 行,太大了影响阅读代码 2.修改高亮『当前变量』的字体,默认的不是很明显 3.增加

73210
  • 如何排查 Tramp 卡住问题

    今天在进行一个操作时,突然出现了访问 tramp 的操作,最近有一段时间没有使用过,所以看到这个消息时比较好奇,是什么操作导致触发了 tramp。...首先调高 tramp 日志级别 (setq tramp-verbose 10) ,之后重复会触发 tramp 的操作,这时 minibuffer 中应该会有类似下面的输出: Tramp: Opening...("~/.config/emacs/deps.el") recentf-expand-file-name("~/.config/emacs/deps.el") recentf-cleanup()...所以到这里问题基本上就清楚了,是 abbreviate-file-name 在内部使用了 directory-abbrev-alist ,所以导致了本文的问题,解决方法也很简单,直接从 directory-abbrev-alist...希望通过本文的这个案例分享,让读者了解如何排查 tramp 相关的问题。

    20130

    Emacs Verilog mode 简单使用指南

    本指南旨在深入浅出地介绍Emacs Verilog mode的基本使用方法、常见问题及解决方案,并通过实用示例帮助初学者快速上手。...解决策略:确保Emacs的ac-source-verilog被正确配置。...个性化配置与优化 随着时间的推移,你可能会发现有一些特定的配置或快捷键能够进一步提升你在Emacs中编写Verilog代码的体验。Emacs的灵活性允许你根据个人偏好进行深度定制。...以下是一些可能的个性化配置思路: 自定义快捷键:如果你发现某些常用操作的默认快捷键不够顺手,可以通过修改.emacs文件来自定义。例如,如果你经常使用代码折叠功能,可以为其设置更便捷的快捷键。...而利用Emacs的正则表达式搜索和替换功能,以及专门的重构工具(如xref和lsp-mode),可以安全地进行大规模代码重构,保证代码质量的同时,也提高了开发效率。

    28810

    Emacs 29快到了!我们能期待什么

    事实上,这是现在的默认行为,因为您需要传递--without-sqlite3给 Emacs 的构建配置脚本以防止它发生。...TRAMP 原生支持 Docker、Podman 和 Kubernetes 三个新连接现在可用于 TRAMP: docker podman kubernetes 您现在可以直接从 Emacs 访问您的容器化环境...自定义用户目录 现在可以更轻松地启动自定义 Emacs 配置文件,而无需使用chemacs2等工具并添加 flag --init-directory。...这可以设置为 Emacs 的任何目录,user-emacs-directory其中包括init.el随附的目录。.emacs我不使用文件,而是使用文件的另一个原因init.el。...事实上,对 webp 图像的支持已成为默认行为,因为您需要传递--without-webp给 Emacs配置脚本以禁用 webp 支持。 C++ 模式现在支持 C++20 标准 是的。

    2.5K20

    Emacs 启动时间优化实践

    截至发表本文前,优化后的配置运行了三周多,体验和之前无异。 目标 Emacs 中提供了一个函数来记录启动时长,即 emacs-init-time ,后文也用这个时间作为优化目标。...emacs -Q -nw M-x emacs-init-time 0.005363 seconds 零配置下启动时间,是优化的终极值。...可以方便的自定义 project-root ,对于 monorepo 来说尤为重要,而且 lsp-mode/citre 之类的工具也都依赖这个 3. project 内搜索文件要快 projectile...目前我使用的 project.el 配置可参考:i-basic.el#L85-L166[4],对于 27 版本的用户,可以在 这里[5]下载最新的 project.el。...(org-babel-load-file (expand-file-name "core.org" user-emacs-directory)) 优化后是拆分到多个 el 文件中,使用 load-file

    93520

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

    笔者最近遇到了这样的情况,单位配置的电脑为苹果的Mac,家里自用电脑的操作系统为Windows;之前在Windows平台进行C/C++代码开发使用的编辑器是Source insight。...本文将从以下几点讲述如何通过WSL2 + VSCode + Clangd打造C/C++代码编辑器。 1、什么是WSL。...其他好用的插件这里不再赘述,本文主要讲Clangd插件的配置与安装。 3、LSP与Clangd配置 什么是LSP LSP(Language Server Protocol):语言服务协议。...Objective C/C/C++使用的编译器前端是Clang,Swift使用的是Swift,后端都是LLVM。 2、Clangd工具介绍。...4、VSCode配置Clangd 在WSL2中配置Clangd 本文在WSL2中配置Clangd语言服务器,如果没有安装WSL2也可以在Windows中安装Clangd语言服务器。

    7.5K30

    对 Mastering Emacs作者 Mickey Petersen 的采访

    您最初是如何对此感兴趣的? 我在 DOS 的 Turbo C 中开始使用 C 编程,几年后转向 Windows 的 Delphi,同时试图掌握这个叫做 Linux 的相当新奇的东西。...Emacs 可能会让初次使用的用户望而生畏。他们为什么要选择它而不是其他文本编辑器? 谢谢!我很高兴你两个都喜欢。这正是我创建该网站的原因。 好吧,您是一位使用 Emacs 的作家,我认为这很有趣。...Emacs 29 添加了 tree-sitter 和 Eglot,这两个对编码人员来说非常重要的工具,对于那些热衷于尝试 Emacs 而无需花一个周末学习如何设置它的人来说,这应该会进一步减少摩擦。...为此,我编写了几行代码将 Emacs 的各个部分粘合在一起。我按下一个按钮,Emacs 使用 TRAMP 连接到远程服务器并调用它需要调用的程序,然后将结果显示在 Emacs 缓冲区中。...对于与生产力相关的东西,我经常使用 Helm 来完成特定任务。我可以使用 Helm 致电 Mastering Emacs 客户并找到他们的销售详细信息。

    72710

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

    clangdclangd与libclang完全不同,请自行百度)的基于语义分析来进行补全的,如下文: Advantages of clangd over libclang include: 1、Project...不能分析你的代码,YCM就不能提供基于语议的补全 当安装了vim(+python3)+YCM+clangd时,使用vim打开工程的.h、.cpp时,clangd会根据打开的文件进行语议猜测,然后进行提示...take over and handle the flags. clangd支持多种生成”补全数据库“的方式,如上面提到的,基于cmake、Ninja、GNU make; 如果使用的是cmake的构建方式...然后使用vim重新打开工程中的文件(只要你的CMakeLists.txt配置正确),就不会报找不到第三库、依赖库的错误了 第二种:在工程的顶层CMakeLists.txt中,增加配置:set( CMAKE_EXPORT_COMPILE_COMMANDS.../YouCompleteMe#c-family-semantic-completion 如果没有使用CMake、Ninja、GNU Make,则需要使用.ycm_extra_conf.py文件配置flags

    4.4K30

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

    clangdclangd与libclang完全不同,请自行百度)的基于语义分析来进行补全的,如下文: Advantages of clangd over libclang include: 1、Project...不能分析你的代码,YCM就不能提供基于语议的补全 当安装了vim(+python3)+YCM+clangd时,使用vim打开工程的.h、.cpp时,clangd会根据打开的文件进行语议猜测,然后进行提示...take over and handle the flags. clangd支持多种生成”补全数据库“的方式,如上面提到的,基于cmake、Ninja、GNU make; 如果使用的是cmake的构建方式...然后使用vim重新打开工程中的文件(只要你的CMakeLists.txt配置正确),就不会报找不到第三库、依赖库的错误了 第二种:在工程的顶层CMakeLists.txt中,增加配置:set( CMAKE_EXPORT_COMPILE_COMMANDS.../YouCompleteMe#c-family-semantic-completion 如果没有使用CMake、Ninja、GNU Make,则需要使用.ycm_extra_conf.py文件配置flags

    5.5K30

    Android Studio 4.0 正式版发布

    它提供的数据会与正在运行的应用完全同步,更会让您对各个资源在应用中如何排布和计算一览无余,使得 UI 调试变得更加简单直观。...为 C++ 提供 Clangd 支持 对使用 C++ 语言的开发者,我们现在改用 clangd 作为主要的语言分析引擎,用于代码导航、补全、检查、以及显示代码错误和警告。...想要配置 clangd 或 Clang-Tidy 的行为逻辑,请打开 IDE 的 Settings (或 Preferences) 对话框,并依次选择 Languages & Frameworks >...虽然我们对使用 Kotlin 来配置构建有很高的期待,但接下来的一年中我们依然会继续完善 Android Gradle 插件的 DSL API,这可能会给 Kotlin 脚本用户带来 API 的重大变更...支持: 默认启用 Clangd 和 Clang-Tidy 构建: Build Analyzer: 了解和找到构建时的性能瓶颈 Java 8 语言支持更新: Java 8 API 现在均可使用,与应用最低

    3.4K31

    Emacs 28 新特性介绍

    对于 Emacs 拥趸来说,新功能要等上一两年才能使用是无法接受的。...但实际这个问题不大,因为很多用户都在用开发版,这可能也是 Emacs 社区的特殊文化,自己去编译 master 分支来使用应该算是常态。由于使用人数多,所以即使是开发版,质量也能得到保证。...这篇文章就来介绍 Emacs 28 中,笔者个人觉得比较实用的功能,完整列表可参考 NEWS[3] ( M-x view-emacs-news ),最后会介绍如何在 macOS 上编译。...,我的配置[10]中大量使用。...中的 positional 参数已经被淘汰 编译方式 看了上面那么多新功能,读者可能已经按捺不住内心的喜悦,这里就来介绍如何在 macOS 中编译 28 版本,其他操作系统方式类似。

    96230

    与 tumashu 聊 Emacs 中文输入法

    概要 本期节目请来了一位非科班的 Emacs 资深用户冯书(aka tumashu),Emacs 中文输入法 pyim[1] 的作者。作为一位卫健委信息中心的办事人员,他是如何接触到 Emacs 的?...pyim 的工作原理是怎么样的,与 emacs-rime[2] 有什么区别? 接触 Emacs 十余年后,嘉宾总结出一套五个阶段 Emacs 学习境界[3],每个境界需要的技能是什么?如何去突破?...• 网络 ID: tumashu[4] • 03 年大学,专业化工;07 年研究生,专业管理 • 目前 Emacs配置emacs-helper[5]• GNU Emacs 自 23.1 版本开始支持...XFT[6] •使用 Emacs 内置输入法优势 1....PosTip[10] •Emacs 学习的五种境界 1. 初学攒配置 2. 入门写扩展 3. 一入 emacs 源码[11]深似海 4. 你不入 C 狱谁入 C 狱5.

    73520
    领券