amxx模块开发-配置vscode的开发环境
条评论应用场景(一)
当我在使用visual studio开发模块时,总觉得太过于笨重,而且一些快捷键也没有vscode来得好使,而且在平时我开发module时,基本不会使用visual studio来编译module代码,而是使用ambuild来编译module代码。所以,这里我就想,要是我用vscode来开发module时,是否也有类似visual studio这种代码智能提示的功能?
其实,在vscode中也是可是满足我对C/C++开发的需求的。
安装配置
通用工具插件安装
- 首先,我们还是需要安装visual studio的,因为我们需要使用它的编译工具和编译环境,无论是vscode还是ambuild,其最终还是需要调用visual studio里边的东西的。
- 安装vscode,并且安装C/C++、C/C++ Extension Pack等插件。
- 配置C/C++插件,
Module开发环境配置
- 配置环境变量,添加HLSDK和METAMOD环境变量,并指向它们的安装目录,可参考amxx模块开发入门003-使用AMBuild工具编译模块(Windows)
- 配置vscode的C/C++插件,按
Ctrl+Shift+P打开命令调面板,并输入C/C++,并点击编辑配置(UI),然后找到“包含路径”,添加以下内容:1
2
3
4
5
6
7
8
9
10
11
12
13${workspaceFolder}/**
..\
..\..\public
..\..\public\sdk
..\..\public\amtl
..\..\third_party
..\..\third_party\hashing
${env.METAMOD}\metamod
${env.HLSDK}\common
${env.HLSDK}\engine
${env.HLSDK}\dlls
${env.HLSDK}\pm_shared
${env.HLSDK}\public - 更多配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34// .vscode/c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"..\\",
"..\\..\\public",
"..\\..\\public\\sdk",
"..\\..\\public\\amtl",
"..\\..\\third_party",
"..\\..\\third_party\\hashing",
"${env.METAMOD}\\metamod",
"${env.HLSDK}\\common",
"${env.HLSDK}\\engine",
"${env.HLSDK}\\dlls",
"${env.HLSDK}\\pm_shared",
"${env.HLSDK}\\public"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.17763.0",
"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}
应用场景(二)
在开发module的时候,通常也是要开发plugin的,也就是small脚本,对于来回切换开发工具来说,是比较麻烦的事情,所以这里我也想让vscode也作为主要的small代码编写工具。
安装AMXXPawn插件
插件名称:AMXXPawn
插件作者:KliPPy
非常感谢KliPPy开发了这个插件,提供了代码自动提醒,还有可以直接调用编译器的功能。
配置AMXXPawn
首先,我们现在D盘下创建一个名为AmxxCompiler的文件夹。
然后,把以下的内容都放到这个文件夹下
1 | D:\AmxxCompiler\include 包含有sma的include目录 |
这些工具在你使用ambuild编译amxmodx完成后,可以在下边的目录可以找到:
include目录,在D:\sdk\amxmodx\plugins
amxxpc.exe文件,在D:\sdk\amxmodx\build\compiler\amxxpc\amxxpc
amxxpc32.dll文件,在D:\sdk\amxmodx\build\compiler\libpc300\amxxpc32
compile.exe文件,在D:\sdk\amxmodx\compiler\compile
接着,我们打开AMXXPawn Language插件配置:
你可以设置“用户”、也可以设置“工作区”,区别就是“用户”是全局的,“工作区”只对当前工作目录有效。
我这里设置“用户”,也就是全局的,每个工作区对sma脚本的配置都是一样的。
- Executable Path,填上我们的amxxpc.exe文件的路径;
- Include Path,填上
"${workspaceFolder}/**",并且填上我们include文件夹的路径; - Output Path,填上我们想要输出
*.amxx文件的路径; - Output Path Type,选择path,否则Output Path填写的路径不会生效。
最终配置如下:
1 | { |
使用AMXXPawn插件
代码自动提醒
只要include和amxxpc.exe设置正确后,我们在编写代码的时候就会自动提醒代码了
代码快速编译
我们可以按Ctrl+Shift+P快捷键调出命令输入框,然后输入AMXXPawn,选择AMXXPawn: Compile Plugin即可对当前sma脚本进行编译。编译完成后,将会在我们设置的OutputPath中生成*.amxx文件。
除此之外,我们也可以点击菜单栏上的“帮助”->“显示所有命令”来调出命令输入框。
又或者,我们还可以在命令输入框的右边,点击“小齿轮”按钮来设置快捷键,直接调用AMXXPawn: Compile Plugin命令。
参考文献
VsCode 配置window编译器cl.exe编译器
VSCode配置C/C++环境 - 知乎
Vscode配置C/C++环境 - CSDN