真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

go語言編輯器vi go語言編譯軟件

golang ide 什么好用

第一種:LiteIDE

專注于為中小企業(yè)提供成都網站設計、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)尚義免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。

LiteIDE是一個簡單的開源IDE,值得注意的是,它是GO語言2012年正式版發(fā)布的首個IDE,由Qt開發(fā),它看起來類似于Visual Studio等其他編譯器。

由于它是為golang設計的,LiteIDE為開發(fā)人員提供了許多有用的功能,包括可配置的構建命令,高級代碼編輯器和廣泛的golang支持。其他功能包括代碼管理、gdb、Delve調試器、自動完成和使用WordApi的主題,基于MIME類型的系統(tǒng)等。

第二種:VS Code

它是微軟開發(fā)的廣受歡迎的開源IDE,有一個開箱即用的go擴展可供VS Code使用。VS Code插件為開發(fā)人員提供了很多功能,包括與許多go工具集成。

VS Code通過IntelliSense,內置git集成,直接從編譯器調試代碼等功能提供智能完成功能;VS Code具有高度可擴展性,并通過其許多擴展提供了許多自定義選項,還提供了幾十種語言的支持,成為受開發(fā)者歡迎的工具。

第三種:Atom

開發(fā)人員可以利用這個Atom IDE改進的語言集成與更智能的編輯器。開源的go-plus軟件包使開發(fā)人員更容易在GO中進行編程。

Atom和go-plus軟件包為golang提供工具,構建流程,linters、vet和coverage工具的支持;其他功能包括自動完成、格式化、測試和文檔。

第四種:Vim

Vim有許多插件可以幫助開發(fā)人員更輕松地編輯他們的GO代碼;Vim-go插件自動安裝所有必要的東西,為Vim中的GO開發(fā)人員提供更平滑的集成。

Vim-go具有許多有用的功能,包括編譯器,改進的語法高亮和折疊,完成支持以及一系列具有集成支持的調試程序。還有一些使用的高級源分析工具,包括GoImplements、GoCallees和GoReferrers。

如何配置go語言集成開發(fā)環(huán)境 vim

1、編譯vimgdb

下載vimgdb73和vim73

mkdir -p ./tmp

cd tmp

tar zxvf ../vim-7.3.tar.gz

unzip ../vimgdb-for-vim7.3-master.zip

mv vimgdb-for-vim7.3-master vimgdb-for-vim7.3

patch -p0 vimgdb-for-vim7.3/vim73.patch

cd vim73

安裝依賴

sudo apt-get install build-essential

sudo apt-get build-dep vim-gtk

sudo apt-get install libncurses5-dev

安裝

// 這里直接執(zhí)行make的操作

make

sudo make install

安裝vimgdb runtime

cd ../vimgdb-for-vim7.3

cp vimgdb_runtime ~/.vim/bundle

打開vim

:helptags ~/.vim/bundle/vimgdb_runtime/doc " 生成doc文件

添加配置.vimrc

" vimgdb插件

run macros/gdb_mappings.vim

在vim中執(zhí)行gdb時,報 “Unable to read from GDB pseudo tty” 的錯誤,因為沒有安裝 gdb ,所以安裝gdb

sudo apt-get install gdb

2、安裝vundle

set up vundle

$ git clone ~/.vim/bundle/vundle

Configure Plugins

在.vimrc文件的開頭添加下面的內容,有些不是必須的,可以注掉

set nocompatible " be iMproved, required

filetype off " required

" set the runtime path to include Vundle and initialize

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

" alternatively, pass a path where Vundle should install plugins

"let path = '~/some/path/here'

"call vundle#rc(path)

" let Vundle manage Vundle, required

Plugin 'gmarik/vundle'

" The following are examples of different formats supported.

" Keep Plugin commands between here and filetype plugin indent on.

" scripts on GitHub repos

Plugin 'tpope/vim-fugitive'

Plugin 'Lokaltog/vim-easymotion'

Plugin 'tpope/vim-rails.git'

" The sparkup vim script is in a subdirectory of this repo called vim.

" Pass the path to set the runtimepath properly.

Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

" scripts from

Plugin 'L9'

Plugin 'FuzzyFinder'

" scripts not on GitHub

Plugin 'git://git.wincent點抗 /command-t.git'

" git repos on your local machine (i.e. when working on your own plugin)

Plugin ''

" ...

filetype plugin indent on " required

" To ignore plugin indent changes, instead use:

"filetype plugin on

"

" Brief help

" : PluginList - list configured plugins

" : PluginInstall(!) - install (update) plugins

" : PluginSearch(!) foo - search (or refresh cache first) for foo

" : PluginClean(!) - confirm (or auto-approve) removal of unused plugins

"

" see :h vundle for more details or wiki for FAQ

" NOTE: comments after Plugin commands are not allowed.

" Put your stuff after this line

Install Plugins

Launch vim and run

: PluginInstall

vim +PluginInstall +qall

3、官方vim-lang插件

