首页 > 系统相关 >Windows下如何使用 Sublime Text 4 配置 C/C++ 环境(使用LSP-clangd)

Windows下如何使用 Sublime Text 4 配置 C/C++ 环境(使用LSP-clangd)

时间:2024-02-06 10:45:09浏览次数:32  
标签:clangd file Windows Text cmd clang LSP Sublime

1 软件安装

1.1 Sublime Text 4 安装及 Package Control 安装

略,请自行百度/必应/谷歌。

1.2 Clang 环境安装

1.2.1 Clang 下载

LLVM MinGW下载最新版Clang编译器,此处应根据个人电脑系统及版本选择,本文选择llvm-mingw-20231128-ucrt-x86_64.zip,后续文件名将以此为例。

各版本区别原文:

Packages named llvm-mingw-<version>-<crt>-<arch>.zip are native toolchains that run on Windows (with binaries in the specified architecture), but which all can compile binaries for any of the 4 architectures.

There are packages with two different choices of CRT (C runtime) - the primary target is UCRT (the Universal C Runtime). The UCRT is available preinstalled since Windows 10, but can be installed on top of Vista or newer. The other legacy alternative is msvcrt, which produces binaries for (and uses) msvcrt.dll, which is a built-in component in all versions of Windows. This allows running directly out of the box on older versions of Windows too, without ensuring that the UCRT is installed, but msvcrt.dll is generally less featureful. Address Sanitizer only works properly with UCRT.

文件下载完毕后,解压得到名为llvm-mingw-20231128-ucrt-x86_64的文件夹(不同版本文件夹名称略有区别,整体差异不大),此时可以将改文件夹重命名(以方便辨认为主,不含中文)并将其移动至其他路径(以方便寻找为主,不含中文),本文不改动文件夹名称,并将改文件夹移动到C盘,如图2所示。

1.2.2 将 Clang 添加至环境变量

打开1.2.1节最后得到的文件夹,寻找bin文件夹,如图3所示。复制bin文件夹的完整路径,将该路径添加至用户环境变量,流程如图4所示。

打开cmd窗口,输入clangd -version应出现如图5所示的内容,此时 Clang 环境配置完毕。

2 Sublime Text 4 中相关插件安装及设置

2.1 语言服务器相关插件

通过搜索Sublime Text LSP结果可知,其官网推荐的语言服务器为LSP-clangd,打开LSP-clangd官网,根据其README中的Installation进行安装。

  • Install LSP and LSP-clangd from Package Control
  • (Optional) Install clangd using your package manager or let this package install clangd for you

打开 Sublime Text 4,依次点击Preferences -> Package Control打开Package Control面板,输入Install Package安装上述两个插件。

2.2 自定义 Build System

Sublime Text 可以通过自定义 Build System 进行定制文件运行方式,详情查询官方文档

对于C文件,在 Sublime Text 中依次点击Tools -> Build System -> New Build System...新建文件并保存为方便识别的名字,填入下列内容。

{
	"file_regex": "^\\s*File \"(...*?)\", line ([0-9]*)",
	"file_patterns": [
		"*.c"
	],
	"working_dir": "$file_path",
	// run in CMD
	"shell_cmd": "clang.exe \"$file\" -o \"$file_path/$file_base_name\" -g3 -pipe -Wall && start cmd /C \"chcp 65001 > nul && \"$file_path/$file_base_name\" & pause \""
}

对于C++文件,在 Sublime Text 中依次点击Tools -> Build System -> New Build System...新建文件并保存为方便识别的名字,填入下列内容。

{
	"file_regex": "^\\s*File \"(...*?)\", line ([0-9]*)",
	"file_patterns": [
		"*.cpp"
	],
	"working_dir": "$file_path",
	// run in CMD
	"shell_cmd": "clang++.exe \"$file\" -o \"$file_path/$file_base_name\" -g3 -pipe -Wall && start cmd /C \"chcp 65001 > nul && \"$file_path/$file_base_name\" & pause \""
}

该编译文件中,所使用shell_cmd命令的含义为,使用clang/clang++编译源文件,并在源文件同级目录下生成对应可执行文件,编译完成后,在cmd中运行该可执行文件,其中chcp 65001 > nul用于将cmd窗口的代码页临时切换至UTF-8,因为cmd默认代码页为GBK,而程序使用UTF-8编码,编码不一致将导致中文输出乱码,编译测试见图6。

2.3 代码格式化设置

LSP-clangd会默认寻找当前文件夹下的.clang-format文件并根据其内容进行格式化,如果找不到的话会根据设置项clangd.fallback-style进行格式化,clang-format提供的风格有:LLVMGNU GoogleChromium MicrosoftMozillaWebKit,默认为LLVM,通过修改clangd.fallback-style可更换默认风格,例如修改为Chromium

