前面讲过的内容最终都要用self.msg调试, 显然不省事, 习惯用IDE指变量名就看到内容的时代, 这方法太慢了.
经过一番探索, 终于找到了简单方法, 其实就是以前我们调试c++ dll动态库的办法 : 附加到进程 (不知这次面对ink插件为啥迟迟没想到这个办法 , 饶了弯路)
具体做法是:
1. 在插件里写窗体(或者消息框) 让程序停下来等待输入 , 比如我的前一篇 https://blog.youkuaiyun.com/majian/article/details/106851866 用Qt窗体.
2. 用vscode打开插件的源码py文件, 在窗体后的代码位置设个断点. 比如我想看输入的x值, 下图22行设断点:
3. 打开inkscape, 调用插件, 当对话框弹出时, 这时 inkscape已经调用了python进程 , 在"任务管理器"里能看到python进程的id
4. 在窗体里输入一个值, 比如 x=12
5. 回到 vscode界面, 点