2016-06-22 22 views
3

Ich bin es gewohnt, VS zu verwenden, um C++ und Eclipse zu codieren Python, aber in letzter Zeit habe ich VS für beide Sprachen versucht.Python Visual Studio Erweiterung zeigt keine Fehler

Ich fand etwas sehr schwierig zu verstehen, dass, während VS Autocompletes es vor Fehlern vor der Laufzeit nicht warnt.

No warning regarding non existent variables or methods

Es gibt keine Warnung in Bezug auf nicht vorhandenen Variablen oder Methoden. Ich kann nicht glauben, dass VS nicht über diese Art von typischen Codierungsproblemen warnt, wie es für C++ - Code tut (wie jede IDE).

Was fehlt mir?

Ich habe dies mit VS2013 und VS2015 getestet.

Ich erwarte etwas wie:

enter image description here

Dank

+0

Beachten Sie, dass Pylint laufen auf Ihrem Python-Projekt in PTVs konfigurieren können. Haben Sie überprüft, dass IntelliSense-Definitionen für Ihre Python-Installation generiert wurden? Es wird normalerweise neu erstellt, wenn neue Pakete installiert werden. – denfromufa

+0

@denfromufa Ich konnte es nicht zeigen, Fehler auch nach der Installation eines neuen Pakets. Ich habe andere Windows-Benutzer und dasselbe gefragt. Zeigt es Fehler für Sie? danke – user1618465

Antwort

1

Um die Python detaillierte IntelliSense-Unterstützung in VS2015 erhalten Sie Python-Tools für Visual Studio installiert haben, die die folgenden Angaben enthalten:

  1. CPython, PyPy, Ironpython und mehr
  2. Detaillierte IntelliSense
  3. Interactive Debuggen
  4. integriert mit Visual Studio verfügt über
  5. Freie und Open-Source-

Und das Beste daran, es ist völlig kostenlos ist.

Laden Sie einfach es von hier:

https://www.visualstudio.com/en-us/features/python-vs.aspx

Ich hoffe, dass es Ihre Frage unterstützt.

Update nach Kommentar:

Sie müssen nur die Datenbank aktualisieren. Für mich geht das. Stellen Sie sicher, dass die Umgebungsoptionen festgelegt sind (insbesondere die Pfadvariable PYTHONPATH) und dass die Datenbank aktualisiert wird.

Manchmal Löschen die __init__.py Datei in meinem Source-Root-Verzeichnis hat den Trick

+0

Natürlich tat ich das schon. Ich kann Skripte von VS ausführen, ich bekomme die automatische Vervollständigung und so weiter, aber es gibt keine Warnung in Bezug auf nicht vorhandene Variablen oder Methoden. Hast du es versucht? Versuchen Sie den genau gleichen Code, den ich in die Frage einfüge – user1618465

+0

Python Tools doesnt nicht tatsächlich "CPython", IronPython, PyPy, etc. zur Verfügung stellen. Es gibt Unterstützung für diese Interpreter, wenn Sie sie installieren. – Jaxian

+1

Dann sollte Microsoft ihre Werbung aktualisieren, da es irreführend ist, wenn Sie Recht haben. – DeJaVo

0

Es scheint, dass mit einer normalen Python-Installation (2.x oder 3.x in 32-Bit- oder 64-Bit) gibt es begrenzte „Warnungen“ (Schweben über eine undefinierte Variable gibt "unbekannter Typ", aber Syntax Highlighting/Intellisense scheint nicht zu funktionieren.

Intellisense funktioniert nicht:

enter image description here

Erste Intellisense zur Arbeit:

Nach einigen Recherchen habe ich versucht, einen anderen Python-Interpreter für Visual Studio Installation zu arbeiten. Ich ging mit Iron Python, weil es "eng mit dem .NET Framework integriert ist".

es von hier herunterladen ->http://ironpython.codeplex.com/downloads/get/970325

Nach der Installation von Ironpython Visual Studio öffnen und als „Standardumgebung für neue Projekte“ gesetzt. Sie können es unter "Tools" -> "Python-Tools" -> "Python-Umgebungen" (oder durch Drücken von Strg + K + `)

Stellen Sie sicher, dass die Datenbank aktualisiert und Syntax Hervorhebung beginnt zu arbeiten. Es scheint nicht sehr gründlich, aber es ist da.

siehe Foto unten:

enter image description here

+0

Ja, es zeigt Fehler, aber nur, wenn Sie es analysieren oder den Code ausführen. Was ich meine, sind die normalen Warnungen, die Sie rot unterstreichen die Methoden oder Variablen, die Sie verwenden, die nicht existieren. Zum Beispiel hier: http://3.bp.blogspot.com/-OZBlZj05sBQ/U0_ntFJn8RI/AAAAAAAAqPEAr0FXRswfZU/s1600/posh1.png – user1618465

+0

In Ihrem eigenen Beispiel ist bad_variable weder blabla noch unterstrichen. Darauf bezog ich mich in meinem Beitrag. :/ – user1618465

+0

Hast du die anderen Dinge nicht unterstrichen? Das zeigt unmissverständlich Funktionalität - egal wie begrenzt. Es scheint ziemlich klar zu sein, dass VS mit Python einfach nicht mehr macht. – Jaxian