// Settings in here override those in "LSP-clangd/LSP-clangd.sublime-settings"
{
	"initializationOptions": {
		// clang-format style to apply by default when no .clang-format file is found
		"clangd.fallback-style": "Chromium"
	}
}

由于.clang-format文件格式化自定义程度较高,此处不再赘述,请读者自行查阅。

2.4 LSP-clangd 其他设置

因人而异,略。

标签:clangd,file,Windows,Text,cmd,clang,LSP,Sublime
From: https://www.cnblogs.com/rikka0612/p/18009331

相关文章

  • windows下部署Blynk服务器部署最新教学
    目录Step1.下载链接Step2.部署Step2.1软件安装及载入工程1.安装Intellij社区版正常安装即可2.下载maven并将其添加进环境变量Step1.下载链接链接:https://pan.baidu.com/s/1ysbAYhyxUGx1ZG3xNMdsAw?pwd=1fel提取码:1felStep2.部署Step2.1软件安装及载入工程1.安装Intel......
  • PowerShell是一种跨平台的任务自动化解决方案,包括命令行shell、脚本语言和配置管理框
    PowerShell是一种跨平台的任务自动化解决方案,包括命令行shell、脚本语言和配置管理框架。PowerShell提供了丰富的命令(称为cmdlet),可以用来执行许多Windows管理任务,包括但不限于用户和组管理、文件系统操作、进程和服务管理等。下面列举一些常见的net命令以及它们在PowerShell中的对......
  • 统信UOS/麒麟KYLINOS与Windows通过Open SSH实现文件传输
    原文链接:统信UOS/麒麟KYLINOS与Windows通过OpenSSH实现文件传输hello,大家好啊!今天我要给大家介绍的是在统信UOS或麒麟KYLINOS操作系统与Windows系统之间通过OpenSSH实现文件传输的方法。在日常工作中,我们经常需要在不同操作系统之间传输文件。虽然可以使用SMB文件共享等方法,但今......
  • windows 下nginx 部署VUE
    一、下载nginx   nginx下载地址:https://nginx.org/en/download.html?utm_source=so二、 nginx 命令1.win+r打开cmd;cd到nginx安装目录2.启动:startnginx3.重启服务:nginx-sreload 三、nginx 配置文件notepad++ 插件notePad++下载nginx......
  • 谷歌新版本跨域错误深度剖析与解决:request client is not a secure context and the
    原文地址:https://blog.csdn.net/Flywithdawn/article/details/128253604 快速解决: ======================================================最近在测试http服务时,谷歌浏览器报了以下错误“Therequestclientisnotasecurecontextandtheresourceisinmore-privat......
  • 代号“哈德逊河谷”!新版Windows要来了:大概率不叫Windows 12
    微软正准备Windows的重大更新,有望在今年秋季向WIndows11用户推送。但有关新版本的命名一直悬而未决。是作为Windows11的一个全新版本,还是另起炉灶直接叫Windows12?据悉,新版Windows内部代号“HudsonValley”(哈德逊河谷),目前Windows11系统的内部代号为“SunValley(太阳谷)”。......
  • Windows 10 快捷键大全|日常办公效率加倍
    ##复制、粘贴及其他常规  Ctrl+X剪切选定项。Ctrl+C(或Ctrl+Insert)复制选定项。Ctrl+V(或Shift+Insert)粘贴选定项。Ctrl+Z撤消操作。Alt+Tab在打开的应用­之间切换。Alt+F4关闭活动项,­或者退­出活动应用。Windows徽标键+......
  • windows扩展efi系统分区
    工具:diskgenius1、备份原来的efi分区,删掉这个分区2、未分配分区新建esp/msr分区   3、将原来的文件拖入新esp分区视频:https://www.bilibili.com/video/BV1cQ4y1J765/?spm_id_from=333.337.search-card.all.click&vd_source=de9ed1791db573096cfbc5b3e1c70c1c......
  • CSS3属性之 text-overflow:ellipsis
    语法:text-overflow:clip|ellipsis默认值为clip不显示省略标记clip:当前对象内文本溢出时不显示省略标记,而是将溢出部分裁剪。ellipsis:当对象内文本一处时显示省略标记(...)。 一、常见的单行文本溢出显示省略写法:text-overflow:ellipsis;overflow:hidden;white-sp......
  • windows11 实现 远程控制
    问题:需要解决的问题是,放假回到家之后,需要远程使用公司的电脑。所以需要在原来的电脑上进行远程控制的设置。 首先对于被控制电脑的设置。开始--->设置--->远程桌面。 对于被控制电脑的要求就是有这些。 接下来是对于控制电脑如何设置才能控制这台电脑。 ......