9 Stimmen

Gibt es ein Programm oder einen Trick, um die Definition einer Variablen zu finden?

Wenn ich mir den Code anderer ansehe, möchte ich oft nur wissen, wo und wie eine Variable definiert ist. Normalerweise suche ich nach dem Typ der Variablen, bis ich die Definition finde, was sehr zeitaufwändig ist. Ich vermute, dass es einige Tools gibt, die mir in dieser rutinären Situation helfen können. Haben Sie einen Vorschlag für einige Tools oder Befehle, die mir bei dieser Aufgabe helfen?

Ich weiß, dass dies bei der Verwendung einer grafischen Benutzeroberfläche und der Erstellung eines Projekts automatisch geschieht, aber ich suche nach einer Möglichkeit, dies ohne eine grafische Benutzeroberfläche zu tun. Ich arbeite nur mit dem Textmodus. Ich arbeite unter Linux und verwende C/C++, aber Vorschläge für andere Sprachen sind willkommen.

Herzlichen Dank.

Eine mögliche Lösung

Michel schlägt in einem seiner Kommentare eine einfache und effektive Lösung vor: Definieren Sie die Variable erneut, dann wird der Compiler bei der Kompilierung mitteilen, wo sich die vorherige Definition befindet. Um diese Lösung anzuwenden, müssen wir natürlich vorher an die Lokalität der Variablen denken.

0 Stimmen

Sie könnten zumindest die Sprache angeben ;)

1 Stimmen

Ich stehe so sehr auf C++, dass mein Verstand jetzt nur noch denkt, dass es nur eine Sprache gibt.

0 Stimmen

Die Methode, die Variable neu zu definieren, ist keine Lösung. Sie haben verschiedene Namespaces. Wenn Sie zum Beispiel eine Variable mit dem Namen "average" suchen, können Sie sie innerhalb einer Methode oder Funktion oder in einem anderen Namensraum (mit demselben Namen) definieren, und es ist kein Fehler.

1voto

Nathan Fellman Punkte 115324

In VIM können Sie verwenden gd um lokale Variablendeklarationen zu sehen oder gD um globale Variablendeklarationen zu sehen, wenn sie in der aktuellen Datei definiert sind. Referenz Gehe_zur_Definition_verwendet_g

Sie können auch Folgendes verwenden [i um die Definition zu sehen, ohne sie zu überspringen, oder [I um alle Vorkommen der Variable in allen eingeschlossenen Dateien zu sehen, die natürlich auch die Definition anzeigen.

-1voto

Tomas Aschan Punkte 55585

Wenn Sie mit Microsoft Visual Studio arbeiten (das Sie meines Erachtens auch für C++ verwenden könnten, was allerdings die Arbeit auf einer Windows-Workstation voraussetzen würde), gibt es eine leicht zugängliche Rechtsklick-Menüoption für "Go to Definition...", die Sie zur Definition jeder aktuell markierten Variablen, jedes Typs oder jeder Methode führt.

0 Stimmen

In der Frage gebe ich keine GUIs an, weil ich im Textmodus arbeite.

0 Stimmen

Ganz zu schweigen davon, dass Sie ein Wort ausgelassen haben: vielleicht. Ich habe nicht festgestellt, dass das auch nur im Geringsten zuverlässig ist. Manchmal funktioniert es und manchmal nicht.

-1voto

FlySwat Punkte 165766

Wenn Sie darauf bestehen, im Textmodus zu bleiben, können Sie dies entweder mit emacs oder vi mit den entsprechenden Plug-ins tun.

Aber wirklich, gehen Sie ins 21. Jahrhundert.

EDIT: Sie haben angegeben, dass Sie dies über SSH tun, weil Sie die Erstellungsgeschwindigkeit des entfernten Serverclusters benötigen.

In diesem Fall sollten Sie das Laufwerk auf Ihrem lokalen Rechner einbinden, eine IDE verwenden und sich einfach per SSH einloggen, um einen Build zu starten.

0 Stimmen

Das Mounten des Laufwerks auf dem lokalen Rechner ist manchmal nicht möglich. Ich arbeite oft von zu Hause aus und muss mich per SSH einloggen, weil unser Systemadministrator es nicht zulässt, dass man die Laufwerke von außen mountet. Also benutze ich auch emacs.

0 Stimmen

Können Sie eine über ssh getunnelte Remote-X-Verbindung einrichten?

0 Stimmen

@Mr Fooz wenn du mich fragst, keine Ahnung, ich will auch keinen Ärger mit dem Admin bekommen, ich habe kein sehr gutes Verhältnis zu ihm

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X