
# LSP
语言服务器协议（Language Server Protocol，简称LSP）是一种用于提供语言服务的标准化协议。LSP将语言服务与码道CLI进行了解耦，由独立的语言服务器进程来提供代码分析、快速导航及符号查询等核心能力。
码道CLI已预置了本地LSP功能。开启该功能后，智能体可基于语言服务提供代码分析结果、代码跳转及符号信息，实现更精准的代码理解和代码修改操作。
#### 支持的主流语言LSP服务器
表1支持的主流语言LSP服务器 
| LSP服务器                     | 扩展名                                   | 要求                              |
|:---|:---|:---|
| jdtls                      | .java                                 | 请确保已安装Java SDK 21或更高版本。         |
| typescript-language-server | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts | 请确保已安装TypeScript。               |
| pyright                    | .py、.pyi                              | 依赖pyright，请确保已安装该工具。            |
| gopls                      | .go                                   | 依赖Go语言环境，请确保go命令已安装并配置到系统环境变量中。 |
   
#### 开启本地LSP
1. 进入TUI开发环境。 
   1. 打开目标项目的根目录。
   
   2. 鼠标右键单击空白处，选择"在终端中打开"。
   
   3. 在终端中输入"codearts"并回车，即可进入TUI开发环境。
   
   
   
   
2. 开启本地LSP能力。 
   1. 在TUI对话框中，输入"/lsp-toggle"并回车，进入LSP服务开关页面。
      图1开启LSP页面   
      ![](https://support.huaweicloud.com/usermanual-cli/zh-cn_image_0000002659433133.png "点击放大") 
   
   2. 按回车，然后单击"确认"，开启LSP服务。
      图2开启LSP服务   
      ![](https://support.huaweicloud.com/usermanual-cli/zh-cn_image_0000002629392590.png "点击放大") 
   
   
   
   
3. 重启码道CLI，使修改生效。
 
#### 相关文档
启用本地LSP服务后，若在智能体发起会话时收到"LSP服务不可用"的提示，可参考[LSP服务不可用](https://support.huaweicloud.com/codeartsagent_faq/codeartsagent_faq_0064.html)中的操作进行排查和处理。
