idea編寫Java代碼時中文字符實時替換為英文字符的多種方法

2020-12-23 聊推

大部分程式語言寫代碼的時候,不能出現中文標點符號,必須使用英文的標點符號,但是寫代碼的過程中,很多時候是需要寫中文注釋的,這樣來回切換輸入法呢,有點繁瑣,有時候不小心忘記切換,就寫錯了,有的編輯器比較智能,立馬就能檢測到,但有的文本編輯器並不能檢測到,會導致出現bug。

本來計劃自己寫一個,不過發現了一個插件,支持idea以及JetBrains 全家桶。

默認情況下,這個插件可以把下面的常用標點符號進行中英文轉換,也可以自定義需要的各種標點符號。

, , 。 . : : ; ; ! ! ? ? 「 \" 」 \" 『 ' 』 ' 【 [ 】 ] ( ( ) ) 「 { 」 } 《 < 》 >

它的原理是實時檢測你的輸入,如果輸入的字符正好匹配配置的規則,那麼就進行替換。

從代碼的角度分析,它依賴於idea工具包com.intellij.openapi.editor.Editor

利用Editor對象,獲取文本對象

Documentdocument=editor.getDocument();

如果檢測到匹配字符,那麼刪除本字符,替換為目標字符

document.deleteString(caretOffset-1,caretOffset);

document.insertString(caretOffset-1,String.valueOf(c));

這幾行代碼是核心代碼,這個方法也是重寫工具jar包自帶的方法即可,因此如果有別的需求,也可以參考這個思路進行開發一個插件。

idea插件開發也比較容易上手,可以按照這個步驟,搭建一個簡易的插件工程:

Create new project -> IntelliJ Platform Plugin -> 輸入project name

然後創建action,配置plugin.xml,這個類似Struts的配置文件。

最後打jar包,添加到idea插件即可。

其實這個功能,很多輸入法也支持,中文輸入標點符號按照英文顯示,但是輸入法設置以後,如果需要中文標點符號,就需要切換輸入法,相對來說還是比較不智能。

這個插件還有有一個優點就是,不會影響別的軟體標點符號,同時如果想在idea輸入中文標點符號,也是支持的,輸入/斜槓+標點符號即可。

如果你也正好需要源碼,可以關注後,私信或者評論即可

