2016-08-07 19 views
2

Ich habe gerade begonnen, Visual Studio 2015 zu verwenden, und ich mag es wirklich, besonders die Codevervollständigungsfunktionen. Im Moment hat ich ein paar einfachen Python-Code ich schreibe ein Objekt auf einer Tkinter Leinwand zu zeichnen:Python-Tools für Visual Studio - sagen Sie der IDE, welcher Typ ein Parameter sein wird

def draw(self, can): 
     """ can is a Tkinter canvas on which this node will draw itself. """ 
     can.<something> 

Da dieser Python, nirgends in dem eigentlichen Code ist es angezeigt, dass „kann“ wird eine Leinwand sein, so VS kann nach der Eingabe von "kann" nichts automatisch vervollständigen oder vorschlagen. Kann ich Visual Studio sagen, dass es vom Typ tkinter.Canvas sein kann?

Antwort

2

Ja, Sie können eine Assertion-Anweisung verwenden. Dies löst VS Autocomplete-Einstellungen aus. Es ist nicht der schönste Weg, es zu tun, aber ich denke, im Moment ist das die beste Option.

assert isinstance(can, tkinter.Canvas) 

Werfen Sie einen Blick auf this answer für mehr.

+0

Perfekt. Hoffentlich wird die zusätzliche Funktionalität, die sie in diesem anderen Thread erwähnt haben, bald implementiert (ich werde das Kopfgeld vergeben, sobald es mich lässt) – DJX

1

Ich werde vorweg sagen, dass ich nicht Python Tools für Visual Studio verwendet habe (obwohl ich Visual Studio für C# und es ist eine großartige IDE) und so ist dies keine direkte Antwort für Ihre Frage. Ich rate jedoch von "Ich habe gerade begonnen, Visual Studio 2015 zu verwenden", dass Sie möglicherweise verschiedene Tools auschecken, so dass dies für Sie immer noch hilfreich sein kann.

Ich habe vor ein paar Tagen begonnen, PyCharm zu verwenden, da ich bald ernsthafte Python-Arbeit machen will, und ich muss sagen, dass es meiner Meinung nach phänomenal ist.

Um sich auf Ihre Frage zu beziehen, haben Sie mindestens ein paar Möglichkeiten, PyCharm auf die Art Ihrer Parameter schließen zu lassen.

Methode 1: Python 3 Type Hints

Wenn Sie eine Python 3.5 Interpreter verwenden, können Sie helfen PyCharm die Typen der Parameter ableiten von type hints in Ihrem Code bereitstellt.

enter image description here

Methode 2: Docstrings

Alternativ können Sie lassen PyCharm Typen ableiten, durch eine docstring mit der Funktion bereitstellt, die Typ-Informationen enthält. Im folgenden Beispiel verwende ich Dokumentation im reStructuredText-Format.

Der Vorteil dieser Vorgehensweise ist, dass es für den von Ihnen verwendeten Interpreter geeignet ist.

enter image description here