Es ist eine Fortsetzung von http://qiita.com/items/940cab68f7e112af249f.
Wenn Sie mit Google Chrome oder PyCharm suchen, zeigt der Marker an, auf welcher Seite das Schlüsselwort hit steht.
So was. Das ist Eisen, nicht Chrom.
Ich möchte diese Funktion auch in TortoiseHg.
Derzeit scheint es, dass die BlockList-Klasse, die ich neulich geändert habe, fast so verwendet werden kann, wie sie ist. Platzieren wir es wie Chrome auf der rechten Seite der Dateiansicht. So sieht es also aus.
Die Quelle ist hier. https://bitbucket.org/iwata0303/thg/commits/d8452bd98690ab2f939164358976ff68 SIGNAL / SLOT ist im TortoiseHg-Code sorgfältig definiert, daher ist diese Art der Erweiterung einfach :)
Lassen Sie uns diese Funktion nun wie neulich mit einem Plug-In implementieren. Es ist mühsam, TortoiseHg selbst zu bauen. Beim letzten Mal wurde dies durch Hinzufügen einer Methode zur BlockList-Klasse zur Laufzeit realisiert. Diesmal ist dies jedoch etwas problematisch, da die Korrekturen in mehrere Teile unterteilt sind und die vorhandenen Methoden auch Korrekturen enthalten. .. Zu diesem Zeitpunkt scheint es schneller zu sein, jede Klasse zu ersetzen. Beim Upgrade ist es einfacher zu handhaben.
Das Verfahren ist wie folgt.
blockmatcher.py
, qscilib.py
, fileview.py
) in diesen Ordner.__init__.py
# -*- coding: utf-8 -*-
import sys
import os
def extsetup():
#Damit es nur funktioniert, wenn es von TortoiseHg aus gestartet wird
if not os.path.basename(sys.argv[0]).startswith('thg'):
return
# qscilib.Ersetzen Sie Scintilla
from tortoisehg.hgqt import qscilib
from .qscilib import Scintilla
qscilib.Scintilla = Scintilla
# blockmatcher.Blockliste ersetzen
from tortoisehg.hgqt import blockmatcher
from .blockmatcher import BlockList
blockmatcher.BlockList = BlockList
# fileview.Ersetzen Sie HgFileView
from tortoisehg.hgqt import fileview
from .fileview import HgFileView
fileview.HgFileView = HgFileView
Übrigens ist die Ersatzreihenfolge von Scintilla
→ HgFileView
wichtig. HgFileView erbt von Scintilla. Wenn Sie also zuerst HgFileView laden, verwenden Sie Scintilla vor dem Ersetzen.
mercurial.ini
oder hgrc
den Pfad des Ordners thg-ext
als Erweiterung.mercurial.ini
[extensions]
thgext = C:\Work\thg-ext
Herzlichen Glückwunsch, die Suchmarkierungsfunktion hat funktioniert :) Freiheit ist eine gute dynamische Sprache. Es ist eine Fehlerquelle von der Seite, die den Einsteckmechanismus vorbereitet, aber w