VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点

这篇具有很好参考价值的文章主要介绍了VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近期利用VSCode\PyCharm+PyQGIS进行插件开发,现将要点总结一下:

一、VSCode,我没有配置成功,主要是最后一个阶段调试的时候老是不成功。以后会持续关注。但是有几个要点:

1、VSCode+PyQIS开发,智能提示的设置,见下面的文章。网上找不到相关的文章的。

写文章-CSDN创作中心

2、配置文件:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Remote Attach",
            "port": 5678,
            "host": "localhost",
            "request": "attach",
            "type": "python",
            //"processId": "${command:pickProcess}",
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}", // path to your plugin where you are developing
                    "remoteRoot": "C:\\Users\\...\\AppData\\Roaming\\QGIS\\QGIS3\\profiles\\default\\python\\plugins\\your_plugin" // path to where the QGIS plugin folder lives 
                }
            ]
        }
    ]
}

我觉得我应该是pathmappings这里设置的问题。

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

VSCode要启动一会(大概是加载插件的缘故吧),智能提示才能开始启效果。

二、PyCharm,我配置成功了,要注意一下顺序:

1、QGIS中要安装的插件:plugin reloader、plugin builder

2、QGIS中插件的所在目录,建议把工程直接创建在这里:

C:\Users\用户名\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins

3、PyCharm 解释程序配置,如果不是lts版本的qgis,配置上有所不同:

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

 4、服务配置:

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

 VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

3、插件安装:

1)添加包源:

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

 VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

应用后再移除,然后刷新,就可以了。一定是应用后再移除,然后刷新。 

2)安装包pydevd-pycharm ,注意版本要与刚才服务的版本对应,这里我安装的是232.8660.197

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

4、编写代码:

可以用QGIS3.32.1安装时自带的QTDesinger来设计。1)先用plugin builder创建,2)然后用QTDesinger来修改界面。

然后编写代码:

    def run(self):
        """Run method that performs all the real work"""

        # Create the dialog with elements (after translation) and keep reference
        # Only create GUI ONCE in callback, so that it will only load when the plugin is started
        if self.first_start == True:
            self.first_start = False
            self.dlg = MyNameDialog()
            self.dlg.button_box.clicked.connect(self.okclick)

self.dlg.button_box.clicked.connect(self.okclick)这句是给界面上的按键添加方法。

方法这样写:

    def okclick(self):
        pydevd_pycharm.settrace('localhost', port=53100, stdoutToServer=True, stderrToServer=True)
        aa = "cccc"
        print("MyName")

        # 获取当前项目
        project = QgsProject.instance()
        layers = project.mapLayers()

        for layer_id, layer in layers.items():
            print(layer.name())

注意前面需要导入包:

import pydevd_pycharm

from qgis.PyQt.QtCore import Qt
from qgis.PyQt.QtGui import QIcon
from qgis.core import (
    QgsProject,
    QgsVectorLayer,
    QgsMapLayerType,
)
import pydevd_pycharm
pydevd_pycharm.settrace('localhost', port=53100, stdoutToServer=True, stderrToServer=True)
这两句是需要的,这样才能调试,才能查看变量。

然后打断点,点debug。

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

 然后在界面上运行插件:

VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点,Python,vscode,pycharm,ide

修改了代码后编译后,一定要运行一下reloader(上图后面的框),然后点击你的插件。

特别注意:

如果仅仅是编辑一段代码,那么直接用qt自带的python编辑器就行。这时好像是不能调试的。

最好的做法是,创建一个python脚本,用编辑器打开,在pycharm编写,然后它会同时同步到qgis的编辑器中。在qgis中运行看效果,要看变量,直接print(...),这个过程很折磨人哦。

如果要能调试,就必须要按照上面的步骤编写插件。文章来源地址https://www.toymoban.com/news/detail-660466.html

