Microsoft/vscode

Codelens references for properties of object in root module scope

Open

#224,338 opened on Jul 29, 2023

View on GitHub
 (4 comments) (28 reactions) (1 assignee)TypeScript (10,221 forks)batch import
feature-requesthelp wantedtypescript

Repository metrics

Stars
 (74,848 stars)
PR merge metrics
 (Avg merge 11h 43m) (1,000 merged PRs in 30d)

Description

References with codelens are a great feature 👍 A while back there was an issue (.https://github.com/microsoft/vscode/issues/86495 ) that the references where displayed for every object property which is not always convenient. On the other hand, objects in top scope, possibly exported, or objects with as const modifier could benefit from this feature, imho.

Example:

const rootScopeObj = {
  foo: 1
}
export const exportedObj = {
  foo: 1
}
export const exportedConstObj = {
  foo: 1
} as const

const makeConstantObj = (val: string) => {
  return {foo: val} as const // questionable if really useful
}

Do these cases make sense - to show references for foo property? Similar to how enum works. image

If not desirable for everyone, it could possibly be hidden behind some option(s), right? I honestly believe it can be useful for many people.

Contributor guide