相關焦點

  • java之字符緩衝輸入流,BufferedReader的簡單介紹
    java之字符緩衝輸出流,BufferedWriter的簡單介紹,這次小編要介紹的是字符緩衝輸入流,具體如下:java.io.BufferedReader extends Reader繼承自父類的共性成員文件:int read()讀取單個字符並返回int read(char[] cbuf)一次讀取多個字符
  • Excel Substitute函數使用方法,含嵌套一次替換多個不同字符實例
    在 Excel 中,一共有兩個替換字符的函數,一個是Substitute函數,另一個是Replace函數;前者是用新字符替換舊字符,後者是用新字符替換指定字符數。Substitute函數既可以替換源文本中所有指定字符,又可以替換某個指定字符,並且還能嵌套使用以實現一次替換多個不同字符。
  • Java基礎之字符串及——String
    可變的字符串:StringBuilder類和StringBuffer類的對象就是可變的;當對象創建完畢之後,該對象的內容發生改變時不會創建新的對象,也就是說對象的內容可以發生改變,當對象的內容發生改變時,對象保持不變,還是同一個。
  • 「Java」基礎06:編寫入門程序
    Java程序開發三步驟:編寫,編譯,運行一、編寫即開發人員編寫Java原始碼。新建一個記事本,命名為HelloWorld,再將後綴名.txt改變成.java。用記事本打開HelloWorld.java文件,代碼如下:這樣寫完,HelloWorld程序原始碼就編寫好了。
  • 插入特殊字符時,字符代碼如何使用?
    我們在輸入文字的時候根據不同的條數可能會需要輸入帶圈數字,下面小編介紹幾種方法給大家嘗試。1.先將光標定位需要插入的地方。6.還有一種就是先輸入數字,將數字選中,點擊開始選項卡的——帶圈字符。7.選擇縮小,點擊確定。8.這樣也能夠輸入帶圈數字,不過這個的格式就與正常的不大一樣。
  • 4.Java基礎知識-HelloWorld
    4.1 執行流程4.2 編寫代碼步驟首先定義一個類public class 類名在類定義後加上一對大括號{}在大括號中間添加一個主(main)方法/函數public static voidmain(String [] args){ }在主方法的大括號中間添加一行輸出語句System.out.println(「HelloWorld」);4.3 案例代碼一public class HelloWorld {public static void main(String[] args) {System.out.println
  • 開發屬於自己的第一款IDEA插件!
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫作者:木杉http://imushan.com/寫Java代碼的時候,經常會涉及到重複性的操作
  • Oracle字符串替換小技巧,超實用
    資料庫中字符串的替換是比較常用的操作,Oracle已經為我們提供了幾個實用的函數來處理字符串的替換操作,常用的主要有replace、regexp_replace 和 translate三個函數,接下來我們來逐個看下。
  • java中utils方法 - CSDN
    使用 StringUtils ,上面代碼可以替換下面這樣:if (StringUtils.isEmpty(str)) {}StringUtils 內部還有一個方法 isBlank,也是用來判斷字符串是否為空,兩個方法比較相近,比較搞混,主要區別如下
  • 撥開字符編碼的迷霧
    1.2.3 全形與半角因為漢字在顯示器上的顯示寬度要比英文字符的寬度要寬一倍,在一起排版顯示時不太美觀。所以GB編碼不僅僅加入了漢字字符,而且包括了ASCII字符集中本來就有的數字、標點符號、字母等字符。這些被編入GB編碼的數字、標點、字母在顯示器上的顯示寬度比ASCII字符集中的寬度寬一倍,所以前者稱為全形字符,後者稱為半角字符。2.
  • sql替換資料庫欄位中的字符
    某些時候我們要修改資料庫欄位中的部分字符串,如果內容少時一個一個替換,內容多時,就不能一個一個的替換了,因為這樣不僅耗時還容易出錯。下面就用sql批量進行替換。替換shopping_hw表中欄位hw_pic,內容「*common」替換為「+play」.
  • python入門教程06-01(python語法入門之字符編碼)
    人類在與計算機交互時,用的都是人類能讀懂的字符,如中文字符、英文字符、日文字符等而計算機只能識別二進位數,詳解如下#二進位數即由0和1組成的數字,例如010010101010。、天下大亂為了讓計算機能夠識別中文和英文,中國人定製了GBK# GBK表的特點: 1、只有中文字符、英文字符與數字的一一對應關係2、一個英文字符對應1Bytes一個中文字符對應2Bytes補充說明:
  • Python中如何計算字符串的長度
    字符編碼(Character encoding),即為字集碼,就是把字符集中的字符編碼為指定集合中某一對象,用來以字節為單位實現字符在計算機中的存儲,和便於通過通信網絡的傳遞字符。電腦代碼運行中我們現在常用的字符編碼有這幾種:1、GB2312:就是按照我國的國家標準第2312條編碼,其中是不包含繁體字的;
  • Java代碼的優化方法有哪些
    說到代碼優化,每個人或多或少都掌握一到兩種方法,但是這樣的方法對提升代碼運行效率效果不大,最重要是對代碼的重視和了解,這樣才能提升代碼的運行效率。在進行代碼優化的過程中,方法是非常重要的,多掌握幾種方法,根據代碼的不同情況選擇適合的方法進行優化。
  • JAVA 中如何反轉字符串字符,一共4中方式,請牢記!
    比如:String str = "abcd";通過反轉倒序後輸出:dcba故此文本主要講述如何將 String 類型的字符串字母倒序過來的幾種方法。下面就列舉如下4種方法並一一說明!其實也很簡單,通過如下幾步即可:將字符串轉為 char[]數組逐個循環 char[]數組使用 temp 變量進行值交換上面的源碼算法實現需要5個循環(長度/ 2)來使字符串倒序
  • sqlserver欄位數據中制表符tab、空格、回車符等特殊字符替換
    在計算機中,所有的數據在存儲和運算時都要使用二進位數表示,包括52個字母(包括大寫)、數字、常用的符號(例如*、#、@等)。具體用哪些二進位數字表示哪個符號,大家就必須使用相同的編碼規則,美國有關的標準化組織就出臺了ASCII編碼(美國信息交換標準代碼)。
  • Excel字符函數(5):REPLACE、SUBSTITUTE查找替換函數之區別
    如果需要在某一文本字符串中替換指定的文本,使用函數 SUBSTITUTE;如果需要在某一文本字符串中替換特定位置處的任意文本,使用函數 REPLACE下圖中,REPLACE函數,從A2單元格的第4位取1位,替換為「」空字符(等同於刪除小圓點.)
  • JAVA IO Stream流總結
    注意:close方法,當完成流的操作時,必須調用此方法,釋放系統資源。4.5 FileInputStream類java.io.FileInputStream 類是文件輸入流,從文件中讀取字節。當你創建一個流對象時,必須傳入一個文件路徑。該路徑下,如果沒有該文件,會拋出 FileNotFoundException 。 五.字符流當使用字節流讀取文本文件時,可能會有一個小問題。就是遇到中文字符時,可能不會顯示完整的字符,那是因為一個中文字符可能佔用多個字節存儲。所以Java提供一些字符流類,以字符為單位讀寫數據,專門用於處理文本文件。
  • 小小星號創奇蹟:一個字符就能改變你編寫Python代碼的方式
    全文共1490字,預計學習時長7分鐘圖源:unsplashPython以句法簡單、簡潔而聞名,只需掌握簡單的英語就能理解其代碼。對初學者來說極具吸引力,它沒有聲明,沒有花哨的字符或者奇怪的句法。這些特點確實能創造奇蹟,但*也值得這一美名,小小字符能帶來翻天覆地的變化。
  • JAVA零基礎學習總結及筆記
    註:使用java命令時,不需要輸入文件的擴展名,而使用javac命令時,需要輸入文件的擴展名。1.4 本章小結本章學了Java語言的歷史、現狀及各種特性,接著配置了JDK環境,最後介紹了第一個Java應用程式,Java開發的一般流程是編寫原始碼、編譯原始碼和運行class文件。