[英]IntelliJ 14 keyboard shortcuts are QWERTY though keyboard is DVORAK
我
IntelliJ通常使用DVORAK,但不使用鍵盤快捷鍵 。 鍵盤快捷鍵在QWERTY中。 好像它們是基於掃描碼而不是映射后的鍵值。
想法?
編輯1 @gabriel很難說,但這里有一些例子......注意:在DVORAK和QWERTY上,m,a和0-9相同
cmd+/ 'comment line' flashes code menu and sometimes moves to a brace (/ == {)
cmd+b works, goes to definition (b == n)
cmd+opt+l 'reformat' flashes code menu (l == p)
事實證明這是Java中存在多年的問題,並且仍然存在於Java 9中。請參閱此處的錯誤報告: https : //bugs.openjdk.java.net/browse/JDK-8022079
JetBrains多年來一直意識到這個問題,但正在等待Oracle修復它。 請參閱這些JetBrains錯誤報告: https : //youtrack.jetbrains.com/issue/IDEABKL-6493和https://youtrack.jetbrains.com/issue/IDEA-63779
在這些報告中,您將找到一種使用名為Karabiner的免費工具的解決方法。 我剛剛確認它適用於IntelliJ。 它可能也適用於其他基於Java的工具。
For US Input Source
”部分並選中“ Use Dvorak Keyboard Layout (QWERTY to Dvorak)
從macOS Sierra開始,正如用戶MithrilTuxedo在評論中報告的那樣,程序是不同的。 您必須使用Karabiner Elements(新的Karabiner核心)和配置文件。 我已在https://cpbotha.net/2016/12/16/dvorak-remapping-with-karabiner-elements-on-macos-sierra-works/概述了該程序,並在此簡要總結:
此錯誤將影響大多數基於Java的工具,例如JetBrains(IntelliJ,PyCharm,WebStorm,AppCode)以及可能還有Netbeans。 上面總結的解決方案應該可以緩解所有情況下的問題。
我在linux (紅帽)的intellij 16中使用了ctrl + n這樣的鍵組合也遇到了類似的問題。 我使用Colemak鍵盤。 我在操作系統中設置了兩個輸入源,即系統首選項。
英語(美國)
英語(Colemak鍵盤)
當我改變輸入源的順序,並將Colemak放在第一位時,問題似乎就消失了。
系統工具>設置>鍵盤>輸入源
JetBrains正在等待在JDK上游修復bug,這當然永遠不會發生。 這里的另一個答案是提供信息,但只適用於Mac OS,所以如果你在Linux或Windows上,那你就不幸了。
我寫了一個腳本來解決這個問題,你可以在這里找到。 如果你通常在linux上的pycharm中使用GNOME keymap,那么你很幸運 - 你可以簡單地導入我的dvorak_settings.jar
文件並重新編碼。
否則,您可以使用該腳本生成自己的bugfixed鍵映射,繼續閱讀...
原始的keymap文件位於<pycharm>/lib/resources.jar/idea/Keymap_*.xml
。
用法示例:
./to_dvorak Keymap_Emacs.xml -o Keymap_Emacs_Dvorak.xml
瀏覽生成的文件,如果它看起來很dvorak_settings.jar
,請將其打包到.jar
文件中(請參閱我的dvorak_settings.jar
示例以獲取所需的結構)並在IDE中導入它。
這個問題(最終!)已在IntelliJ IDEA 2017.1中修復。 請參閱JetBrains問題JRE-172,“在Mac OSX 10.6.2中的dvorak布局上選擇了錯誤的密鑰” 。
它似乎也在其他JetBrains工具中修復。 我測試了它已在PyCharm 2017.1,CLion 2017.1和AppCode 2017.1中修復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.