github / github/vscode-github-actions

Squiggle should only cover the subexpression most closely related to a problem

Đang mở
#449 0 bình luận 1 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
660
Fork
213
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Type: Bug

consider this incomplete expression:
```yaml
something: >-
${{ 'alpine' }}
${{ (github.event_name == 'push') && (github.ref_name == github.event.repository. && format('{0}/{1}:latest', env.repository, env.image) || '' }}
```

there is more than one `${{ ... }}` and more than one `&&` in the value for `something`.

The system is nice enough not to stick squiggles under the entirety of the value of `something`, but it does stick them under the entirety of the second `${{ ... }}`.

It would be nicer if it only put them around `github.event.repository. &&` or even `repository. &&` which is the portion of the expression that's closest to the unhappy item.

```yaml
Unexpected symbol: '&&'
Available expression contexts: github, inputs, vars, needs, strategy, matrix, secrets, steps, job, runner, env

Available expression functions: hashFiles
View Problem
```

The worst pat of the current behavior is that `View Problem points the user to the beginning of the `${{` saying:
```
Unexpected symbol: '&&'
```

Which is actually closest to the _first_ `&&` which is not the problematic one.

Extension version: 0.27.1
VS Code version: Code 1.98.0 (Universal) (6609ac3d66f4eade5cf376d1cb76f13985724bcb, 2025-03-04T21:06:18.612Z)
OS version: Darwin arm64 24.3.0
Modes:

System Info

|Item|Value|
|---|---|
|CPUs|Apple M1 Max (10 x 2400)|
|GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off|
|Load (avg)|6, 7, 7|
|Memory (System)|64.00GB (0.10GB free)|
|Process Argv|--crash-reporter-id 1fc67ee2-0174-4598-9f98-4537df0dd32c|
|Screen Reader|no|
|VM|0%|

A/B Experiments

```
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
vscod805cf:30301675
binariesv615:30325510
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
vscrp:30673768
962ge761:30959799
h48ei257:31000450
pythontbext0:30879054
cppperfnew:31000557
dwnewjupytercf:31046870
nativerepl2:31139839
pythonrstrctxt:31112756
nativeloc2:31192216
iacca1:31171482
5fd0e150:31155592
dwcopilot:31170013
6074i472:31201624
dwoutputs:31242946
customenabled:31248079
5a9hg449:31230677
hdaa2157:31222309
copilot_t_ci:31222730
968h8231:31253945
jda6j935:31233686

```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Tái hiện chẩn đoán trong GitHub Actions VS Code extension bằng biểu thức YAML chưa hoàn chỉnh từ báo cáo, sau đó theo dõi mã tính toán các phạm vi gạch chân lượn sóng và vị trí của View Problem. Được xem là hoàn tất khi chẩn đoán chỉ làm nổi bật biểu thức con gần ký hiệu không hợp lệ nhất thay vì toàn bộ biểu thức `${{ ... }}`, đồng thời giữ nguyên thông báo được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
github-actions, typescript, vscode
Lĩnh vực
developer-experience, devtools
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.