lua-language-server icon indicating copy to clipboard operation
lua-language-server copied to clipboard

vscode直接安装这个插件,lua跳转函数都没反应

Open lybmccree opened this issue 3 years ago • 16 comments

vscode直接安装这个插件,lua跳转函数都没反应,还要装什么东西

lybmccree avatar Jun 24 '22 09:06 lybmccree

不是开箱即用

lybmccree avatar Jun 24 '22 09:06 lybmccree

  1. 请确认你打开的是lua文件(右下角语言模式是否是Lua)
  2. 请查看“输出”窗口,右侧下拉列表中是否有Lua,如果有看看里面是不是有什么错误信息(比如VSCode版本太低)

sumneko avatar Jun 24 '22 09:06 sumneko

版本: 1.68.1 (user setup) 提交: 30d9c6cd9483b2cc586687151bcbcd635f373630 日期: 2022-06-14T12:48:58.283Z Electron: 17.4.7 Chromium: 98.0.4758.141 Node.js: 16.13.0 V8: 9.8.177.13-electron.0 OS: Windows_NT x64 10.0.19042 这个版本不行吗, unity tolua 难道识别不出吗,输出没有报错

lybmccree avatar Jun 24 '22 09:06 lybmccree

输出没有报错

请确认你打开的是lua文件(右下角语言模式是否是Lua)

sumneko avatar Jun 24 '22 10:06 sumneko

我这边肯定是lua 是unity+lua

lybmccree avatar Jun 24 '22 10:06 lybmccree

lua跳转函数都没反应

没反应指的是右键菜单中有“转到定义”的按钮,但是点了以后显示“未找到任何定义”?

sumneko avatar Jun 24 '22 10:06 sumneko

lua跳转函数都没反应

没反应指的是右键菜单中有“转到定义”的按钮,但是点了以后显示“未找到任何定义”? 点了以后显示 未找到任何定义

lybmccree avatar Jun 24 '22 10:06 lybmccree

那说明就是找不到定义,比如某个函数是C++/C#导出的接口,Lua里是没办法找到定义位置的。

sumneko avatar Jun 24 '22 10:06 sumneko

那说明就是找不到定义,比如某个函数是C++/C#导出的接口,Lua里是没办法找到定义位置的。

同文件的lua接口都找不到定义,无法跳转。

lybmccree avatar Jun 24 '22 10:06 lybmccree

同文件的lua接口都找不到定义,无法跳转。

请提供截图与演示代码

sumneko avatar Jun 24 '22 10:06 sumneko

同文件的lua接口都找不到定义,无法跳转。

请提供截图与演示代码

项目代码无法提供。。。算了,感谢大佬解答,换IDE算了

lybmccree avatar Jun 24 '22 10:06 lybmccree

演示代码只要求能复现问题,并不需要是真实代码 另外推荐你看一下这个:https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md

sumneko avatar Jun 24 '22 10:06 sumneko

local UIBase = Import("ui_base").UIBase

UIChildPanel = class(UIBase)

UIChildPanel.Init = function(self, id) self:OnDestroy() end

UIChildPanel.OnDestroy = function(self) end

OnDestroy显示无法定义

lybmccree avatar Jun 24 '22 10:06 lybmccree

def

我这边测试是可以找到定义的。 如果你依然显示无法找到定义,请先检查一下你使用的插件版本(最新版本为v3.3.1),以及插件是否正常启动。 有一种可能是,你安装了多个lua插件,其中我的插件没有正常启动,而其他插件启动了并提供了“转到定义”的按钮,但是却没能找出定义。 你可以在任务管理器里确认一下是否有 "lua-language-server.exe" 这个进程。

sumneko avatar Jun 24 '22 10:06 sumneko

我这边肯定是lua 是unity+lua

另外据我所知,有一些unity中的lua项目使用的是 .lua.txt 作为文件扩展名,VSCode默认是将此类文件识别为 text 文件的。 如果你符合此情况,需要在VSCode的“文件关联”设置中将此扩展名设置为 lua

sumneko avatar Jun 24 '22 10:06 sumneko

我这边肯定是lua 是unity+lua

另外据我所知,有一些unity中的lua项目使用的是 .lua.txt 作为文件扩展名,VSCode默认是将此类文件识别为 text 文件的。 如果你符合此情况,需要在VSCode的“文件关联”设置中将此扩展名设置为 lua

感谢答复,后面再看看什么吧

lybmccree avatar Jun 24 '22 10:06 lybmccree

@lybmccree has your issue been resolved?

carsakiller avatar Nov 12 '22 07:11 carsakiller