microsoft / microsoft/TypeScript
Quick fix proposal: declare property for jsdoc types
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.4k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
From https://github.com/Microsoft/vscode/issues/44824
Search Terms
- quick fix / code action
- jsdoc / jsdocs
Suggestion
Introduce a new refactoring that introduces a property into a jsdoc type. For example, for the js:
//@ts-check
/**
* @param {{ }} arg
*/
function doStuff(arg) {
console.log(arg.noSuch);
}
A quick fix on noSuch would add this property to the type of arg:
//@ts-check
/**
* @param {{noSuch: object }} arg
*/
function doStuff(arg) {
console.log(arg.noSuch);
}
A similar refactoring already exists for typescript:
interface IFoo {
a: number
}
function doStuff(arg: IFoo) {
console.log(arg.noSuch);
}

Use Cases
Improve experience using ts-check, especially if using complex types
Other cases to consider
typedef
//@ts-check
/**
* @typedef {{ a: number}} IFoo
*/
/**
*
* @param {IFoo} arg
*/
function doStuff(arg) {
console.log(arg.noSuch);
}
Augments
/**
* @augments {Component<{}>}
*/
class Binek extends Component {
render() {
console.log(this.props.noSuch)
}
}
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con il refactoring TypeScript esistente per aggiungere una proprietà all’interfaccia e con il problema collegato di VS Code, quindi confrontane il comportamento con gli esempi di parametri JSDoc, typedef e augments qui riportati. Il lavoro è completato quando un quick fix può aggiungere la proprietà mancante al tipo JSDoc pertinente coprendo i casi elencati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, typescript
- Ambito
- compilers
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100