PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题


Posted in Python onApril 03, 2021

本教程配置好后一劳永逸,不用再配置,每次只需要选择 Python 解释器即可
打开KBEngine的服务器项目文件夹(资产目录)

PyCharm配置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…

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

在弹出的窗口中选择服务器资产目录作为项目工程打开,如图:

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

点击OK,在弹出的窗口中,选择 new window

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

再在打开的窗口中,选择 File->Open…

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

然后多选服务器资产目录下的 base、cell 等文件夹作为项目来打开

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

点击OK,在弹出的多个窗口中全部选择 Attach 将这些项目合并到同一个窗口中,如果是旧版的 PyCharm,则需要选择 This Windows,并勾选下面的 Add to xxx…。

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

可以看到,作为项目打开的文件夹名称高亮显示了(颜色更白)

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

接下来是最关键的一步,给每个项目配置 Python Interpreter,选择 File->Settings

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

选择 assets 项目,点击齿轮按钮,再选择 Add…

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

然后选择 System Interpreter,选中自己安装的 Python,点击两个窗口的OK

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

此时,Python Interpreter窗口中多出来一个 Python3.x (2) 的选项,我们选择 Show All…

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

在弹出来的窗口中,我们选中新增的 Python 解释器,点击图标为笔的按钮

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

修改名字为 KBEngineBase 或 KBEngine_Base 都行,主要是把该解释器作为 Base 项目使用的环境的唯一标识,我这里命名

为 KBEngine_Base

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

同理,重复如上几个步骤,创建出多个 Python 环境,分别根据 Cell、Common 等几个项目来命名,创建出的 Python 环境如下

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

下载好 KBEngine 提供的 tips 代码提示包,下载链接 Gitee 和 GitHub 都有

Gitee地址

GitHub地址

把下载好的 tips 文件夹,拷贝到python安装目录的Lib下

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

然后依次给我们刚刚创建的 Python 解释器添加依赖路径,首先还是点击刚刚提到的 Show All… 按钮查看所有解释器,选中

KBEngine_Base,点击下面的依赖按钮

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

在弹出的窗口中,点击加号

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

进入到 tips 目录下,选中 baseapp 文件夹,点击确定

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

同理,给 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

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

做好上面的步骤后,我们给项目选择各自的 Python 解释器,其中 xxx_server_asset 直接选择我们的 Python 3.x 解释器即可,不需要 tips 下的依赖包。以后再新建 KBEngine 的服务器项目,就不用重新输入依赖目录了,直接选择对应的 Python 解释器

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

base 项目选择 KBEngine_Base,以此类推。

再选择 Project Dependencies,给每一个项目勾选所有依赖项目,即 base 依赖 cell、common 等项目。

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

勾选好后,点击OK,随后就能在右下角看见 PyCharm 在执行分析新增的几个 Python 解释器(这小小的进度条)。

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

 

[可选步骤]

如果你像我一样想给项目修改高亮图标,可以执行这一步,如果不想可跳过
选择 Settings 中的 Project Structure,依次给每个项目标记为 Source,点击OK

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

然后你就会得到清晰的目录结构(蓝色图标),项目配置到此结束,接下来是配置命令和外部工具

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

为了让项目更加清晰,我们可以让 PyCharm 忽略显示 bat、sh 格式的文件。
打开 Settings,依次添加 *.bat*.sh 到忽略列表中,点击OK,这样 PyCharm 就不会显示 bat、sh 格式的文件了。

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

配置外部工具和命令

KBEngine 有一些专门给项目定义实体的工具,这里提供一个网盘链接。

链接: https://pan.baidu.com/s/1WLRC5AkzBgsGUN161DqVxw 提取码: c7jk

该工具在GitHub上有原项目,但存在一些问题,我已经从源码上修改再打包,这个是修改版
(存在实体类被定义后无法按照包含关系排序的问题,导致 KBEngine 生成 SDK 时出错)

下载后有个 exe 可执行文件,我这里把工具放到 G 盘,目录如下

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

实体定义工具

打开 PyCharm 的 Settings 窗口,执行图中操作,在 Work directory 中输入 $FileDir$,点击OK

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

生成客户端插件批处理文件

再添加生成客户端插件的工具,切记要取消勾选 Synchronize files after execution!否则会导致 bat 文件执行失败

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

服务器控制台工具

切记要取消勾选 Synchronize files after execution

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

启动服务器工具

切记要取消勾选 Synchronize files after execution

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

结束服务器进程工具

切记要取消勾选 Synchronize files after execution

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

切记

切记!运行工具时,必须先用鼠标选中 xxx_server_assets 项目,因为这样 PyCharm 才能识别 $FileDir$为 xxx_server_assets 目录,否则会出现找不到目标文件的错误!

我们来测试一下,先鼠标选中 xxx_server_assets 项目

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

然后点击菜单栏的 Tools->KBEngine->StartServer

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

可以打开 KBEngine 服务器的 9 个进程,也可以在 PyCharm 的控制台中输出批处理文件的执行信息,如下

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

配置快捷键

工具配好了,接下来给它们配置快捷键

再次打开 Settings 窗口,选择 Keymap

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

在我们配好的命令下依次右键,选择 Add Keyboard Shortcut

在弹出的窗口输入你想要的快捷键

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

我这里依次是 Ctrl + Alt + 1/2/3/4/5(小键盘的数字),对应 5 个命令,可以看到显示出来的快捷键

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题

到此这篇关于PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题的文章就介绍到这了,更多相关PyCharm配置KBEngine内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
深入学习python的yield和generator
Mar 10 Python
Python中的字符串操作和编码Unicode详解
Jan 18 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
python实现图片压缩代码实例
Aug 12 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
Feb 24 Python
基于matplotlib xticks用法详解
Apr 16 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
Jun 29 Python
Python如何定义有默认参数的函数
Aug 10 Python
python实现双人五子棋(终端版)
Dec 30 Python
python 统计代码耗时的几种方法分享
python 遍历磁盘目录的三种方法
Apr 02 #Python
python 如何在 Matplotlib 中绘制垂直线
在Windows下安装配置CPU版的PyTorch的方法
PyQt5 QThread倒计时功能的实现代码
Apr 02 #Python
Python中Permission denied的解决方案
Apr 02 #Python
python爬不同图片分别保存在不同文件夹中的实现
You might like
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
js实现查询商品案例
2020/07/22 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
python 实现线程之间的通信示例
2020/02/14 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
苹果美国官方商城:Apple美国
2016/08/24 全球购物
中国网上药店领导者:1药网
2017/02/16 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
社团活动策划书范文
2014/01/09 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
z-index不起作用
2021/03/31 HTML / CSS
24年收藏2000多部退役军用电台
2022/02/18 无线电
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL