Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

变量类型声明

Đang mở
#14 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
lua
Lĩnh vực
devtools

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện các ví dụ A.lua và B.lua từ issue, rồi so sánh các định nghĩa được hiển thị cho a.print và _G.print. Điều tra cách các chú thích EmmyLua truyền kiểu qua các phép gán và xác định liệu các alias dành riêng cho thành viên hoặc cho toàn bộ kiểu có thể cung cấp định nghĩa tương đương được yêu cầu hay không. Công việc được xem là hoàn tất khi biến được gán hiển thị cùng khai báo với giá trị ban đầu.

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

Mô tả

enhancement

A.lua中

---@class A
local a = {}

--- @alias print fun():void
--- @desc 打印
--- @return void
function a.print()
end

return a

B.lua中

---@type A
local a = require "a"

---@see print
_G.print = a.print

在A.lua 中 查看函数的定义为
image

在B.lua 中 在 a.print处停留查看的信息为
image
在 _G.print 处查看定义为
image

想问问现有的机制中,如何才能让 _G.print处看到的定义 和 A.lua中还有B.lua中的 a.print处的一致

再延伸点
将一个写好emmylua注释标签的变量,作为等式左值赋值给等式右值。 左值能够用上右值的声明

期望的样子可能是:

  1. 针对上面的使用情景,类和类中的成员函数
---@type A#print
_G.print = a.print
  1. 或者更简单粗暴的, 直接等价于类型A,适用于所有类型的变量
---@aliasType A
_G.print = aDefinedFunValue
Ngôn ngữ chính
TypeScript
Star
755
Fork
112
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của EmmyLua/VSCode-EmmyLua

Tất cả issue của EmmyLua/VSCode-EmmyLua

Issue tương tự

Thêm issue về TypeScript

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.