Add stubs for missing method overrides
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- typescript, vscode
- Bereich
- developer-experience, devtools
Rechercherichtung
Das Issue nennt keine Implementierungsdateien oder Tests. Beginne damit, den Einstiegspunkt der VS Code-Erweiterung für klassenbezogene Aktionen und die CodeQL language-service-Unterstützung für abstrakte Methoden zu finden; vergleiche dies damit, wie Java-IDEs Override-Stubs generieren. Als erledigt gilt die Aufgabe, wenn der Befehl korrekt formatierte Stubs für jede fehlende abstrakte Methode einfügt, einschließlich mehrerer abstrakter Basisklassen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Is your feature request related to a problem? Please describe.
I'm always frustrated when subclassing an abstract class in QL, since I need to manually write out names and signatures of abstract methods I must implement.
And all the while, my IDE is laughing at my struggle, since it knows what I need to do (with the <YourClass> must implement abstract method: <methodName> errors).
I usually go to the abstract base class and use multiple-cursors on the abstract part, but with multiple base classes that are abstract, even this process becomes tedious.
Describe the solution you'd like
class MyClass extends AbstracClass {
MyClass() { this = foo() }
}
Right-click the MyClass part of class MyClass, select Add stubs for missing method overrides, and the above code is extended to become
class MyClass extends AbstracClass {
MyClass() { this = foo() }
override string method1(int arg) {
// TODO: this is a stub
none()
}
override method2() {
// TODO: this is a stub
none()
}
}
I think this is very common in Java, so we might be able to borrow how the stubs are populated from there (like how the TODO comment is formulated).
Describe alternatives you've considered
N/A
Additional context
N/A
- Vorherrschende Sprache
- TypeScript
- Sterne
- 539
- Forks
- 240
- Ø Merge
- 2 T. 18 Std.
- Gemergte PRs (30 T.)
- 37
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/vscode-codeql
-
bug VSCode
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
github/vscode-codeql#4471 · 1 Kommentar ·
-
bug enhancement VSCode
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
github/vscode-codeql#592 · 2 Kommentare ·
-
enhancement VSCode
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
github/vscode-codeql#4432 · 1 Kommentar ·
-
bug VSCode
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 52/100
github/vscode-codeql#4356 ·
-
bug VSCode
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 64/100
github/vscode-codeql#4339 · 1 Kommentar ·
Alle Issues in github/vscode-codeql
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
bug v2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
modelcontextprotocol/inspector#2458 · 1 Kommentar ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
carbon-design-system/ibm-products#9907 ·