Config vim file .vimrc,Add content bellow in bottom of the file

" 官方的插件

" Some Linux distributions set filetype in /etc/vimrc.

" Clear filetype flags before changing runtimepath to force Vim to

" reload them.

filetype off

filetype plugin indent off

set runtimepath+=$GOROOT/misc/vim

filetype plugin indent on

syntax on

autocmd FileType go autocmd BufWritePre Fmt

4、代碼補全的插件gocode

配置go的環(huán)境變量,比如我的配置,GOPATH變量是必須要配置的,PATH中必須把GOPATH的bin也添加進去,否則沒有自動提示,會提示找不到模式

export GOROOT=/usr/local/go

export GOPATH=/data/app/gopath

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Set up gocode

Then you need to get the appropriate version of the gocode, for 6g/8g/5g compiler you can do this:

go get -u github點抗 /nsf/gocode (-u flag for "update")

Configure vim in .vimrc file

Plugin 'nsf/gocode', {'rtp': 'vim/'}

Install Plugins

Launch vim and run

: PluginInstall

vim +PluginInstall +qall

寫一個helloword程序,輸入fmt后按C-xC-o如果能看到函數(shù)的聲明展示出來,說明安裝是正確的。

4、代碼跳轉提示godef

Set up godef

go get -v code.google點抗 /p/rog-go/exp/cmd/godef

go install -v code.google點抗 /p/rog-go/exp/cmd/godef

git clone ~/.vim/bundle/vim-godef

Configure vim in .vimrc file

Bundle 'dgryski/vim-godef'

Install Plugins

Launch vim and run

: PluginInstall

vim +PluginInstall +qall

5、代碼結構提示gotags

Set up gotags

go get -u github點抗 /jstemmer/gotags

Put the following configuration in your vimrc:

Bundle 'majutsushi/tagbar'

nmap :TagbarToggle

let g:tagbar_type_go = {

\ 'ctagstype' : 'go',

\ 'kinds' : [

\ 'p:package',

\ 'i:imports:1',

\ 'c:constants',

\ 'v:variables',

\ 't:types',

\ 'n:interfaces',

\ 'w:fields',

\ 'e:embedded',

\ 'm:methods',

\ 'r:constructor',

\ 'f:functions'

\ ],

\ 'sro' : '.',

\ 'kind2scope' : {

\ 't' : 'ctype',

\ 'n' : 'ntype'

\ },

\ 'scope2kind' : {

\ 'ctype' : 't',

\ 'ntype' : 'n'

\ },

\ 'ctagsbin' : 'gotags',

\ 'ctagsargs' : '-sort -silent'

\ }

命令模式下按在右邊就會顯示當前文件下的函數(shù)名,結構體名等等,光標放到相應的tag上,按回車可以快速跳到程序中的相應位置。

再次按會關閉tag窗口。

PS:本地的.vimrc的配置

" 插件管理器 vundle

set nocompatible " be iMproved, required

filetype off " required

" set the runtime path to include Vundle and initialize

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

" alternatively, pass a path where Vundle should install plugins

"let path = '~/some/path/here'

"call vundle#rc(path)

" let Vundle manage Vundle, required

Plugin 'gmarik/vundle'

" The following are examples of different formats supported.

" Keep Plugin commands between here and filetype plugin indent on.

" scripts on GitHub repos

" Plugin 'tpope/vim-fugitive'

" Plugin 'Lokaltog/vim-easymotion'

" Plugin 'tpope/vim-rails.git'

" The sparkup vim script is in a subdirectory of this repo called vim.

" Pass the path to set the runtimepath properly.

" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

" scripts from

" Plugin 'L9'

" Plugin 'FuzzyFinder'

" scripts not on GitHub

" Plugin 'git://git.wincent點抗 /command-t.git'

" git repos on your local machine (i.e. when working on your own plugin)

" Plugin ''

" ...

"

filetype plugin indent on " required

" To ignore plugin indent changes, instead use:

" filetype plugin on

"

" Brief help

" : PluginList - list configured plugins

" : PluginInstall(!) - install (update) plugins

" : PluginSearch(!) foo - search (or refresh cache first) for foo

" : PluginClean(!) - confirm (or auto-approve) removal of unused plugins

"

" see :h vundle for more details or wiki for FAQ

" NOTE: comments after Plugin commands are not allowed.

" Put your stuff after this line

syntax on

" ********************************************************************

" 這里省略了其它不相關的插件

" vimgdb插件

run macros/gdb_mappings.vim

" 官方的插件

" Some Linux distributions set filetype in /etc/vimrc.

" Clear filetype flags before changing runtimepath to force Vim to

" reload them.

filetype off

filetype plugin indent off

set runtimepath+=$GOROOT/misc/vim

filetype plugin indent on

syntax on

autocmd FileType go autocmd BufWritePre buffer Fmt

" 代碼補全的插件

Bundle 'Blackrush/vim-gocode'

" 代碼跳轉提示

Bundle 'dgryski/vim-godef'

