microsoft / microsoft/TypeScript
Make Javascript intellisense detect inheritance
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
From @benjaminmillhouse on December 21, 2016 17:33
- VSCode Version: Code 1.8.0 (38746938a4ab94f2f57d9e1309c51fd6fb37553d, 2016-12-13T17:38:28.425Z)
- OS Version: Darwin x64 16.3.0
- Extensions:
| Extension | Author | Version |
|---|---|---|
| JSDocTagComplete | HookyQR | 0.0.2 |
| html-css-class-completion | Zignd | 1.0.3 |
| theme-atom-one-dark | andischerer | 0.0.1 |
| vscode-eslint | dbaeumer | 1.1.0 |
| docthis | joelday | 0.3.5 |
| Angular1 | johnpapa | 0.1.16 |
| Angular2 | johnpapa | 1.0.2 |
| csharp | ms-vscode | 1.5.3 |
| js-atom-grammar | ms-vscode | 0.1.10 |
| vscode-icons | robertohuertasm | 4.0.2 |
| bootstrap-3-snippets | wcwhitehead | 0.0.8 |
Hello,
I would love it if VS Code's Javascript intellisense was able to detect inheritance. Please let me know if there is a way to accomplish this today through jsdoc comments or anything like that. I have tried all kinds of different ways to get VS Code to detect it (definitions like below, @augments, @extends jsdoc comments, etc) and have not gotten anything to work.
As an example, when inheriting like this:
function BaseClass() {
this.foo = 'bar';
}
BaseClass.prototype.baz = function () { }
function InheritedClass() {
BaseClass.call(this);
}
InheritedClass.prototype = Object.create(BaseClass.prototype);
InheritedClass.prototype.constructor = InheritedClass;
Would like the intellisense for new InheritedClass(). to show 'foo' and 'baz' as properties/methods for InheritedClass in Intellisense.
Copied from original issue: Microsoft/vscode#17690
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file, test, or entry point is named. Start by reproducing the provided BaseClass/InheritedClass example in VS Code and trace the JavaScript IntelliSense path that handles prototype inheritance. Done means completion suggestions for new InheritedClass() include the inherited foo and baz members.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100