Closed tinymins closed 4 months ago
vscode默认打开文件的方式是UTF8 你改过files.encoding设置没有
在vscode的工作区配置添加然后重启vscode:
"files.encoding": "gbk"
在vscode的工作区配置添加然后重启vscode:
"files.encoding": "gbk"
有的,一直有这个设置
vscode默认打开文件的方式是UTF8 你改过files.encoding设置没有
正式因为加了设置,所以文件在每次打开后,乱码就会消失,这也是我们使用插件看到乱码时候的处理办法,按住ALT追踪过去一下,乱码就暂时消失了。
插件版本呢
0.8.0
插件版本呢
我感觉是因为你没有使用setting.json的问题, 让插件没有获取编码信息: "好好好"是定义在另一个文件的变量,项目编码设置为GBK, 在完全重启插件后能正常提示
那意思是,一定要写在 setting.json 中,而不能写在 .code-workspace 中,插件是主动去 setting.json 文件获取的编码么?
那意思是,一定要写在 setting.json 中,而不能写在 .code-workspace 中,插件是主动去 setting.json 文件获取的编码么?
我去试试在每个文件夹下都增加一份 setting.json 试试,一个 workspace 包含了很多个文件夹,不知道这么加能不能用
通常只有第一个工作区的配置有效
实测不能生效,设置完后重启vscode,乱码依旧,看起来插件无法兼容 workspace 的编码
我clone 了你的项目, 没有看到和你一样的代码结构
我感觉是因为你没有使用setting.json的问题, 让插件没有获取编码信息: "好好好"是定义在另一个文件的变量,项目编码设置为GBK, 在完全重启插件后能正常提示
以及中文似乎不能作为变量名,在我这会报错,我是注释中文
我clone 了你的项目, 没有看到和你一样的代码结构
因为是多个仓库,您可以直接创建一个 workspace,内容:
{
"folders": [
{
"path": "JX3Boilerplate"
}
],
"settings": {
"editor.tabSize": 4,
"editor.renderWhitespace": "all",
"editor.insertSpaces": false,
"files.encoding": "gbk",
"files.autoGuessEncoding": true,
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"files.trimFinalNewlines": true,
"files.associations": {
"*.lang": "lua",
"*.jx3dat": "lua"
},
"flake8.args": [
"--ignore=E501,E722"
],
"lua.targetVersion": "5.1",
"psi-header.changes-tracking": {
"isActive": true,
"exclude": [
"markdown",
"json",
"html",
"vue",
"jx3dat"
],
"autoHeader": "off"
},
"psi-header.lang-config": [{
"language": "lua",
"begin": "--------------------------------------------------------",
"prefix": "-- ",
"end": "--------------------------------------------------------",
"blankLinesAfter": 0
}],
"psi-header.templates": [{
"language": "*",
"template": [
"This file is part of the JX3 Plugin Project.",
"@desc : ",
"@copyright: Copyright (c) 2009 Kingsoft Co., Ltd.",
]
}],
"[lua]": {
"files.encoding": "gbk",
"files.autoGuessEncoding": false,
},
"[ini]": {
"files.encoding": "gbk",
"files.autoGuessEncoding": false,
"files.trimFinalNewlines": false,
"files.trimTrailingWhitespace": false,
},
"[markdown]": {
"files.encoding": "utf8",
"files.autoGuessEncoding": false,
},
"[python]": {
"files.encoding": "utf8",
"files.autoGuessEncoding": false,
},
"luahelper.format.extra_sep_at_table_end": true,
"luahelper.Warn.CheckLocalNoUse": true,
"luahelper.Warn.CheckNoUseAssign": true,
"luahelper.base.ignoreFileOrDir": [
"\\.vscode/"
],
"luahelper.base.ignoreFileOrDirError": [
"\\.vscode/",
"zhtw\\.jx3dat",
"dist/",
"src\\..*\\.lua",
".*\\.min\\.jx3dat"
],
"cSpell.words": [
"Sysmsg",
"wstring"
],
},
"launch": {
"version": "0.2.0",
"configurations": [
{
"type": "LuaHelper-Debug",
"request": "launch",
"name": "LuaHelper-Attach",
"description": "通用模式,通常调试项目请选择此模式",
"cwd": "${workspaceFolder:Boilerplate}",
"luaFileExtension": "",
"connectionPort": 8828,
"stopOnEntry": true,
"useCHook": true,
"autoPathMode": true
},
{
"type": "LuaHelper-Debug",
"request": "launch",
"name": "LuaHelper-DebugFile",
"description": "独立文件调试模式",
"luaPath": "",
"packagePath": [],
"luaFileExtension": "",
"connectionPort": 8828,
"stopOnEntry": true,
"useCHook": true
}
]
}
}
将其放在 JX3Boilerplate 同级目录后用vscode打开即可
实测,在完全相同环境下,单独启用腾讯的 LuaHelper,Tip不会展示乱码,单独启用 EmmyLua 展示乱码,同时启用展示一条乱码一条不乱码 注:每次启用、禁用后 都重启过 vscode。
单独 LuaHelper
单独 EmmyLua
同时启用
~请问有 donate 方式吗,我在 README 中没有看到,~ 我也是做开源插件的(只不过我的是游戏插件),感谢抽空处理问题,想请喝奶茶
找到了,支付宝投币100元 😸
~请问有 donate 方式吗,我在 README 中没有看到,~ 我也是做开源插件的(只不过我的是游戏插件),感谢抽空处理问题,想请喝奶茶
找到了,支付宝投币100元 😸
你做的好, 但我实际上并不能收到. 这是以前emmylua作者tangzx的链接, 而我并不是他.
你的问题是, 由于当前实现的问题, 你没有创建.emmyrc.json所以gbk的配置无效
~请问有 donate 方式吗,我在 README 中没有看到,~ 我也是做开源插件的(只不过我的是游戏插件),感谢抽空处理问题,想请喝奶茶 找到了,支付宝投币100元 😸
你做的好, 但我实际上并不能收到. 这是以前emmylua作者tangzx的链接, 而我并不是他.
你的问题是, 由于当前实现的问题, 你没有创建.emmyrc.json所以gbk的配置无效
感谢,请问您有donate方式吗,愿意再请一杯下午茶。
乱码看起来是腾讯的会自动识别编码,而EmmyLua需要手动指定,腾讯的LuaHelper我没有做特别设置。
感谢,请问您有donate方式吗,愿意再请一杯下午茶。
不用了, 感谢他就行了.
乱码看起来是腾讯的会自动识别编码,而EmmyLua需要手动指定,腾讯的LuaHelper我没有做特别设置。
乱码问题是因为: 没有添加配置文件导致后续处理被跳过了, 本质上也不需要配置. 但是emmylua配置项非常多最好还是配置下, 当前最快的修复方法是在首个工作区内创建一个空的.emmyrc.json文件
感谢,请问您有donate方式吗,愿意再请一杯下午茶。
不用了, 感谢他就行了.
乱码看起来是腾讯的会自动识别编码,而EmmyLua需要手动指定,腾讯的LuaHelper我没有做特别设置。
乱码问题是因为: 没有添加配置文件导致后续处理被跳过了, 本质上也不需要配置. 但是emmylua配置项非常多最好还是配置下, 当前最快的修复方法是在首个工作区内创建一个空的.emmyrc.json文件
貌似还不行? 等会研究下
感谢,请问您有donate方式吗,愿意再请一杯下午茶。
不用了, 感谢他就行了.
乱码看起来是腾讯的会自动识别编码,而EmmyLua需要手动指定,腾讯的LuaHelper我没有做特别设置。
乱码问题是因为: 没有添加配置文件导致后续处理被跳过了, 本质上也不需要配置. 但是emmylua配置项非常多最好还是配置下, 当前最快的修复方法是在首个工作区内创建一个空的.emmyrc.json文件
貌似还不行? 等会研究下
可以了,不能是空文件,必须有内容,内容为空配置 {}
即可。
给项目都增加了空配置解决问题,不过有可能的话还是建议不增加空配置也能自动识别项目编码,易用性会高一些,再次感谢!
给项目都增加了空配置解决问题,不过有可能的话还是建议不增加空配置也能自动识别项目编码,易用性会高一些,再次感谢!
我发现你配置了 jx3dat 视为lua文件, 而这些文件原本是utf8编码, emmylua语言服务把他视为gbk编码解析, 导致了巨量的报错, 影响性能, 建议排除这些目录或者不要视为lua文件
jx3dat
jx3dat 文件有些是 utf8 有些是 gbk ,这个类型文件是跟随游戏客户端的( zhcn.jx3dat 是 gbk ,zhtw.jx3dat 是 utf8 ),我看看如何排除 utf8 的,感谢!
jx3dat
jx3dat 文件有些是 utf8 有些是 gbk ,这个类型文件是跟随游戏客户端的( zhcn.jx3dat 是 gbk ,zhtw.jx3dat 是 utf8 ),我看看如何排除 utf8 的,感谢!
可以在.emmyrc.json配置这个排除整个目录
jx3dat
jx3dat 文件有些是 utf8 有些是 gbk ,这个类型文件是跟随游戏客户端的( zhcn.jx3dat 是 gbk ,zhtw.jx3dat 是 utf8 ),我看看如何排除 utf8 的,感谢!
可以在.emmyrc.json配置这个排除整个目录
请问下是如何看到报错的,我在 Output 里面没找到,因为我想试试 ignoreDir 是否支持通配符,其实所有 "*/data/" 目录都应该排除。
请问下是如何看到报错的,我在 Output 里面没找到,因为我想试试 ignoreDir 是否支持通配符,其实所有 "*/data/" 目录都应该排除。
不支持通配符, 因为这可能会有性能问题, 如果你想支持通配符可以考虑提交PR
不支持通配符, 因为这可能会有性能问题, 如果你想支持通配符可以考虑提交PR
请问下是如何看到报错的,我在 Output 里面没找到,因为我想试试 ignoreDir 是否支持通配符,其实所有 "*/data/" 目录都应该排除。
不支持通配符, 因为这可能会有性能问题, 如果你想支持通配符可以考虑提交PR
已提交
新建文件时正常:
保存后立马乱码:
重启编辑器,在A.lua没有打开之前,B.lua显示乱码:
此时打开一次 A.lua 文件,再看 B.lua 的注释就正常了:
完整项目地址: https://github.com/tinymins/JX3Boilerplate