Skip to content

Commit 07d844c

Browse files
committed
Merge pull request astaxie#431 from pasali/feature-summary-fourth
Feature summary fourth
2 parents fdca705 + 2968903 commit 07d844c

File tree

4 files changed

+474
-0
lines changed

4 files changed

+474
-0
lines changed

tr/01.4.md

+394
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,394 @@
1+
# Go geliştirme araçları
2+
3+
Bu bölümde, otomatik formatlama ve akıllı kod tamamlama gibi özelliklerine sahip, daha hızlı ve verimle bir şekilde kodlama yapabileceğiniz IDE'lerden bahsedeceğim. Tüm IDE'ler cross-platform çalışabiliyor, aynı işletim sistemini kullanmıyor olasanız bile adımlar çok fazla değişiklik göstermeyecektir.
4+
5+
## LiteIDE
6+
7+
LiteIDE, sadece go dili için destek veren visualfc tarafıdan geliştirilmiş açık kaynaklı ve hafif bir IDE.
8+
9+
![](images/1.4.liteide.png?raw=true)
10+
11+
Şekil 1.4 LiteIDE'nin ana ekranı
12+
13+
LiteIDE özellikleri:
14+
15+
- Cross-platform
16+
- Windows
17+
- Linux
18+
- Mac OS
19+
- Çapraz derleme
20+
- Birden fazla ortam için derleme yapabilme
21+
- Go için çapraz derleme desteği
22+
- Proje yönetim standartı
23+
- $GOPATH'e dayalı dökümantasyon görüntüleme
24+
- $GOPATH'e dayalı derleme sistemi
25+
- $GOPATH'e dayalı API dökümantasyonu
26+
- Go kaynak kodu editörü
27+
- Code outlining
28+
- Gocode için tam destek
29+
- Go API dökümantasyonu desteği
30+
- `F1` kısayolu ile kod deyimini görme
31+
- `F2` fonksiyon tanımına gitme
32+
- Gdb desteği
33+
- `gofmt` ile oto-formatlama
34+
- Diğer
35+
- Çoklu dil desteği
36+
- Eklenti sistemi
37+
- Metin editör temaları
38+
- Kate'e dayalı söz dizimi desteği
39+
- Kodlama esnasında tamamlama özelliği
40+
- Ayarlanabilir kısayollar
41+
- Markdown desteği
42+
- Anlık önizleme
43+
- özelleştirilmiş CSS
44+
- HTML ve PDF olarak çıktı alma
45+
- HTML ve PDF'e dönüştürme
46+
47+
### LiteIDE kurulumu
48+
49+
- LiteIDE kur
50+
- [Indirme Sayfası](http://code.google.com/p/golangide)
51+
- [Kaynak Kodu](https://github.com/visualfc/liteide)
52+
53+
Önce Go'yu kurmanız gerekiyor, sonra işletim sisteminize uygun verisyonunu indirebilirsiniz. Arşivi istediğiniz dizine açıp kullabilirsiniz.
54+
- gocode kur
55+
56+
Akıllı tamamlama özelliği için gocode'u kurmanız gerekiyor:
57+
58+
go get -u github.com/nsf/gocode
59+
60+
- Derleme Ortamı
61+
62+
Ayarlamalarınızı işletim sisteminize uygun bir şekilde yapın.
63+
Go'nun 64-bitlik versiyonunu windowsta koşturuyorsanız, araç çubugunda konfigürasyon ortamı olarak win64 olarak ayarlayın.`option` menüsü altındaki `liteEnv` sekmesine tıklayın ve `win64.env` adlı dosyayı açın.
64+
65+
GOROOT=c:\go
66+
GOBIN=
67+
GOARCH=amd64
68+
GOOS=windows
69+
CGO_ENABLED=1
70+
71+
PATH=%GOBIN%;%GOROOT%\bin;%PATH%
72+
。。。
73+
74+
`GOROOT=c:\go` satırını kendi Go kurulu dizininize ayarlayın ve kaydedin. MinGW64 kullanıyorsanız,`c:\MinGW64\bin`yi `cgo` desteği için PATH değişkenine ekleyin.
75+
76+
Go'nun 64-bitlik linuxta koşturuyorsanız, araç çubuğunda kanfigürasyon ortamı olarak linux64 olarak ayarlayın. `option` menüsü altındaki `liteEnv` sekmesine tıklayın ve `linux64.env` adlı dosyayı açın.
77+
78+
GOROOT=$HOME/go
79+
GOBIN=
80+
GOARCH=amd64
81+
GOOS=linux
82+
CGO_ENABLED=1
83+
84+
PATH=$GOBIN:$GOROOT/bin:$PATH
85+
。。。
86+
87+
`GOROOT=$HOME/go` kendi Go kurulu dizininize ayarlayın ve kaydedin.
88+
- $GOPATH
89+
$GOPATH, projelerin bulunuduğu dizini ifade ediyor. Komut istemcisini açın (ya da `Ctrl+` tuşuna basın), `go help gopath` komutu ile daha ayrıntılı bilgi elde edebilirsiniz.
90+
$GOPATH'in içindekileri görüp, dizin yolunu değiştirmek LiteIDE kullanarak çok basit bir şekilde ayarlanabilir.`View - Setup GOPATH` size düzenleme yapabileceğiniz bir pencere açacaktır.
91+
92+
## Sublime Text
93+
94+
Sıradaki IDE'miz Sublime Text 2 (kısaca Sublime'de diyebilirsiniz) + GoSublime + gocode + MarGo.
95+
96+
- Akıllı tamamlama
97+
98+
![](images/1.4.sublime1.png?raw=true)
99+
100+
Şekil 1.5 Sublime akıllı tamamlama
101+
- Kaynak dosyalarını oto-formatlama
102+
- Proje yönetimi
103+
104+
![](images/1.4.sublime2.png?raw=true)
105+
106+
Şekil 1.6 Sublime proje yönetimi
107+
108+
- Söz dizimi renklendirme
109+
- Fonksiyon kısıtlaması olmaksızın bedava sürüm. Arada bir lisans alma penceresi çıkabilir, ama kapatıp geçebilirsiniz. Eğer hoşunuza gider ve daha verimli kodlar yazmak isterseniz full sürümünü satın alın ve geliştiricilere destek olun!
110+
111+
İşletim sisteminize uygun [Sublime](http://www.sublimetext.com/) versiyonunu indirin.
112+
113+
1. Ctrl+`'ye basın ve aşağıdaki komutu girin.
114+
115+
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
116+
117+
Kurulum tamamlandıktans sonra Sublime yeniden başlatın. "Preferences" menüsünde "Package Control" sekmesine tıklayın.
118+
119+
![](images/1.4.sublime3.png?raw=true)
120+
121+
Şekil 1.7 Sublime Package Control
122+
2. GoSublime, SidebarEnhancements ve Go Build kurmak için, `Ctrl+Shift+p` tuşlarına basıp Package Control penceresini açın, `pcip` yazın ("Package Control: Install Package"nin kısaltması).
123+
124+
![](images/1.4.sublime4.png?raw=true)
125+
126+
Şekil 1.8 Sublime Paket kurulumu
127+
128+
"GoSublime" yazın, OK tuşuna tıklayıp paketi yükleyin, aynı adımlarıSidebarEnhancements ve Go Build kurmak için tekrarlayın. Bir defa daha, kurulumlar bittikten sonra tekrar başlatın.
129+
3. Kurulumun başarılı olup olmadığını öğrenmek için, Sublime ile bir go dosyasını açıp renklendirme yapıp yapmadığına bakabilirsiniz. `import` yazarak kod tamamlamanın çalışıp çalışmadığını anlayabilirsiniz. `import "fmt"` yazdıktan sonra, `fmt.` yazın ve `fmt` kütüphanesinin metodlarının listelendiğini görebilirsiniz.
130+
131+
Herşey tamamsa, kurulum başarıyla tamamlanmıştır demektir.
132+
133+
Eğer değilde terminali açıp `gocode` komutunu çalıştıramıyorsanız $PATH değişkeniniz doğru ayarlanmamış demektir.
134+
135+
## Vim
136+
137+
Vim, programcılar arasında çok populer bir araçtır, Vi'nin gelişmiş versiyonudur. Akıllı tamamlama, hata ayıklama ve derleme için fonksiyonları mevcut.
138+
139+
![](images/1.4.vim.png?raw=true)
140+
141+
Şekil 1.8 Vim Go için akıllı tamamlama
142+
143+
1. Go için renklendirme
144+
145+
cp -r $GOROOT/misc/vim/* ~/.vim/
146+
147+
2. Renklendirme ayarını açmak için
148+
149+
filetype plugin indent on
150+
syntax on
151+
152+
3. [gocode](https://github.com/nsf/gocode/) kur
153+
154+
go get -u github.com/nsf/gocode
155+
156+
gocode öntanımlı olarak `$GOBIN` dizinine kurulacaktır
157+
158+
4. [gocode](https://github.com/nsf/gocode/) ayarla
159+
160+
~ cd $GOPATH/src/github.com/nsf/gocode/vim
161+
~ ./update.bash
162+
~ gocode set propose-builtins true
163+
propose-builtins true
164+
~ gocode set lib-path "/home/border/gocode/pkg/linux_amd64"
165+
lib-path "/home/border/gocode/pkg/linux_amd64"
166+
~ gocode set
167+
propose-builtins true
168+
lib-path "/home/border/gocode/pkg/linux_amd64"
169+
170+
5. Tebrikler! Go'nun dünyasını keşfetmek için `:e main.go` yazın!
171+
172+
## Emacs
173+
174+
Emacs ölümcül bir silah olarak bilinir. Sadece bir metin editörü değil, aynı zamanda çok güçlü bir IDE'dedir.
175+
176+
![](images/1.4.emacs.png?raw=true)
177+
178+
Şekil 1.10 Emacs Go editörü ana ekranı
179+
180+
1. Sözdizimi renklendirme
181+
182+
cp $GOROOT/misc/emacs/* ~/.emacs.d/
183+
184+
2. [gocode](https://github.com/nsf/gocode/) kur
185+
186+
go get -u github.com/nsf/gocode
187+
188+
gocode öntanımlı olarak `$GOBIN` dizinine kurulacaktır
189+
3. [gocode](https://github.com/nsf/gocode/) ayarla
190+
191+
~ cd $GOPATH/src/github.com/nsf/gocode/vim
192+
~ ./update.bash
193+
~ gocode set propose-builtins true
194+
propose-builtins true
195+
~ gocode set lib-path "/home/border/gocode/pkg/linux_amd64"
196+
lib-path "/home/border/gocode/pkg/linux_amd64"
197+
~ gocode set
198+
propose-builtins true
199+
lib-path "/home/border/gocode/pkg/linux_amd64"
200+
201+
4. [Oto tamamlama](http://www.emacswiki.org/emacs/AutoComplete)'yı kur
202+
İndirin ve arşivi açın
203+
204+
~ make install DIR=$HOME/.emacs.d/auto-complete
205+
206+
~/.emacs dosyasını ayarlayın
207+
208+
;;auto-complete
209+
(require 'auto-complete-config)
210+
(add-to-list 'ac-dictionary-directories "~/.emacs.d/auto-complete/ac-dict")
211+
(ac-config-default)
212+
(local-set-key (kbd "M-/") 'semantic-complete-analyze-inline)
213+
(local-set-key "." 'semantic-complete-self-insert)
214+
(local-set-key ">" 'semantic-complete-self-insert)
215+
216+
Bu [adresten](http://www.emacswiki.org/emacs/AutoComplete) daha fazla bilgi edinebilirsiniz.
217+
5. .emacs ayarlayın
218+
219+
;; golang mode
220+
(require 'go-mode-load)
221+
(require 'go-autocomplete)
222+
;; speedbar
223+
;; (speedbar 1)
224+
(speedbar-add-supported-extension ".go")
225+
(add-hook
226+
'go-mode-hook
227+
'(lambda ()
228+
;; gocode
229+
(auto-complete-mode 1)
230+
(setq ac-sources '(ac-source-go))
231+
;; Imenu & Speedbar
232+
(setq imenu-generic-expression
233+
'(("type" "^type *\\([^ \t\n\r\f]*\\)" 1)
234+
("func" "^func *\\(.*\\) {" 1)))
235+
(imenu-add-to-menubar "Index")
236+
;; Outline mode
237+
(make-local-variable 'outline-regexp)
238+
(setq outline-regexp "//\\.\\|//[^\r\n\f][^\r\n\f]\\|pack\\|func\\|impo\\|cons\\|var.\\|type\\|\t\t*....")
239+
(outline-minor-mode 1)
240+
(local-set-key "\M-a" 'outline-previous-visible-heading)
241+
(local-set-key "\M-e" 'outline-next-visible-heading)
242+
;; Menu bar
243+
(require 'easymenu)
244+
(defconst go-hooked-menu
245+
'("Go tools"
246+
["Go run buffer" go t]
247+
["Go reformat buffer" go-fmt-buffer t]
248+
["Go check buffer" go-fix-buffer t]))
249+
(easy-menu-define
250+
go-added-menu
251+
(current-local-map)
252+
"Go tools"
253+
go-hooked-menu)
254+
255+
;; Other
256+
(setq show-trailing-whitespace t)
257+
))
258+
;; helper function
259+
(defun go ()
260+
"run current buffer"
261+
(interactive)
262+
(compile (concat "go run " (buffer-file-name))))
263+
264+
;; helper function
265+
(defun go-fmt-buffer ()
266+
"run gofmt on current buffer"
267+
(interactive)
268+
(if buffer-read-only
269+
(progn
270+
(ding)
271+
(message "Buffer is read only"))
272+
(let ((p (line-number-at-pos))
273+
(filename (buffer-file-name))
274+
(old-max-mini-window-height max-mini-window-height))
275+
(show-all)
276+
(if (get-buffer "*Go Reformat Errors*")
277+
(progn
278+
(delete-windows-on "*Go Reformat Errors*")
279+
(kill-buffer "*Go Reformat Errors*")))
280+
(setq max-mini-window-height 1)
281+
(if (= 0 (shell-command-on-region (point-min) (point-max) "gofmt" "*Go Reformat Output*" nil "*Go Reformat Errors*" t))
282+
(progn
283+
(erase-buffer)
284+
(insert-buffer-substring "*Go Reformat Output*")
285+
(goto-char (point-min))
286+
(forward-line (1- p)))
287+
(with-current-buffer "*Go Reformat Errors*"
288+
(progn
289+
(goto-char (point-min))
290+
(while (re-search-forward "<standard input>" nil t)
291+
(replace-match filename))
292+
(goto-char (point-min))
293+
(compilation-mode))))
294+
(setq max-mini-window-height old-max-mini-window-height)
295+
(delete-windows-on "*Go Reformat Output*")
296+
(kill-buffer "*Go Reformat Output*"))))
297+
;; helper function
298+
(defun go-fix-buffer ()
299+
"run gofix on current buffer"
300+
(interactive)
301+
(show-all)
302+
(shell-command-on-region (point-min) (point-max) "go tool fix -diff"))
303+
6. Tebrikler, kurulumu tamamladınız! Speedbar öntanımlı olarak kapalı gelir, `;;(speedbar 1)` önündeki yorum satırını kaldırın, ya da `M-x speedbar` şeklinde kullanabilirsiniz.
304+
305+
## Eclipse
306+
307+
Eclipse'de çok tutulan geliştirme araçlarındandır. Size Eclipse ile nasıl Go programları yazabileceğinizi göstereceğim.
308+
309+
![](images/1.4.eclipse1.png?raw=true)
310+
311+
Şekil 1.1 Eclipse Go editörü ana ekran
312+
313+
1. [Eclipse](http://www.eclipse.org/) indirip kurun
314+
2. [goclipse](https://code.google.com/p/goclipse/) indirin
315+
[http://code.google.com/p/goclipse/wiki/InstallationInstructions](http://code.google.com/p/goclipse/wiki/InstallationInstructions)
316+
3. gocode indirin
317+
318+
Github'dan gocode.
319+
320+
https://github.com/nsf/gocode
321+
322+
Windows için git kurmalısınız, genelde biz [msysgit](https://code.google.com/p/msysgit/) kullanıyoruz
323+
324+
gocode kurun
325+
326+
go get -u github.com/nsf/gocode
327+
328+
Eğer isterseniz kaynak kodu derleyerek kendinizde kurabilirsiniz.
329+
4. [MinGW](http://sourceforge.net/projects/mingw/files/MinGW/) indirip kurun
330+
5. Ekenlentileri ayarlayın.
331+
332+
Windows->Preferences->Go
333+
334+
(1).Go derleyicisini ayarlayın
335+
336+
![](images/1.4.eclipse2.png?raw=true)
337+
338+
Şekil 1.12 Eclipse için Go ayarlamaları
339+
340+
(2).gocode ayarlayın, gocode'u gocode.exe'nin olduğu dizine ayarlayın.
341+
342+
![](images/1.4.eclipse3.png?raw=true)
343+
344+
Şekil 1.13 gocode Ayarları
345+
346+
(3). gdb ayarları , gdb'yi gdb.exe'nin olduğu dizine ayarlayın.
347+
348+
![](images/1.4.eclipse4.png?raw=true)
349+
350+
Şekil 1.14 gdb Ayarları
351+
6. Kurulumu kontrol edin
352+
353+
Yeni bir Go projesi oluşturun ve hello.go adında bir dosya açın.
354+
355+
![](images/1.4.eclipse5.png?raw=true)
356+
357+
Şekil 1.15 Yeni bir proje ve dosya
358+
359+
Aşağıdaki gibi test edin.(Eclipse'in terminalinde komutuları çalıştırmanız gerekiyor)
360+
361+
![](images/1.4.eclipse6.png?raw=true)
362+
363+
Şekil 1.16 Eclipse'de Go'yu test etme
364+
365+
## IntelliJ IDEA
366+
367+
Daha önce java ile uğraşanlar IntelliJ'yi biliyordur. Bir eklenti sayesinde Go IDE'si haline gelebiliyor.
368+
369+
1. IDEA idirin, Ultimate ve Community versiyonları arasında pek bir fark yok.
370+
371+
![](images/1.4.idea1.png?raw=true)
372+
373+
2. Go eklentisini kurun. `File - Setting - Plugins` yolunu izleyin, sonra `Browser repo`'ya tıklayın.
374+
375+
![](images/1.4.idea3.png?raw=true)
376+
377+
3. `golang`'ı aratın, `download and install`'a çift tıklatın ve indirme işleminin bitmesini bekleyin.
378+
379+
![](images/1.4.idea4.png?raw=true)
380+
381+
`Apply` tıklayıp, sonra yeniden başlatın.
382+
4. Yeni bir Go projesi oluşturun
383+
384+
![](images/1.4.idea5.png?raw=true)
385+
386+
Bir sonraki adımda Go'nun kurulu olduğu dizini verin -yani $GOROOT dizinini.
387+
388+
( ***Bu a [blog yazısında](http://wuwen.org/tips-about-using-intellij-idea-and-go/) daha ayrıntlı bilgiler bulabilirsiniz *** )
389+
390+
## Linkler
391+
392+
- [İçerik](preface.md)
393+
- Önceki bölüm: [Go komutları](01.3.md)
394+
- Sonraki bölüm: [Özet](01.5.md)

0 commit comments

Comments
 (0)