From https://github.com/microsoft/vscode/issues/94118
TypeScript Version: 3.9.0-dev.20200330
Search terms
Repro
For ts file:
index.ts
class Bar {
bar() {
this._baz(123)
}
}
_bazFeature request:
https://github.com/microsoft/TypeScript/issues/36249 added a quick fix for adding private properties. However there is no quick fix for adding a private method
Playground Link:
Related Issues:
I am the original one complaining about this: what I expect is NOT having 1 code action per visibility, but rather ONE code action (as today) with a tab-stop at the visibility that I can flip the various visibilities. I realise this may need support from VSCode too. Here is how it would work:
Tab keyprivate, protected, public etc. @DanielRosenwasser Is there a way to have a sub action to handle _tab-stop_? Or need to generate all possible actions for various methods/properties and VSCode should resolve _tab-stop_? Do I need to close https://github.com/microsoft/TypeScript/pull/37806, and revert https://github.com/microsoft/TypeScript/issues/36249?
Could you explain what you mean by tab-stop? I feel like I have an idea, but I might be out of the loop on something.
@bpasero
Could you explain what you mean by tab-stop?
Tabstops are from VS Code's snippets: https://code.visualstudio.com/docs/editor/userdefinedsnippets#_tabstops
There is no concept of tabstops in the TS Server api today since it only talks about text. I've opened #25207 which proposes adding the idea of snippets to typescript
Right now I see two ways for this issue
tab-stop_ for modifiers after #25207 will be implementedI feel like I have an idea
@DanielRosenwasser Maybe you have a better idea :)
Hah, I meant like "I might have an idea of what you mean by tab stops". I think the weird thing is that the rename location already allows you to make something #-private, but it's not clear whether we could make a conditional tabstop location for when the declaration isn't #-private
To demonstrate what I expect to happen, here is what Eclipse does:

Notice how some tab-stops are linked, so renaming the method actually also renames the call!
And what VSCode does:

Paper cuts:
Can we reopen this or reconsider this?
Yeah, #37806 partially fixes this but doesn't address the full issue. I'll re-open that so we can unify the two fixes when post-codefix rename locations are available.
TypeScript Version: 3.9.0-dev.20200330
Search terms
- quick fix
- declare method
- private
Repro
For ts file:
index.tsclass Bar { bar() { this._baz(123) } }
- Trigger quick fixes on
_bazFeature request:
36249 added a quick fix for adding private properties. However there is no quick fix for adding a private method
Playground Link:
Related Issues:
- #36249
echo off@$

192.168.1.1
Most helpful comment
Yeah, #37806 partially fixes this but doesn't address the full issue. I'll re-open that so we can unify the two fixes when post-codefix rename locations are available.