PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
作者:-瑾- 发布时间:2023-08-12 09:14:28
本教程配置好后一劳永逸,不用再配置,每次只需要选择 Python 解释器即可
打开KBEngine的服务器项目文件夹(资产目录)
其主要工程目录如下(data、entity_defs等文件夹不作项目):
| xxx_server_assets
| scripts
| base
| bots
| cell
| client
| common
| db
| interface
| logger
| login
配置项目
首先为了解决代码提示冲突问题,需要把 xxx_server_assets、base、cell 等如上目录中的文件夹作为项目(Project)在PyCharm中打开
选择左上角菜单栏的 File->Open…
在弹出的窗口中选择服务器资产目录作为项目工程打开,如图:
点击OK,在弹出的窗口中,选择 new window
再在打开的窗口中,选择 File->Open…
然后多选服务器资产目录下的 base、cell 等文件夹作为项目来打开
点击OK,在弹出的多个窗口中全部选择 Attach 将这些项目合并到同一个窗口中,如果是旧版的 PyCharm,则需要选择 This Windows,并勾选下面的 Add to xxx…。
可以看到,作为项目打开的文件夹名称高亮显示了(颜色更白)
接下来是最关键的一步,给每个项目配置 Python Interpreter,选择 File->Settings
选择 assets 项目,点击齿轮按钮,再选择 Add…
然后选择 System Interpreter,选中自己安装的 Python,点击两个窗口的OK
此时,Python Interpreter窗口中多出来一个 Python3.x (2) 的选项,我们选择 Show All…
在弹出来的窗口中,我们选中新增的 Python 解释器,点击图标为笔的按钮
修改名字为 KBEngineBase 或 KBEngine_Base 都行,主要是把该解释器作为 Base 项目使用的环境的唯一标识,我这里命名
为 KBEngine_Base
同理,重复如上几个步骤,创建出多个 Python 环境,分别根据 Cell、Common 等几个项目来命名,创建出的 Python 环境如下
下载好 KBEngine 提供的 tips 代码提示包,下载链接 Gitee 和 GitHub 都有
Gitee地址
GitHub地址
把下载好的 tips 文件夹,拷贝到python安装目录的Lib下
然后依次给我们刚刚创建的 Python 解释器添加依赖路径,首先还是点击刚刚提到的 Show All… 按钮查看所有解释器,选中
KBEngine_Base,点击下面的依赖按钮
在弹出的窗口中,点击加号
进入到 tips 目录下,选中 baseapp 文件夹,点击确定
同理,给 KBEngine_Bots 等几个解释器添加 bots 等文件夹作为依赖路径KBEngine_Base
对应 baseapp
KBEngine_Bots
对应 bots
KBEngine_Cell 对应 cellapp
KBEngine_Client
对应 client
KBEngine_Common
对应 common
KBEngine_db
对应 dbmgr
KBEngine_Interfaces
对应 interfaces
KBEngine_Logger
对应 logger
KBEngine_Login
对应 loginapp
如下,KBEngine_Cell 对应的依赖路径是 tips 下的 cellapp
做好上面的步骤后,我们给项目选择各自的 Python 解释器,其中 xxx_server_asset 直接选择我们的 Python 3.x 解释器即可,不需要 tips 下的依赖包。以后再新建 KBEngine 的服务器项目,就不用重新输入依赖目录了,直接选择对应的 Python 解释器
base 项目选择 KBEngine_Base,以此类推。
再选择 Project Dependencies,给每一个项目勾选所有依赖项目,即 base 依赖 cell、common 等项目。
勾选好后,点击OK,随后就能在右下角看见 PyCharm 在执行分析新增的几个 Python 解释器(这小小的进度条)。
[可选步骤]
如果你像我一样想给项目修改高亮图标,可以执行这一步,如果不想可跳过
选择 Settings 中的 Project Structure,依次给每个项目标记为 Source,点击OK
然后你就会得到清晰的目录结构(蓝色图标),项目配置到此结束,接下来是配置命令和外部工具
为了让项目更加清晰,我们可以让 PyCharm 忽略显示 bat、sh 格式的文件。
打开 Settings,依次添加 *.bat
和 *.sh
到忽略列表中,点击OK,这样 PyCharm 就不会显示 bat、sh 格式的文件了。
配置外部工具和命令
KBEngine 有一些专门给项目定义实体的工具,这里提供一个网盘链接。
链接: https://pan.baidu.com/s/1WLRC5AkzBgsGUN161DqVxw 提取码: c7jk
该工具在GitHub上有原项目,但存在一些问题,我已经从源码上修改再打包,这个是修改版
(存在实体类被定义后无法按照包含关系排序的问题,导致 KBEngine 生成 SDK 时出错)
下载后有个 exe 可执行文件,我这里把工具放到 G 盘,目录如下
实体定义工具
打开 PyCharm 的 Settings 窗口,执行图中操作,在 Work directory 中输入 $FileDir$
,点击OK
生成客户端插件批处理文件
再添加生成客户端插件的工具,切记要取消勾选 Synchronize files after execution
!否则会导致 bat 文件执行失败
服务器控制台工具
切记要取消勾选 Synchronize files after execution
!
启动服务器工具
切记要取消勾选 Synchronize files after execution
!
结束服务器进程工具
切记要取消勾选 Synchronize files after execution
!
切记
切记!运行工具时,必须先用鼠标选中 xxx_server_assets 项目,因为这样 PyCharm 才能识别 $FileDir$
为 xxx_server_assets 目录,否则会出现找不到目标文件的错误!
我们来测试一下,先鼠标选中 xxx_server_assets 项目
然后点击菜单栏的 Tools->KBEngine->StartServer
可以打开 KBEngine 服务器的 9 个进程,也可以在 PyCharm 的控制台中输出批处理文件的执行信息,如下
配置快捷键
工具配好了,接下来给它们配置快捷键
再次打开 Settings 窗口,选择 Keymap
在我们配好的命令下依次右键,选择 Add Keyboard Shortcut
在弹出的窗口输入你想要的快捷键
我这里依次是 Ctrl + Alt + 1/2/3/4/5
(小键盘的数字),对应 5 个命令,可以看到显示出来的快捷键
来源:https://blog.csdn.net/qq_36064018/article/details/114739793
猜你喜欢
- 豆瓣电影排行榜前250 分为10页,第一页的url为https://movie.douban.com/top250,但实际上应该是https
- 前言在pandas模块中,通常我们都需要对类型为DataFrame的数据进行操作,其中最为常见的操作便是拼接了。比如我们将两个Excel表格
- 如何用我的国际域名做虚拟域名?config.asp<%Domain_URL = "intels.net&
- Django的QuerySets酷毙了!在本文中我将解释一下QuerySets是什么,它是如何工作的(如果你对它已经熟悉了,你可
- 本文实例讲述了python关于矩阵重复赋值覆盖问题的解决方法。分享给大家供大家参考,具体如下:import itertoolsimport
- 先来看一下最终的效果吧开始聊天,输入消息并点击发送消息就可以开始聊天了点击 “获取后端数据”开启实时推送先来简单了解一下 Django Ch
- 因为写js经常需要用到访问样式,我们常用的做法是通过 DOM.style.XXX来读写样式信息的。可是DOM.style这种写法只能访问&l
- Session 对象 可以使用 Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Se
- Python通过命令提示符安装matplotlib:1.直接打开命令提示符(快捷键窗口+ r)2.若提示安装失败(Python - 您正在使
- Win7或Windows server 2008中IIS7支持ASP+Access解决方法:1. 让IIS7支持ASPWin7或Window
- 如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,和触发器中事务个故事。在这
- 本文实例讲述了php实现mysql事务处理的方法。分享给大家供大家参考。具体分析如下:要实现本功能的条件是环境 mysql 5.2 /php
- 一、前言1.1 关于描述性统计分析概括地来说,描述性统计分析就是在收集到的数据的基础上,运用制表和分类,图形以及计算概括性数据来描述数据特征
- 数据库中有一字段type_code,有中文类型和中文类型编码,现在对type_code字段的数据进行统计处理,编码对应的字典如下:{'
- 目录1. 警告不是异常2. 警告能捕获吗3. 捕获警告方法一4. 捕获警告方法二5. 捕获警告方法三1. 警告不是异常你是不是经常在使用一些
- flash param参数和属性下列标记属性和参数描述了由“发布”命令创建的 HTML 代码。在编写自己的用于显示 Flash 内容的 HT
- 问题:导入数据时是否需要禁用索引?解答:在使用load data导入数据时,如果导入的表是MyISAM的,对于空表,MySQL数据库会把所有
- 1 安装说明1.1 用到的软件软件版本下载地址linuxUbuntu Server 18.04.2 LTShttps://ubuntu.co
- 假设需要批量处理多个txt文件,然后将包含子串的内容写入一个txt文件中,这里假设我的子串为"_9"和“_10”下面就是
- 剑指Offer(Python多种思路实现):剪绳子面试14题:题目:剪绳子题:给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,且n