PerlNavigator 项目教程
1. 项目的目录结构及介绍
PerlNavigator 项目的目录结构如下:
PerlNavigator/
├── server/
│ ├── src/
│ ├── out/
│ └── package.json
├── client/
│ ├── src/
│ ├── out/
│ └── package.json
├── README.md
├── LICENSE
└── package.json
目录结构介绍
-
server/: 包含 PerlNavigator 语言服务器的主要代码。
- src/: 服务器端的源代码。
- out/: 编译后的 JavaScript 文件。
- package.json: 服务器端的依赖配置文件。
-
client/: 包含 VSCode 扩展的客户端代码。
- src/: 客户端的源代码。
- out/: 编译后的 JavaScript 文件。
- package.json: 客户端的依赖配置文件。
-
README.md: 项目的基本介绍和使用说明。
-
LICENSE: 项目的开源许可证。
-
package.json: 项目的根依赖配置文件。
2. 项目的启动文件介绍
PerlNavigator 项目的启动文件主要位于 server/
目录下。启动文件是 server/out/server.js
,它是通过 npx tsc
编译 server/src/
目录下的 TypeScript 代码生成的。
启动文件介绍
- server/out/server.js: 这是 PerlNavigator 语言服务器的主启动文件。它负责处理与编辑器的通信,执行语法检查、代码补全、代码导航等功能。
3. 项目的配置文件介绍
PerlNavigator 项目的配置文件主要包括以下几个部分:
3.1 package.json
package.json
文件位于项目的根目录和 server/
、client/
目录下,分别用于配置项目的依赖和脚本。
3.2 README.md
README.md
文件提供了项目的基本介绍、安装说明和使用指南。
3.3 server/package.json
server/package.json
文件用于配置服务器端的依赖和脚本。
3.4 client/package.json
client/package.json
文件用于配置客户端(VSCode 扩展)的依赖和脚本。
3.5 编辑器配置
PerlNavigator 支持多种编辑器,如 VSCode、Sublime Text、Emacs 等。每个编辑器都有其特定的配置文件或设置。
VSCode 配置
在 VSCode 中,PerlNavigator 的配置可以通过 settings.json
文件进行设置,例如:
{
"perlnavigator.perltidyProfile": "~/perltidyrc",
"perlnavigator.perlcriticProfile": "~/perlcriticrc",
"perlnavigator.perlEnvAdd": false,
"perlnavigator.perlEnv": [
"KOHA_CONF": "/home/user/git/KohaCommunity/t/data/koha-conf.xml"
],
"perlnavigator.perlcriticEnabled": true,
"perlnavigator.enableWarnings": true
}
Sublime Text 配置
在 Sublime Text 中,PerlNavigator 的配置可以通过 LSP 设置进行配置,例如:
{
"clients": {
"perlnavigator": {
"enabled": true,
"command": ["node", "C:\\temp\\PerlNavigator\\server\\out\\server.js", "--stdio"],
"selector": "source.perl"
}
}
}
Emacs 配置
在 Emacs 中,可以使用 eglot
或 lsp-mode
进行配置,例如:
(setq-default eglot-workspace-configuration '((:perlnavigator (:perlPath "/path/to/perl" :enableWarnings t))))
(with-eval-after-load 'eglot
(add-to-list 'eglot-server-programs `((cperl-mode perl-mode) . ("perlnavigator"))))
通过以上配置,可以在不同的编辑器中启用 PerlNavigator 语言服务器,享受其提供的语法检查、代码补全、代码导航等功能。