https://github.com/dragonknightofbreeze/paradox-language-support
IDEA Plugin: Paradox Language Support.
https://github.com/dragonknightofbreeze/paradox-language-support
cwt cwtools idea-plugin intellij-plugin paradox stellaris
Last synced: 5 months ago
JSON representation
IDEA Plugin: Paradox Language Support.
- Host: GitHub
- URL: https://github.com/dragonknightofbreeze/paradox-language-support
- Owner: DragonKnightOfBreeze
- License: mit
- Created: 2021-01-09T07:58:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T10:26:46.000Z (about 1 year ago)
- Last Synced: 2024-04-12T17:15:24.214Z (about 1 year ago)
- Topics: cwt, cwtools, idea-plugin, intellij-plugin, paradox, stellaris
- Language: Kotlin
- Homepage: https://windea.icu/Paradox-Language-Support
- Size: 49 MB
- Stars: 32
- Watchers: 5
- Forks: 4
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Paradox Language Support
## 概述
[中文文档](README.md) | [English Documentation](README_en.md)
[GitHub](https://github.com/DragonKnightOfBreeze/Paradox-Language-Support) |
[Reference Documentation](https://windea.icu/Paradox-Language-Support) |
[Plugin Marketplace Page](https://plugins.jetbrains.com/plugin/16825-paradox-language-support) |
[Discord](https://discord.gg/vBpbET2bXT) |
QQ群:653824651IDEA插件:Paradox语言支持。
特性:
* 支持脚本语言与本地化语言,以及规则文件所使用的CWT语言。
* 为脚本语言与本地化语言提供诸多较为完备的语言功能,包括代码高亮、代码导航、代码补全、代码检查、代码重构、快速文档、内嵌提示、动态模版、代码层级、图表、差异比较等。
* 为CWT语言提供基础的语言功能,包括代码高亮、代码导航、快速文档等。
* 支持通过快速文档与内嵌提示等方式,渲染作用域上下文、本地化文本、DDS图片以及其他有用的信息。
* 支持脚本语言与本地化语言的多数高级特性(例如参数、作用域、内联脚本和各种复杂表达式)。
* 支持自定义扩展的规则文件,从而允许插件提供更加完善的语言功能(例如代码导航、代码补全、快速文档和内嵌提示)。
* 自动识别游戏目录(包含启动器配置文件`launcher-settings.json`)和模组目录(包含模组描述符文件`descriptor.mod`)。此插件基于由CWT规则文件组成的[规则分组](https://windea.icu/Paradox-Language-Support/zh/config.md#config-group),实现了诸多语言功能。
插件已经内置了最新版本的规则文件,以便开箱即用。
除此之外,插件也支持[自定义](https://windea.icu/Paradox-Language-Support/zh/config.md#writing-cwt-config-files)与[导入](https://windea.icu/Paradox-Language-Support/zh/config.md#importing-cwt-config-files)本地的规则文件。如果同时安装了 [Translation](https://github.com/YiiGuxing/TranslationPlugin) ,此插件可以提供一些[额外的功能](https://windea.icu/Paradox-Language-Support/zh/plugin-integration.md)。

## 快速开始
使用:
* 通过IDE打开你的模组根目录。(需要直接包含模组描述符文件`descriptor.mod`)
* 打开模组描述符文件,点击位于编辑器右上角的悬浮工具栏中的模组配置按钮。
* 配置模组的游戏类型、游戏目录以及额外的模组依赖。
* 点击确定按钮完成配置,然后等待IDE索引完成。
* 开始你的模组编程之旅吧!提示:
* 如果需要进行全局搜索,请参考以下方式:
* 点击`Ctrl Shift R`或者`Ctrl Shift F`在当前项目、目录或者指定作用域中搜索。
* 点击`Shift Shift`查找文件、定义、封装变量(scripted_variable)以及其他各种符号。
* 如果需要进行代码导航,请参考以下方式:
* 按住`Ctrl`并点击目标位置,从而导航到目标的声明或使用处。
* 按住`Ctrl Shift`并点击目标位置,从而导航到目标的类型声明处。
* 按住`Alt`并点击目标位置,从而导航到目标对应的CWT规则的声明处。
* 按住`Shift Alt`并点击目标位置,从而导航到目标定义的相关本地化的声明处。
* 按住`Ctrl Shift Alt`并点击目标位置,从而导航到目标定义的相关图片的声明处。
* 点击`Navigate`或者编辑器右键菜单中的`Go To`,选择要导航到的目标。
* 点击`Navigate > Definition Hierarchy`,打开定义层级窗口,从而查看某一类型的定义的实现关系。
* 点击`Navigate > Call Hierarchy`,打开调用层级窗口,从而查看定义、本地化、封装变量(scripted_variable)等的调用关系。
* 点击`Alt 1`或者`Project`工具窗口,打开项目视图面板,然后点击左上角的`Project > Paradox Files`,从而查看汇总后的游戏与模组文件。
* 点击`Alt 1`或者`Project`工具窗口,打开项目视图面板,然后点击左上角的`Project > CWT Config Files`,从而查看汇总后的CWT规则文件。
* 如果需要进行全局代码检查,请参考以下方式:
* 点击`Alt 6`或者`Problems`工具窗口,打开问题面板,然后查看当前文件存在的问题,或者进行整个项目的全局代码检查。
* 点击`Code > Inspect Code...`,进行整个项目的全局代码检查。
* 完成代码检查后,IDE将会在问题面板中显示详细的检查结果。
* 如果需要更改插件的全局配置,请参考以下方式:
* 点击`Settings > Languages & Frameworks > Paradox Language Support`,打开插件的配置页面。
* 如果需要更改模组类型、游戏目录、模组依赖等配置,请通过以下方式之一打开模组配置对话框:
* 点击`Settings > Languages & Frameworks > Paradox Language Support`,可配置默认的游戏目录。
* 点击位于页面右上方的编辑器悬浮工具栏中的蓝色齿轮图标。
* 在编辑器中打开右键菜单,点击`Paradox Language Support > Open Mod Settings...`。
* 点击`Tools > Paradox Language Support > Open Mod Settings...`。
* 如果在使用过程中遇到意外问题,请尝试通过以下方式解决:
* 更新IDE和插件到最新版本。
* 如果可能与IDE索引有关,请尝试重建索引并重启IDE。(点击`File -> Invalidate Caches... -> Invalidate and Restart`)
* 如果可能与插件内置的规则有关,请尝试[编写自定义的规则文件](https://windea.icu/Paradox-Language-Support/zh/config.md#writing-cwt-config-files)。
* 如果可能与插件的配置有关,请尝试删除插件的配置文件。(`paradox-language-support.xml`,如果不知道具体位置,请使用[Everything](https://www.voidtools.com))
* 通过GitHub、Discord等渠道进行反馈。已知问题:
* 对Stellaris的某些黑魔法般的语言特性的支持尚不完善。
* 对Stellaris以外的游戏的支持尚不完善。## 参考
参考手册:
* [IntelliJ Platform SDK | IntelliJ Platform Plugin SDK](https://plugins.jetbrains.com/docs/intellij/welcome.html)
* [JFlex - manual](https://www.jflex.de/manual.html)工具和插件:
* [cwtools/cwtools](https://github.com/cwtools/cwtools)
* [cwtools/cwtools-vscode](https://github.com/cwtools/cwtools-vscode)
* [bcssov/IronyModManager](https://github.com/bcssov/IronyModManager)
* [OldEnt/stellaris-triggers-modifiers-effects-list](https://github.com/OldEnt/stellaris-triggers-modifiers-effects-list)
* [YiiGuxing/TranslationPlugin](https://github.com/YiiGuxing/TranslationPlugin)Wiki:
* [Stellaris Wiki](https://stellaris.paradoxwikis.com/Stellaris_Wiki)
* [群星中文维基 | Stellaris 攻略资料指南 - 灰机wiki](https://qunxing.huijiwiki.com/wiki/%E9%A6%96%E9%A1%B5)