日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图片高亮处理编程_GMT语法高亮-智能提示-代码补全插件

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图片高亮处理编程_GMT语法高亮-智能提示-代码补全插件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GMT(Generic Mappint Tools)是地學界應用非常廣泛的一款繪圖兼數據處理的開源軟件。其開發團隊也是非?;钴S,此軟件還在不斷的發展和更新中,變得越來越強大。目前已經有164個模塊,而每一個模塊又有很多命令參數。因為gmt是命令行軟件,沒有GUI界面,所以用戶必須記住,或知道怎么從官方文檔中查詢這些參數并知道如何使用它。說起來容易,做起來難,如此大量的命令及參數,就連作者這樣的深度用戶都無法記住,也需要常常去訪問文檔查找命令和參數。這是gmt用戶面臨的一大難題,也是初學者望而生畏的原因。 本文將介紹作者自己開發的一款VScode(Visual Studio Code) 插件,不僅可以提升gmt腳本文件的顏值,而且還具有強大的代碼自動補全功能和智能提示功能,再也不用擔心-J后面跟啥參數這樣的問題了!

GMT的工作方式

GMT其實是由一系列的命令行程序組成的,每一個模塊(比如 pscoast)就是一個單獨的程序。而要完成一張圖的繪制,直接在終端一個一個敲命令肯定不現實,效率太低。一般可取的處理方式就是將一系列命令寫在一個腳本文件中:windows系統中就是大家熟悉的批處理文件,通常以 .bat 為后綴名;而Mac系統和Linux系統中是bash腳本文件,通常以 .sh 為后綴名。 這樣用腳本文件的方式處理,對代碼的二次利用有很大的益處。比如下面這樣一段GMT的命令,

gmt begin ex22gmt set FONT_ANNOT_PRIMARY 10p FONT_TITLE 18p FORMAT_GEO_MAP ddd:mm:ssFfile=`gmt which @usgs_quakes_22.txt -G`n=`gmt info $file -h1 -Fi -o2`first=`gmt info -h1 -f0T -i0 $file -C --TIME_UNIT=d -I1 -o0 --FORMAT_CLOCK_OUT=-`last=`gmt info -h1 -f0T -i0 $file -C --TIME_UNIT=d -I1 -o1 --FORMAT_CLOCK_OUT=-`me="GMT guru @@ GMTbox"gmt makecpt -Cred,green,blue -T0,100,300,10000 -Ngmt coast -Rg -JK180/9i -B45g30 -B+t"World-wide earthquake activity" -Gburlywood -Slightblue -A1000 -Y2.75igmt plot -C -Sci -Wfaint -hi1 -i2,1,3,4+s0.015 $filegmt legend -DJBC+o0/0.4i+w7i/1.7i -F+p+glightyellow neis.legend gmt end show

可以繪制一張如下圖所示的全球的地震分布的圖,還是非常美觀的。這個例子來源于GMT的官方例子:example-22 .

這個例子是最新版的gmt的語法,使用了所謂的modern模式,比之前的版本在使用上精簡了很多,功能也更強大了。

GMT腳本編輯器 : VScode

既然我們要用腳本文件的方式來編輯和運行GMT命令集,那么準備一個強大且美觀的代碼編輯器是必須的,工欲善其事必先利其器嘛!這種神器有沒有呢,答案是肯定的,而且還不止一種選擇,比如常用的 VScode, sublime, atom ,這三款都是跨平臺的,而且其用戶也都非常多,都有自己的一部分鐵粉。當然了,很多大神看到了可能就不服氣了,說為啥不提我 vim ,這個是很強大,但是本人就是不喜歡用。除此之外還有windows下的 notePad++ ,這個似乎沒有Mac版本。當年還在用win系統的時候,用過一段時間,還湊合,不過放棄它已經很久了。

工具這么多,蘿卜青菜各有所愛,本人最喜歡VScode。這是個跨平臺的,也就是你所有的使用習慣和軟件配置以及插件,換了系統照樣使用,完全不影響。VScode的用戶社區越來越龐大,很多大神們也貢獻了各種各樣的插件,使得VScode相當的好用!雖然像C++, python, java script這樣的編程語言已經有了太多太多好用的插件,但是GMT至今還沒有人貢獻GMT的插件(包括代碼高亮)。雖然GMT算不上編程語言,但是其命令之多參數之復雜,在某種程度上也可以算成一種腳本語言了。由于沒有GMT插件,導致在使用的時候很難忍受它的顏值,那就來自己開發一個插件。下面我就來介紹這個插件:vscode-GMT

vscode-GMT

功能

代碼高亮

這個是基本款,只有代碼高亮功能。目前是v0.0.2版本,可以高亮顯示的內容有:

  • gmt : gmt 這個詞
  • gmt的所有模塊名稱: 比如 pscoast
  • gmt的所有模塊的參數名稱:比如 -J, -G 等
  • gmt的所有配置參數,比如 MAP_GRID_CROSS_SIZE_PRIMARY
  • gmt內置的所有顏色名稱,比如 lightblue
  • gmt的所有投影參數,比如 -JM, -JX
  • 一些其他的bash類語法,比如數字,變量等

