Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to type in Chinese in integrated terminal #115814

Closed
Racaly opened this issue Feb 5, 2021 · 105 comments
Closed

Unable to type in Chinese in integrated terminal #115814

Racaly opened this issue Feb 5, 2021 · 105 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug insiders-released Patch has been released in VS Code Insiders terminal General terminal issues that don't fall under another label upstream Issue identified as 'upstream' component related (exists outside of VS Code) upstream-issue-linked This is an upstream issue that has been reported upstream verified Verification succeeded
Milestone

Comments

@Racaly
Copy link

Racaly commented Feb 5, 2021

Issue Type: Bug

打开内置终端 无法输入中文,

VS Code version: Code 1.53.0 (8490d3d, 2021-02-03T20:36:38.611Z)
OS version: Windows_NT x64 10.0.18363

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
protected_video_decode: enabled
rasterization: enabled
skia_renderer: enabled_on
video_decode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 15.86GB (11.40GB free)
Process Argv --crash-reporter-id f85a41a1-239d-4bd7-a4a1-dc3c12e2b6be
Screen Reader no
VM 0%
Extensions (6)
Extension Author (truncated) Version
vscode-eslint dba 2.1.14
vsc-material-theme Equ 33.1.2
vsc-material-theme-icons equ 1.2.2
git-graph mhu 1.28.0
vscode-language-pack-zh-hans MS- 1.53.2
vetur oct 0.32.0

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30211402
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt600cf:30251589

@rebornix rebornix removed *english-please Issue not using English info-needed Issue requires more information from poster translation-required-chinese-simplified labels Feb 5, 2021
@rebornix rebornix changed the title 自动更新到1.53.0版本以后内置终端无法输入中文 Unable to type in Chinese in integrated terminal Feb 5, 2021
@rebornix
Copy link
Member

rebornix commented Feb 5, 2021

I can reproduce:

recording (10)

@rebornix rebornix added the terminal General terminal issues that don't fall under another label label Feb 5, 2021
@rebornix
Copy link
Member

rebornix commented Feb 5, 2021

It's not new, I can reproduce this on both 1.52 and 1.51 (didn't try to find a working one). xterm.js in browser works fine.

@rebornix rebornix added bug Issue identified by VS Code Team member as probable bug important Issue identified as high-priority labels Feb 5, 2021
@heartacker
Copy link
Contributor

me too

1 similar comment
@zhao-kang
Copy link

me too

@lianjy357
Copy link

The terminal can't input Chinese characters, but the CMD in Windows system can input Chinese normally. The installed version is 1.53. How can I input Chinese

@gitlixingwei
Copy link

+1

@ZhouBox
Copy link

ZhouBox commented Feb 7, 2021

+10086

@longshihui
Copy link

+100000086

@Python-37
Copy link

I met same bug, I found that Windows builtin input method can use normally, some other input methods cannot input Chinese. When I met this bug, I thought that it's because of the input method I am using. BTW, VS Code in GNU/Linux works normally too.

@Kingwl
Copy link
Contributor

Kingwl commented Feb 8, 2021

It's not only Chinese but also Japanese, Thai, Kazakh, Russian, etc. Even emoji (paste).

I guess this may caused by unicode.

@longshihui
Copy link

longshihui commented Feb 8, 2021

We can review they commits on version 1.52 -> 1.53

@Kingwl
Copy link
Contributor

Kingwl commented Feb 8, 2021

We can review they commits on version 1.52 -> 1.53

According to rime/weasel#605 (comment), There are to many commits after 1.51. We may not able to review them.

@longshihui
Copy link

I met same bug, I found that Windows builtin input method can use normally, some other input methods cannot input Chinese. When I met this bug, I thought that it's because of the input method I am using. BTW, VS Code in GNU/Linux works normally too.

Thanks your reply, I try windows native input methods, it works!

@ChaoQunPeng
Copy link

I have this problem too. My version is 1.53.But what I have found so far is that the QQ input method and the Microsoft input method can input Chinese, while the sogou input method cannot input Chinese.

@Kingwl
Copy link
Contributor

Kingwl commented Feb 8, 2021

After some shallow track.

image
image

Seems caused by xterm.paste

@longshihui
Copy link

最好的办法还是切换输入法,插件会自动升级,旧版本的VSCode上插件会出现不可用的情况,例如Vetur

@ccloli
Copy link

ccloli commented Mar 9, 2021

So, the final solution is switch to QQ pinyin or Rime, and do these changes? #115814 (comment)

@Python-37 Yes but not exactly, that's just a solution, I don't want to spend time on it for now since I'm still having works to do. At least, for common users, you can try these options, and for advanced users, you can build it by yourself and revert the broken commit (or just use my compiled binary, but I'm not supposed to update it).


BTW, I tried to run Xterm in Edge, a "real" browser, and it's fun that at this time, Sogou Pinyin fires all the events we needed, and Xterm works well. But Baidu IME is still not working, just the same as in Electron.

Edge-KeyboardEvent.mp4
Edge-CompositionEvent.mp4
BrowserEventsSogou PinyinBaidu PinyinMicrosoft PinyinRime (Weasel)QQ PinyinQQ Pinyin (SL)
Electron 9KeyboardEvent🔺🔺
CompositionEvent
Value up-on-date
Xterm Working
Electron 12KeyboardEvent
CompositionEvent
Value up-on-date
Xterm Working
EdgeKeyboardEvent
CompositionEvent
Value up-on-date
Xterm Working
  • KeyboardEvent: ✖ Only keyup | 🔺 Only keyup on input, but will fire keydown when completed | ✔ All events
  • CompositionEvent: ✖ No events | ✔ All events
  • Value up-on-date: ✖ Won't update UI input value in realtime when inputing | ✔ Will update UI input value in realtime
  • QQ Pinyin (Single-line mode) behaves more like Microsoft Pinyin
  • QQ Pinyin and Weasel are not working is mostly because of a css style issue

