[PYTHON] Modifions un peu plus la vue des fichiers de TortoiseHg

C'est une continuation de http://qiita.com/items/940cab68f7e112af249f.

Chose que tu veux faire

Si vous effectuez une recherche avec Google Chrome ou PyCharm, le marqueur vous indiquera de quel côté se trouve le mot-clé hit.

Comme ça. C'est Iron, pas Chrome. Iron search

Je veux aussi cette fonctionnalité dans TortoiseHg. ** Au fait, Tortoise Bzr l'a déjà. ** </ Stemmer>

Ce que j'ai fait

Pour le moment, il semble que la classe BlockList, que j'ai modifiée l'autre jour, puisse être utilisée presque telle quelle. Placez-le sur le côté droit de la vue du fichier, comme Chrome. Donc ça ressemble à ça. thg-fileview

La source est ici. https://bitbucket.org/iwata0303/thg/commits/d8452bd98690ab2f939164358976ff68 SIGNAL / SLOT est soigneusement défini dans le code TortoiseHg, donc ce type d'extension est facile :)

Extension

Maintenant, comme l'autre jour, implémentons cette fonction avec un plug-in. C'est un problème de construire TortoiseHg vous-même. La dernière fois, je l'ai réalisé en ajoutant une méthode à la classe BlockList au moment de l'exécution, mais cette fois c'est un peu gênant car les corrections sont divisées en plusieurs parties et les méthodes existantes ont également des corrections. .. Pour le moment, il semble plus rapide de remplacer chaque classe. C'est plus facile à gérer lors de la mise à niveau.

La procédure est comme ça.

  1. Créez un dossier appelé thg-ext (quel que soit son nom) dans un emplacement approprié.
  2. Jetez les fichiers modifiés (blockmatcher.py, qscilib.py, fileview.py) dans ce dossier.
  3. Créez un fichier appelé «__init __. Py» dans le même dossier avec le contenu suivant.

__init__.py


# -*- coding: utf-8 -*-
import sys
import os

def extsetup():
    #Faites-le fonctionner uniquement lorsqu'il est lancé depuis TortoiseHg
    if not os.path.basename(sys.argv[0]).startswith('thg'):
        return
    
    # qscilib.Remplacer Scintilla
    from tortoisehg.hgqt import qscilib
    from .qscilib import Scintilla
    qscilib.Scintilla = Scintilla
    # blockmatcher.Remplacer BlockList
    from tortoisehg.hgqt import blockmatcher
    from .blockmatcher import BlockList
    blockmatcher.BlockList = BlockList
    # fileview.Remplacer HgFileView
    from tortoisehg.hgqt import fileview
    from .fileview import HgFileView
    fileview.HgFileView = HgFileView

À propos, l'ordre de remplacement de Scintilla HgFileView est important. HgFileView hérite de Scintilla, donc si vous chargez d'abord HgFileView, vous utiliserez Scintilla avant le remplacement.

  1. Dans mercurial.ini ou hgrc, enregistrez le chemin du dossier thg-ext comme extension.

mercurial.ini


[extensions]
thgext = C:\Work\thg-ext

Alors, félicitations, la fonction de marqueur de recherche a fonctionné :) La liberté est un bon langage dynamique. C'est une source de problèmes du côté qui prépare le mécanisme de plug-in, mais w

Recommended Posts

Modifions un peu plus la vue des fichiers de TortoiseHg
Essayez de modifier un peu la vue du fichier de TortoiseHg
Essayez de créer un fichier compressé en utilisant Python et zlib