到了这里,关于VSCode\PyCharm23.2+PyQGIS插件开发配置相关要点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VScode开发Vue必备插件及配置

    最佳的工具和插件配最佳的程序员~ Visual Studio代码设置同步 配合github账号 让你在全新电脑上打开全新VScode能把最佳插件和配置下载下来以及随时维护更新! 主要操作: 1、Upload Your Settings --上传 Press Shift + Alt + U (macOS: Shift + Option + U) 2、Download your Settings --下载 Press Shift + Alt + D

    2023年04月08日
    浏览(54)
  • Mesa 23.2 开源图形栈现已可供下载

    导读 作为 Mesa 23 系列的第二个重要版本,Mesa 23.2 开源图形栈现已可供下载,它为 AMD GPU 的 RADV Vulkan 驱动程序带来了新功能,改进了 Linux 游戏,并新增了 Asahi 功能。 Mesa 23.2 的亮点包括 Asahi 上的 OpenGL 3.1 和 OpenGL ES 3.VK_KHR_ray_tracing_pipeline、VK_EXT_depth_bias_control、VK_EXT_fragment

    2024年02月11日
    浏览(34)
  • 【电赛-软件】基于ST官方插件 配置VScode开发STM32

    基于ST官方插件 配置VScode开发STM32 先决条件: 安装插件 插件使用 创建工程 导入工程 编译工程 调试 官方链接:https://marketplace.visualstudio.com/items?itemName=stmicroelectronics.stm32-vscode-extension。 ST官方论坛:https://community.st.com/s/topic/0TO3W00000006cJWAQ/vscode-for-stm32。 需要提前安装 STM32Cu

    2024年02月05日
    浏览(40)
  • vscode vue3开发常用插件(附Prettier格式化配置)

    1、Chinese (Simplified) (简体中文) Language 2、Prettier - Code formatter 3、Vue 3 Snippets 4、Vue Language Features (Volar) 5、git graph 5、Auto Close Tag 6、Vue Theme 按ctrl+shift+p,搜索setting进入用户设置(全局),添加下面规则: 需要注意的是,prtttier格式化可以配置在很多文件上,配置字段也不太一样

    2024年02月14日
    浏览(60)
  • vscode :C\C++插件跳转失效

    vscode一般在Windows环境下,通过安装c/c++插件实现代码间跳转,下面是插件安装全家桶 一、问题 但有时候遇到安装该插件后代码依旧没有实现跳转的功能,通过尝试“禁用”操作、卸载重装操作插件后依旧无法实现跳转 二、造成的原因 最主要的原因可能是,错安装了 clang这个

    2024年02月05日
    浏览(33)
  • 界面组件DevExpress WPF v23.2 - 更轻量级的主题支持

    DevExpress WPF Subscription拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF控件日前正式发布了近

    2024年02月02日
    浏览(60)
  • Visual Studio Code 常见的配置、常用好用插件以及【vsCode 开发相应项目推荐安装的插件】

    把插件的更新也一起取消了 字体对开发也很重要,不同字体,字母形态都不太一样,尤其是标点符号,逗号和分号的区分,有的字体看着这两者就很像 这样打开了很多个文件,就不会导致有的打开的文件被隐藏 相当于idea 查看当前类或接口的结构 Structure 支持快捷键与鼠标右

    2023年04月16日
    浏览(100)
  • 界面组件DevExpress ASP.NET Core v23.2 - 拥有全新的主题样式

    DevExpress ASP.NET Core Controls使用强大的混合方法,结合现代企业Web开发工具所期望的所有功能。该套件通过ASP.NET Razor标记和服务器端ASP.NET Core Web API的生产力和简便性,提供客户端JavaScript的性能和灵活性。ThemeBuilder工具和集成的Material Design、通用主题集可以让您提供现代化的用

    2024年01月19日
    浏览(46)
  • pycharm,VSCode 几个好用的插件

     Tabnine AI Code 可以在编写程序的时候为你提供一些快捷方式,增加编程速度 Chinese 对英文不好的程序员来说是个不错的选择,可以将英文状态下的pycharm变为中文版的 ChatGPT 可以跟ai聊天,ai可以解决你80%的问题 ,也可以帮你写代码 在编写vue程序的时候只需要输入 v2  回车,

    2024年02月13日
    浏览(40)
  • 界面控件DevExpress WinForms/WPF v23.2 - 富文本编辑器支持内容控件

    众所周知内容控件是交互式UI元素(文本字段、下拉列表、日期选择器),用于在屏幕上输入和管理信息。内容控件通常在模板/表单中使用,以标准化文档格式和简化数据输入。DevExpress文字处理产品库(Word Processing Document API、WinForm和WPF富文本编辑器)附带了内容控制支持(v23

    2024年04月15日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包