microsoft / microsoft/TypeScript

JavaScript: Using Object Property Value Shorthand loses semantic highlighting

Open
#45,502 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Experience Enhancement Suggestion
Dominant language
Go
Stars
111k
Forks
14.4k
Avg merge
1d 19h
Merged PRs (30d)
117

Description

TS Template added by @mjbvz

TypeScript Version: 4.4.-1

Search Terms

  • semantic highlighting

Issue Type: Bug

Using the es6 syntax for object property value shorthand makes it so the used properties always have the light blue color, instead of the dark blue color of readonly properties. Here's a reproducible code snippet:

const someVariable = "value"
const someObject = {
    someProperty: "other value",
    someVariable
}

In VSCode:
image
In the example above, someVariable shows up with a light blue color in the object declaration, whereas the expected behaviour would be a darker color that you could get from doing someVariable: someVariable:
image

VS Code version: Code 1.59.0 (379476f0e13988d90fab105c5c19e7abc8b1dea8, 2021-08-04T23:13:12.822Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

System Info
Item Value
CPUs Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (12 x 3192)
GPU Status 2d_canvas: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: enabled
opengl: enabled_on
rasterization: enabled
skia_renderer: enabled_on
video_decode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 19.89GB (5.37GB free)
Process Argv D:\Users\rodri\Documents\GitHub\hypixel-translators-bot --crash-reporter-id 1aa51578-c79e-468f-b062-c24334e21918
Screen Reader no
VM 0%
Extensions (17)
Extension Author (truncated) Version
better-comments aar 2.1.0
jsdoc-markdown-highlighting bie 0.0.1
vscode-eslint dba 2.1.23
gitlens eam 11.6.0
EditorConfig Edi 0.16.4
prettier-vscode esb 8.1.0
copilot Git 1.3.2371
vscode-graphql Gra 0.3.16
discord-vscode icr 5.7.0
vscode-env Iro 0.1.0
python ms- 2021.8.1105858891
jupyter ms- 2021.8.1236758218
remote-wsl ms- 0.58.2
vsliveshare ms- 1.0.4673
vetur oct 0.34.1
vscodeintellicode Vis 1.2.14
minecraft-lang-colorizer zz5 1.0.0
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspyt653:30270858
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
pythonvsuse255:30340121
vscod805cf:30301675
pythonvspyt200:30340761
vscextlangct:30333562
binariesv615:30325510
pythonvssor306:30344512
bridge0708:30335490
pygetstartedc2:30351386
vstre464cf:30350173
bridge0723:30353136

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the report with the JavaScript snippet in the issue and compare shorthand with explicit someVariable: someVariable in VS Code. No source file or test is named; trace TypeScript’s semantic-highlighting path for object-property shorthand and add a regression test for the readonly-property color. Done means shorthand receives the expected semantic classification.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.