" 代碼結構提示

Bundle 'majutsushi/tagbar'

nmap F8 :TagbarToggleCR

let g:tagbar_type_go = {

\ 'ctagstype' : 'go',

\ 'kinds' : [

\ 'p:package',

\ 'i:imports:1',

\ 'c:constants',

\ 'v:variables',

\ 't:types',

\ 'n:interfaces',

\ 'w:fields',

\ 'e:embedded',

\ 'm:methods',

\ 'r:constructor',

\ 'f:functions'

\ ],

\ 'sro' : '.',

\ 'kind2scope' : {

\ 't' : 'ctype',

\ 'n' : 'ntype'

\ },

\ 'scope2kind' : {

\ 'ctype' : 't',

\ 'ntype' : 'n'

\ },

\ 'ctagsbin' : 'gotags',

\ 'ctagsargs' : '-sort -silent'

\ }

Go語言有什么好用的IDE嗎

我喜歡jetbrains系列的IDE+go插件。不過我要說的是這個問題主要看你的觀點如何。

說eclipse:

構建方式是使用go install 命令,每一次編譯運行都是go install。這樣的好處就是如果你有很多的包,下載下來并沒有編譯,這樣每次編譯速度是很快的。而且(!)go install 符合go官方的項目結構,官方說過了,一個go的項目應該是以個gopath,包含src,pkg,bin三個主要目錄。所以說go install個人認為才是主要的go編譯方式。

說eclipse的缺點:

其實eclipse插件的go編譯方式,還有目錄結構,項目結構,都是非常完美的?。。?!真的很完美!可是,他的代碼提示,太差件!大括號都不能自動補全,gdb 32bit 64bit兼容問題,eclipseC++ 沒有html js插件,需要手動安裝,幾乎不能開箱即用。不過如果你是開發(fā)算法,數(shù)據(jù)處理,還是推薦eclipse的,畢竟其他都無關緊要。

說jetbrains:

說先說clione肯定不適合,新建項目沒有向導,導致改成go項目各種不開心,比如圖標對于我來說就無法接受go lib 不是小耗子~這是次要的,重要的是各個文件都是灰色的(沒有在cmake中包含的結果),然后說剩下的,phpstorm這個不說了,估計很少有人插件按在這里,webstorm,體驗也不是很好,idea?體驗很好,可是畢竟比較重,尤其是現(xiàn)在加入了自家的K啥玩意(無意冒犯,沒記住單詞)~可是話說回來,go跟C系列IDE配合才是最佳,跟java系列一點不搭關系,用idea似乎有點格格不入,但是!idea支持新建項目向導,lib的圖標也很清晰,最后還是選擇idea吧,期待clion的強大起來!

再說jetbrains系列缺點:

插件的構建方式是go buiild 這個讓人很不爽,我們幾乎不確定會構建到什么地方去,還要每次設置一下run配置。這個可能無關緊要,畢竟不是什么大的毛病,可是go build不能緩存.a文件,直接構建的結果就是很多第三方包的情況下很慢!所以建議安裝包的時候手動install 一下解決這個問題。自帶代碼格式化,這個格式化跟go 格格不入,總的來說就是蛋疼,心碎,菊花癢。

最后說liteIDE:

輕量級IDE,我可以說是國人GO偉大作品典范,然而默認構建也是go build,項目管理方式不符合go官方標準。代碼提示不能自動導入(eclipse也不能),不過如果你的項目是以包為單位的,那么另當別論。一定很不錯,畢竟是輕量級專門針對GO的IDE!

說這些,其實還有很大一部分取決于你的項目是用vendor機制管理,還是godeps機制管理依賴關系。go不像java擁有強大的幾乎天下一統(tǒng)的maven(無意冒犯,暫不評價其他構建套件)。

go沒有官方包倉庫。

go沒有官方包管理工具。

go沒有官方自動化構建套件。

上面三個沒有是致命要害。導致民間各種百花齊放。

說說我的項目怎么管理

gpm 一個shell工具(windows下你可以用git的bash,或者cygwin~)

我是嚴格艷照官方推薦方式管理go項目,一個go項目一個gopath。系統(tǒng)的gopath只是為了安裝go命令,我沒有配置gobin,意義不大。

項目的依賴跟我的代碼包都在src下(非vendor)

vendor用來存放包的特殊依賴,發(fā)布項目直接把依賴包發(fā)布上去(公網管理則只上傳依賴關系文件 godeps文件)

資源文件等都放在src目錄同級,編譯文件放在bin,引用直接../引用。

phpstorm golang開發(fā)環(huán)境如何配置

golang 有編輯器可以用 如國人開發(fā)的liteide,或者sublimetext、vim、emacs,為什么一定要用phpstorm?如果你只是做php開發(fā),phpstorm很不錯,如果用golang來開發(fā),phpstorm 并不合適


網頁名稱:go語言編輯器vi go語言編譯軟件
文章分享:http://weahome.cn/article/ddjhcid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部