比如上面繪圖的這段代碼,如果沒有使用vscode-GMT插件,其顯示效果如下圖所示的素顏代碼:

有人會問了,gmt的腳本文件就是bash文件呀,vscode已經有了bash的代碼高亮插件了,為啥還是沒有高亮?因為vscode的bash代碼高亮的插件只是針對一小部分的bash語法和關鍵詞進行高亮的,其效果非常有限,正如上圖所示。大量的gmt命令它是識別不了的,想想這也是不可能的事兒。

使用了vscode-GMT插件之后的美顏效果如下圖所示:

顏色主題

這個代碼高亮效果可以隨著VScode的顏色主題的改變而改變,按自己喜好選擇light類主題或者dark類主題。此外,vscode-GMT插件還自帶了兩款增強版的主題:

  • OneLight-gmt
  • OneDark-gmt

一個是亮色主題一個是暗色主題,自帶的主題會對gmt的一些特有的語法進行增強高亮,已達到更好的高亮效果。這兩者的高亮效果分別如下圖所示。

安裝

vscode-GMT的安裝非常簡單,跟vscode的常規插件安裝方法相同,可以在線安裝。因為我已經將此插件發布到了vscode Marketplace上了,見下圖。

可以直接在vscode上聯網安裝,在插件管理器中輸入 gmt 就可以搜到我的插件了,然后點擊安裝即可生效,見下圖。

切換專屬增強型主題的方法與正常切換主題的方法一樣,只需要在主題搜索欄中輸入gmt就可以過濾出來 OneLight-gmt 和 OneDark-gmt 這兩個專屬主題。操作流程為 ctrl+p -> 輸入>color theme -> 點擊第一個 -> 輸入gmt 即可看到這兩個主題名字,點擊即可。 第二種方法更簡單,在插件管理器中搜索gmt,就可以找到已經安裝了的gmt插件,點擊就可以看到右邊窗口中logo旁邊有一個 Set Color Theme 按鈕,然后就會彈出這兩個主題,選擇點擊其中一個即可生效。

vscode-GMT Pro

上面介紹的這個vscode-GMT是基本款,而vscode-GMT-Pro具有更強大的功能,具體如下。

功能

語法高亮

代碼高亮功能與vscode-GMT插件完全相同。

代碼自動補全

目前版本的代碼補全功能包括以下幾項:

  • gmt模塊名稱: 輸入gmt然后按空格就會提示所有的gmt模塊命令和相應的解釋說明,可以按上下鍵進行選擇,選中后按Tab鍵就可以自動補全命令。

  • gmt模塊的參數:當輸入 gmt 然后選擇某個模塊命令之后,只要按下 - 鍵就可以自動提示所有的與此模塊有關的參數和解釋,這個是非常實用的功能。同樣可以按Tab鍵進行補全。

  • -J參數后面的投影方式: 當輸入 -J 后會自動彈出提示可選的投影方式,同樣用上下鍵選擇,可以看到每個投影方式的解釋,然后用Tab鍵生效(補全)。

  • -G和-S參數后面的顏色:與-J參數的自動補全類似,只不過這兩個參數后面跟的是可選的顏色名稱。

  • 所有的gmt內置變量: 比如當你輸入 map 就會自動提示所有與map相關的內置變量,支持模糊輸入,這對于沒有準確記住內置變量名稱的情況非常有幫助。大大提升了效率。

代碼智能提示快捷鍵

上面的代碼提示功能是鍵盤輸入驅動的,比如當你輸入 - 的時候回驅動參數自動補全功能。但是如果你輸入 - 之后失去了鼠標焦點,或者將一個參數刪除到了 - 的時候,這種情況下是不會自動驅動代碼補全功能的。但是可以用快捷鍵進行強制啟動智能提示功能,快捷鍵為 ctrl+D 或者Mac系統下的 cmd+D 組合鍵盤。

鼠標懸停提示

鼠標懸停提示功能就是當你鼠標放在一個命令或者參數上的時候,會自動提示這個命令或者參數的相關解釋。此功能已經實現,但是需要花時間補充相關的解釋文檔,會很快跟大家見面的。注意:鼠標懸停提示只針對gmt的命令區域有效,不在其他地方出現,就如下面的動圖中演示的那樣。

安裝

由于Pro版插件的開發耗費了大量的時間和精力,所以沒有免費版?;蛟S眾籌是個思路!

需要的可以訪問此鏈接獲取安裝包下載口令,SciByte公眾號里面回復此口令就可以得到安裝包下載地址。 下載完成后按下圖的方式安裝即可,也是非常容易的。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的图片高亮处理编程_GMT语法高亮-智能提示-代码补全插件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。