Giter VIP home page Giter VIP logo

idea-auto-switch-im's Introduction

IntelliJ IDEA Auto Switch Input Source / IDEA自动切换输入法

Introduction 介绍

An Idea plugin helps you switch input source automatically

一个可以帮你自动切换输入法的IDEA插件

Usage 使用

  1. Install this plugin from IDEA plugin repository or download the plugin zip file from Release page, and then install from disk

  2. Setting the specified input source from preferences Preferences -> Other Settings -> Auto Switch Input Source (default ABC)

Auto Switch Input Source Setting

  1. There are four setting options now:

    IDEA focused => Idea IDE window get focused,eg. switch to IDEA from other app.

    Out of IDEA => Leaving Idea IDE to other apps.

    Vim in insert mode => In IdeaVim mode change to insert mode.

    Vim exit insert mode => In IdeaVim mode exit insert mode to normal or visual mode.


  1. 从IDEA的插件仓库直接安装;或者从Release页面上下载最新版本的插件ZIP压缩包,从硬盘安装。

  2. 在IDEA设置中找到 Preferences -> Other Settings -> Auto Switch Input Source

Auto Switch Input Source Setting

  1. 设置参数选项如下:

    IDEA focused => Idea 获得焦点,例如从其他应用切换到Idea

    Out of IDEA => 离开Idea,例如从Idea切换到其他应用

    Vim in insert mode => IdeaVim 中进入 插入 模式.

    Vim exit insert mode => IdeaVim 中退出 插入 模式 到正常模式或者可视模式.

Build 编译

  1. Clone this repo
git clone https://github.com/rieonke/idea-auto-switch-im.git
  1. Build Native Module
cd idea-auto-switch-im
cd native-src

xcodebuild -scheme ImSelect DSTROOT="./" archive
  1. Then you will find a new directory in native-src named usr, copy the ImSelect bin file to src/main/resources/native path

  2. Build plugin with gradle

gradle buildPlugin

  1. 克隆这个仓库到本地
git clone https://github.com/rieonke/idea-auto-switch-im.git
  1. 编译安装本地二进制工具
cd idea-auto-switch-im
cd native-src

xcodebuild -scheme ImSelect DSTROOT="./" archive
  1. 你将会在 native-src 下找到一个名为 usr 的文件夹, 找到文件夹下的 ImSelect 二进制文件到 src/main/resources/native

  2. 编译插件

gradle buildPlugin

License 协议

GPLv3

idea-auto-switch-im's People

Contributors

rieonke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

idea-auto-switch-im's Issues

报错,取不到输入法

每次进入vim模式报错: Get current input source faild

并且在plugin的设置中,取不到输入法列表

提取不到输入法

问题

input source中没有输入法可选。只有 last input source 和 never switch it!

系统/环境信息

系统/环境 版本
ubuntu 18
idea ulitimate 2019 02
输入法 ibus

issue

Idea2023.2.1 jdk17不能启动

Internal error. Please refer to https://jb.gg/ide/critical-startup-errors

java.lang.NoClassDefFoundError: com/intellij/ide/FrameStateManager
at cn.rieon.idea.plugin.AutoSwitchIm.component.AutoSwitchComponent.initComponent(AutoSwitchComponent.kt:53)
at com.intellij.serviceContainer.MyComponentAdapter.doCreateInstance(MyComponentAdapter.kt:45)
at com.intellij.serviceContainer.BaseComponentAdapter.doCreateInstance(BaseComponentAdapter.kt:158)
at com.intellij.serviceContainer.BaseComponentAdapter.createInstance(BaseComponentAdapter.kt:137)
at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:94)
at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:79)
at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invoke(ComponentManagerImpl.kt:404)
at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invoke(ComponentManagerImpl.kt:402)
at com.intellij.ide.bootstrap.AppServicePreloadingKt$postAppRegistered$3$1.invokeSuspend(appServicePreloading.kt:142)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:322)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: java.lang.ClassNotFoundException: com.intellij.ide.FrameStateManager PluginClassLoader(plugin=PluginDescriptor(name=Auto Switch Input Source In IdeaVim Mode, id=AutoSwitchIm, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/IntelliJIdea2023.2/plugins/AutoSwitchIm, version=1.4.3, package=null, isBundled=false), packagePrefix=null, state=active)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:156)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 25 more


Your JRE: 17.0.8+7-b1000.8 aarch64 (JetBrains s.r.o.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.