So I guess Sogou Pinyin maintains a list to determine which mode will be used for specific program, since when using Edge, its behavior is more like Microsoft Pinyin.

So at this time, I think (besides the css style problem) it's Sogou Pinyin and Baidu IME's fault. 🤔

@longshihui
Copy link

longshihui commented Mar 10, 2021

Today,Sogou Pinyin is work! maybe Sogou Pinyin updated? My VSCode version is 1.54.1

微信截图_20210310090344

image

@ccloli
Copy link

ccloli commented Mar 10, 2021

Today,Sogou Pinyin is work! maybe Sogou Pinyin updated? My VSCode version is 1.54.1

@longshihui Yep, so as I said in previous comment, Sogou Pinyin maintains a list that configuring use which mode for specific programs, and it has some hot-update today that changes working mode for VSCode. Though I guess it only matches released VSCode, since Code OSS, VSCode Insider and Electron are still not working.

Sogou-behavior-20210310.mp4

@wyattzheng
Copy link

@longshihui
still not working for me, same as your vscode's version.

sogou

@ccloli
Copy link

ccloli commented Mar 10, 2021

@ZhyMC Restart your computer and retry. I reverted my VM to yesterday's snapshot, and disconnect the network, then I still get the hotfix, so maybe the hotfix is patched yesterday and it'll be apply on your next reboot.

BTW as I mentioned, the hotfix only applies to released stable VSCode, and seems that it's done by matching process execution name. If I rename Code.exe to Code-1.exe, it's broken again. 🤣

@wyattzheng
Copy link

wyattzheng commented Mar 10, 2021

@ccloli
I have restarted my computer twice and found it's still not working (it's totally a released stable version which i downloaded from the vscode's official website).

But to my another computer in my workspace. It works!
So the existence of hotfix is proved.
As what you described, sogou maintains a list. that's incredible.

@lianjy357
Copy link

搜狗输入法可以输入了。搜狗热更新了,搜狗接锅。

@wyattzheng
Copy link

wyattzheng commented Mar 10, 2021

what's more interesting, the tech support of sogou think that it's vscode's issue.
but they admitted that they have released a hotfix.🤣

reply

@yangtianfu01
Copy link

yangtianfu01 commented Mar 11, 2021

搜狗输入法可以输入了。搜狗热更新了,搜狗接锅。

屁咧哈哈哈他们把官网的10.1版本回滚了, 现在套着个10.x的皮, 安装出来的确是8.8正式版.
image
image
image

我试了其他家的输入法,都没问题(QQ拼音, 百度输入法), 只有搜狗没办法在终端输入中文;

20210311
诶!问题解决了!
终端可以输入中文了!
(安装完, 重启电脑后, 搜狗会更新到10.x版本)

@Python-37
Copy link

Python-37 commented Mar 11, 2021

屁咧哈哈哈他们把官网的10.1版本回滚了, 现在套着个10.x的皮, 安装出来的确是8.8正式版.

I don't think they could roll back the version of their software because of a bug only encountered in the programmer community.

@wyattzheng
Copy link

wyattzheng commented Mar 11, 2021

maybe they just dont want to update the installer. and make autoupdate in the users' machine.

@longshihui
Copy link

hot update is nb

@Tyriar Tyriar modified the milestones: Backlog, March 2021 Mar 11, 2021
@Tyriar Tyriar added upstream Issue identified as 'upstream' component related (exists outside of VS Code) upstream-issue-linked This is an upstream issue that has been reported upstream labels Mar 11, 2021
@Lxshmily
Copy link

Lxshmily commented Mar 12, 2021

image
可以可以,刚更新了vscode,1.54.2,

@Python-37
Copy link

Rime users can try this.
rime/weasel#605 (comment)

@hqzh
Copy link

hqzh commented Mar 17, 2021

1.54.3 worked

@Tyriar Tyriar closed this as completed in dfe1288 Mar 19, 2021
@Tyriar
Copy link
Member

Tyriar commented Mar 19, 2021

I've merged in the fix from xterm.js, thanks all! Please try out insiders on Monday to verify it works.

@ccloli
Copy link

ccloli commented Mar 22, 2021

I've merged in the fix from xterm.js, thanks all! Please try out insiders on Monday to verify it works.

Checked and confirmed that both QQ Pinyin and Rime (Weasel) work fine on today's Insider build.

@Tyriar Tyriar added the verified Verification succeeded label Mar 22, 2021
@Python-37
Copy link

I've merged in the fix from xterm.js, thanks all! Please try out insiders on Monday to verify it works.

I've checked with Rime IME, Rime works fine in the latest insider release, and I've closed the issue in rime/weasel#605, nice work.

@Tyriar
Copy link
Member

Tyriar commented Mar 22, 2021

@Python-37 I did very little 😅 all thanks should go to you and the others that helped investigate ❤️

@github-actions github-actions bot locked and limited conversation to collaborators May 3, 2021
lemanschik pushed a commit to code-oss-dev/code that referenced this issue Nov 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug insiders-released Patch has been released in VS Code Insiders terminal General terminal issues that don't fall under another label upstream Issue identified as 'upstream' component related (exists outside of VS Code) upstream-issue-linked This is an upstream issue that has been reported upstream verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.