能用python把微信所有群一键折叠吗

Python023

能用python把微信所有群一键折叠吗,第1张

能用python把微信所有群一键折叠。

1、选中所要折叠的代码片段,右键,找到folding。

2、使用快捷键折叠所有ctrl+shift+=。

3、快捷键展开所有代码ctrl+shift+-。

最近刚好写了一个python的折叠功能。 能简单。 是基于emacs自带的python mode。可以支持各种类型的block (如if, for等)。  

关键是: mypython-fold/unfold-block。 我把它绑到了F10. 可以自己改。 其他都只是些支持代码。

(defface codepilot-folding-overlay 

   '((default (:inherit region :box (:line-width 1 :color "DarkSeaGreen1" :style released-button))) 

     (((class color)) (:background "DarkSeaGreen2" :foreground "black"))) 

   "*Font used by folding overlay." 

   :group 'codepilot) 

  

(defun cptree-ov-delete () 

   (interactive) 

   (dolist (o (overlays-at (point))) 

     (cptree-delete-overlay o 'cptree))) 

  

(defvar cptree--overlay-keymap nil "keymap for folding overlay") 

  

(unless cptree--overlay-keymap 

   (let ((map (make-sparse-keymap))) 

     (define-key map [mouse-1] 'cptree-ov-delete) 

     (define-key map "\r" 'cptree-ov-delete) 

     (setq cptree--overlay-keymap map))) 

  

(defun cptree-delete-overlay(o prop) 

   (when (eq (overlay-get o 'cptree-tag) prop) 

     (delete-overlay o) 

     t)) 

  

(defun cptree-hide-region (from to prop) 

   "Hides a region by making an invisible overlay over it and save the 

overlay on the hide-region-overlays \"ring\"" 

   (interactive) 

   (let ((new-overlay (make-overlay from to))) 

     (overlay-put new-overlay 'invisible nil) 

     (overlay-put new-overlay 'cptree-tag prop) 

     (overlay-put new-overlay 'face 'codepilot-folding-overlay) 

     (overlay-put new-overlay 'display 

                  (propertize 

                   (format "...<%d lines>..." 

                           (1- (count-lines (overlay-start new-overlay) 

                                            (overlay-end new-overlay)))))) 

     (overlay-put new-overlay 'priority (- 0 from)) 

     (overlay-put new-overlay 'keymap cptree--overlay-keymap) 

     (overlay-put new-overlay 'pointer 'hand))) 

  

(require 'python) 

  

(defun mypython-fold/unfold-block () 

   "fold the block" 

   (interactive) 

   (let (ret b e) 

     (dolist (o (overlays-at (if (python-open-block-statement-p) 

                                 (save-excursion 

                                   (python-end-of-statement) 

                                   (point) 

                                   ) 

                                 (point)))) 

       (when (cptree-delete-overlay o 'cptree) 

         (setq ret t))) 

     (unless ret 

       (save-excursion 

         (unless (python-open-block-statement-p) 

           (python-beginning-of-block)) 

         (python-end-of-statement) 

         (setq b (point)) 

         (python-end-of-block) 

         (setq e (1- (point))) 

         (cptree-hide-region b e 'cptree))))) 

  

(define-key python-mode-map [(f10)] 'mypython-fold/unfold-block)

第一款:最强终端 Upterm

它是一个全平台的终端,可以说是终端里的IDE,有着强大的自动补全功能,之前的名字叫作:BlackWindow。有人跟他说这个名字不利于社区推广,改名叫Upterm之后现在已经17000+Star了。

第二款:交互式解释器 PtPython

一个交互式的Python解释器,支持语法高亮、提示,甚至是VIM和emacs的键入模式。

第三款:包管理必备 Anaconda

强烈推荐:Anaconda。它能帮你安装许多麻烦的东西,包括:Python环境、pip包管理工具、常用的库、配置好环境路径等等。这些小事情小白自己一个个去做的话,容易遇到各种问题,也容易造成挫败感。如果你想用Python搞数据方面的事情,安装它就可以了,它甚至开发了一套JIT的解释器Numba。所以Anaconda有了JIT之后,对线上科学计算效率要求比较高的东西也可以搞定了。

第四款:编辑器 Sublime3

如果你是小白的话,推荐从PyCharm开始上手,但是有时候写一些轻量的小脚本,就会想到轻量级一点的工具。Sublime3很多地方都有了极大的提升,并且用起来比原来还要简单,配合安装Anaconda或CodeIntel插件,可以让Sublime3拥有近乎IDE的体验。

第五款:前端在线编辑器 CodeSandbox

虽然这个不算是真正意义上的Python开发工具,但如果后端工程师想要写前端的话,这个在线编辑器太方便了,节省了后端工程师的生命。不用安装npm的几千个包了,它已经在云端完成了,才让你直接就可以上手写代码、看效果。对于React、Vue这些主流前端框架都支持。

第六款:Python Tutor

Python

Tutor是一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教师或学生可以直接在web浏览器中编写Python代码,并逐步可视化地运行程序。

第七款:IPython

如何进行交互式编程?没错,就是通过IPython。IPython相对于Python自带的shell要好用的多,并且能够支持代码缩进、TAB键补全代码等功能。如果进行交互式编程,这是不可缺少的工具。

第八款:Jupyter Notebook

Jupyter

Notebook就像一个草稿本,能将文本注释、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,以Web页面的方式展示,它是数据分析、机器学习的必备工具。

第九款:Pycharm

Pycharm是程序员常常使用的开发工具,简单、易用,并且能够设置不同的主题模式,根据自己的喜好来设置代码风格。

第十款:Python Tutor

这个工具可能对初学者比较有用,而对于中高级程序员则用处较少。这个工具的特色是能够清楚的理解每一行代码是如何在计算机中执行的,中高级程序员一般通过分步调试可以实现类似的功能。这个工具对于最初接触Python、最初来学习编程的同学还是非常有用的,初学者可以体验一下。