-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrss.xml
executable file
·229 lines (229 loc) · 93.3 KB
/
rss.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"> <channel>
<title>LiteIDE</title>
<link>https://visualfc.github.io</link>
<pubDate>14 Feb 23 07:59 CST</pubDate>
<item>
<title>LiteIDE X38.2 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X38.2-Released/</link>
<pubDate>2023-02-14 12:00:00 +0800</pubDate>
<description><p>LiteIDE X38.2 正式发布。</p>

<ul>
<li>更新 gotools &amp; gocode,修复泛型代码查找和代码完成。</li>
<li>重构 Go 类视图和大纲视图,支持泛型显示。</li>
<li>更新 Delve 调试插件,增加反汇编视图,修复 windows 下退出错误。</li>
</ul>

<h3>2023.02.14 Ver X38.2</h3>

<ul>
<li>LiteIDE

<ul>
<li>fix and update gotools &amp; gocode</li>
<li>refactor astview outline</li>
<li>update dlv debugger plugin</li>
</ul></li>
<li>GolangAst

<ul>
<li>new outline view by pos</li>
<li>support typeparams</li>
</ul></li>
<li>LiteDebug

<ul>
<li>add disassemble view</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>fix generics func sync</li>
<li>fix dlv process exit on windows</li>
<li>refactor gorountines model</li>
<li>support disassemble model</li>
</ul></li>
<li>LiteBuild

<ul>
<li>gosrc.xml TARGETNAME use BUILD_DIR_PATH</li>
</ul></li>
<li>GolangEdit

<ul>
<li>support any and comparable</li>
</ul></li>
<li>GolangCode

<ul>
<li>support any and comparable</li>
</ul></li>
<li>gotools

<ul>
<li>types fix find obj field</li>
<li>types fix object string</li>
<li>gotest fix run test file use -run mode</li>
<li>astview add new -outline for outline</li>
<li>astview add new -tp for typeparams</li>
<li>astview fix interface embedded type</li>
</ul></li>
<li>gocode

<ul>
<li>fix identifier comparable</li>
<li>update lookup object</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X38.1 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X38.1-Released/</link>
<pubDate>2023-01-22 12:00:00 +0800</pubDate>
<description><p>LiteIDE X38.1 正式发布,支持 Go1.18 泛型。</p>

<ul>
<li>支持 Go1.18 泛型,支持泛型/实例的代码完成,查找和重构支持。</li>
<li>改进环境变量,编辑器,代码完成和集成终端等插件。</li>
<li>支持 VS2019 和 FreeBSD/OpenBSD 编译。</li>
</ul>

<h3>2023.01.22 Ver X38.1</h3>

<ul>
<li>LiteIDE

<ul>
<li>gotools &amp; gocode support Go1.18 generics</li>
<li>support build for windows vs2019</li>
<li>support build for freebsd/openbsd</li>
<li>fix memory leak</li>
</ul></li>
<li>GolangCode

<ul>
<li>support Go1.18 generics</li>
<li>remove options and default set</li>
<li>uncheck GOPATH for set-lib</li>
</ul></li>
<li>LiteEnv

<ul>
<li>fix memory leak</li>
<li>filter go env</li>
</ul></li>
<li>LiteBuild

<ul>
<li>fix memory leak</li>
<li>fix buildconfigdialog twice accept</li>
</ul></li>
<li>LiteEditor

<ul>
<li>fix selection navigation saved</li>
<li>check backspace empty completion unpopup</li>
</ul></li>
<li>GolangEdit

<ul>
<li>update actions for GO111MODULE</li>
</ul></li>
<li>GolangPlay

<ul>
<li>load depends</li>
</ul></li>
<li>Bookmarks

<ul>
<li>fix memory leak</li>
</ul></li>
<li>Terminal

<ul>
<li>libterm fix build for vs2019</li>
<li>add option for set font</li>
<li>ptyqt use conptyprocess for vs2019</li>
<li>ptyqt fix unixptyprocess for freebsd/openbsd</li>
</ul></li>
<li>gotools

<ul>
<li>types support generics method lookup</li>
</ul></li>
<li>gocode

<ul>
<li>support generics type autocomplete</li>
<li>support incomplete dep autocomplete</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X38.0 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X38.0-Released/</link>
<pubDate>2022-05-22 12:00:00 +0800</pubDate>
<description><p>LiteIDE X38.0 正式发布,支持 Go1.18 。</p>

<ul>
<li>支持 Go1.18 引入的 go.work 工作区模式。</li>
<li>支持 Go1.18 下代码完成,代码跳转,格式化等功能。</li>
<li>完善和改进集成终端功能。</li>
<li>改进 go.mod 下 imports 行代码完成功能。</li>
<li>其他一些小的改进。</li>
</ul>

<h3>2022.05.22 Ver X38.0</h3>

<ul>
<li>LiteIDE

<ul>
<li>support Go1.18 go.work</li>
<li>support Go1.18 format/types/gocode</li>
</ul></li>
<li>LiteApp &amp; LiteEditor

<ul>
<li>add &lsquo;Detroit Future&rsquo; theme (thanks donuts-are-good)</li>
</ul></li>
<li>LiteEditor

<ul>
<li>add go.work syntax</li>
<li>add color/dart-blue.xml (thanks qAison)</li>
</ul></li>
<li>LiteBuild

<ul>
<li>only check first run action and output</li>
<li>update GoPlus config</li>
</ul></li>
<li>LiteEnv

<ul>
<li>windows env use %PROGRAMFILES%\Go</li>
</ul></li>
<li>Terminal

<ul>
<li>fix copy text containing tab in terminal</li>
<li>add context menu copy/paste/selectall</li>
</ul></li>
<li>gotools

<ul>
<li>support Go1.18 format</li>
<li>support Go1.18 types</li>
<li>support go.work</li>
</ul></li>
<li>gocode

<ul>
<li>support Go1.18 code completer</li>
<li>support go.work</li>
<li>update unsafe pkg</li>
<li>fix gomod imports completer</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X37.4 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X37.4-Released/</link>
<pubDate>2021-03-02 12:00:00 +0800</pubDate>
<description><p>LiteIDE X37.4 发布,此版本为功能修复版本。在 macOS 上删除到回收站功能改用本地 API实现;修复了查找/替换/重构时的编辑器刷新显示问题;重新规划了复制粘贴、复制路径、集成终端等功能的右键菜单显示。</p>

<h3>2021.03.02 Ver X37.4</h3>

<ul>
<li>LiteIDE

<ul>
<li>move to trash use api on macos</li>
<li>fix find&amp;replace repaint</li>
<li>update terminal action</li>
<li>add copy fullpath action</li>
</ul></li>
<li>LiteApp

<ul>
<li>editor context menu add integrated terminal action</li>
<li>folder view update integrated terminal action</li>
<li>folder view add copy full path action</li>
<li>move to trash use api on macos</li>
</ul></li>
<li>LiteFind

<ul>
<li>fix find&amp;replace editor repaint</li>
<li>fix file search replace repaint</li>
<li>windows fileserach shortcuts add ctrl+atl+f</li>
</ul></li>
<li>LiteEditor:

<ul>
<li>gomod.xml add retract</li>
</ul></li>
<li>Terminal:

<ul>
<li>move to core plugin</li>
</ul></li>
<li>DlvDebugger:

<ul>
<li>add pass flags options</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X37.3 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X37.3-Released/</link>
<pubDate>2020-10-10 12:00:00 +0800</pubDate>
<description><p>LiteIDE X37.3 正式发布,这个版本为 BUG 修复版本。更新 gotools 和 gocode 以更好支持 GOMOD,修复了 delve 退出错误,新增了 win64 mingw 编译版本下载。</p>

<h3>2020.10.10 Ver X37.3</h3>

<ul>
<li>LiteIDE

<ul>
<li>fix dlv debug exit crash on window</li>
<li>support mingw-64 build for window</li>
</ul></li>
<li>LiteApp

<ul>
<li>update icon for hight-dpi</li>
</ul></li>
<li>LiteBuild:

<ul>
<li>gosrc.xml add tool cover html command</li>
<li>gosrc.xml add make command</li>
</ul></li>
<li>LiteEditor:

<ul>
<li>add dark-gray.xml color scheme, thanks for qAison</li>
<li>fix showlink tooltip bug for Qt5.12</li>
</ul></li>
<li>GolangEdit:

<ul>
<li>add find usages skip tests action</li>
</ul></li>
<li>Terminal:

<ul>
<li>fix winpty load for Q_OS_WIN64</li>
<li>add closeall action</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>fix exit crash on window</li>
<li>fix handle response regexp</li>
</ul></li>
<li>gotools &amp; gocode

<ul>
<li>update fastmod for go1.14 GOMOD</li>
</ul></li>
<li>gotools

<ul>
<li>types add skip tests flag</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X37.1 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X37.1-Released/</link>
<pubDate>2020-04-24 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X37.1 发布,在这个版本中提供集成终端插件,初步实现内置终端功能。更新 gotools &amp; gocode 以支持 Go 1.14。</p>

<h3>2020.04.24 Ver X37.1</h3>

<ul>
<li>LiteIDE

<ul>
<li>add new integrated terminal plugin</li>
<li>change LiteApi, IToolWindowManager and IFileManager api</li>
</ul></li>
<li>Terminal:

<ul>
<li>new terminal plugin</li>
<li>export open in integrated terminal action</li>
<li>support open multiple shells (/etc/shells) on unix</li>
<li>support open cmd/powershell/git bash on window</li>
<li>support dark mode</li>
<li>support login mode --login (unix)</li>
<li>load enviroment from LiteIDE action (unix)</li>
<li>tab style multiple terminal</li>
<li>auto save / restore terminal info</li>
<li>ctrl+c key interrupt support</li>
<li>mouse to select, enter key copy to clipboard (ctrl+c/command+c)</li>
<li>ctrl+v / command+v to paste from clipboard</li>
</ul></li>
<li>LiteApp

<ul>
<li>folder add open integrated terminal action</li>
<li>update hide tool window action icon.</li>
<li>folder view enable create folder in files</li>
<li>fix SideWindowStyle::moveToolWindow crash</li>
<li>fix #1106, options widget add ScrollArea, enable resize, init check screen size</li>
</ul></li>
<li>LiteEditor

<ul>
<li>change copy/paste/cut/selectall/undo/redo unregister shortcut for macos</li>
</ul></li>
<li>FileBorwser:

<ul>
<li>add open integrated terminal action</li>
<li>enable create folder in files</li>
<li>simple, remove litefind/terminal depends</li>
</ul></li>
<li>LiteFind

<ul>
<li>SearchResultWidget add expandAll and collapseAll button</li>
</ul></li>
<li>GolangEdit

<ul>
<li>fix fold by GO_ELSE</li>
</ul></li>
<li>gotools &amp; gocode

<ul>
<li>fix &amp; update for Go 1.14</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X36.3 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X36.3-Released/</link>
<pubDate>2020-01-15 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X36.3 发布,新版本修复错误,重构了配置系统,更新 gotools &amp; gocode 以更好地支持 Go Module 功能。。</p>

<h3>2020.01.15 Ver X36.3</h3>

<ul>
<li>LiteIDE

<ul>
<li>fix and update gotools&amp;gocode for support Go Module.</li>
<li>refactor option, update all plugin option page</li>
</ul></li>
<li>LiteApp

<ul>
<li>refactor option page, load/save and keep option page.</li>
</ul></li>
<li>LiteEditor

<ul>
<li>fix code complete escape for Qt5.12</li>
</ul></li>
<li>Markdown

<ul>
<li>add CommonMark/cmark for markdown to html, replace sundown</li>
</ul></li>
<li>GolangPackage

<ul>
<li>add GOPRIVATE,GONOPROXY,GONOSUMDB option</li>
<li>add goproxy.cn for GOPROXY list</li>
<li>merge GOPATH/GoModule setup to global options.</li>
</ul></li>
<li>LiteBuild

<ul>
<li>add <code>go mod vendor</code> action</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>update stack frame to RPC api</li>
</ul></li>
<li>gotools &amp; gocode

<ul>
<li>fix fastmod match full version, example <code>github.com/mypkg/v2</code></li>
<li>types check add basic type</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X36.2 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X36.2-Released/</link>
<pubDate>2019-10-30 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X36.2 发布,新版本修复错误,目录管理支持多项复制和粘贴功能,文件删除更改为删除到回收站,新增了图像查看插件。</p>

<h3>2019.10.30 Ver X36.2</h3>

<ul>
<li>LiteIDE

<ul>
<li>add new image viewer plugin</li>
<li>folder view support multi copy &amp; paste</li>
<li>folder view support move to trash</li>
<li>fix gocode crash</li>
<li>update uk (Ukrainian) translation, thanks for cl0ne</li>
</ul></li>
<li>LiteApp

<ul>
<li>fix floating dock widet style</li>
<li>add dock widget floating toolbar</li>
<li>folder view support multi copy and paste</li>
<li>folder view support move to trash action</li>
</ul></li>
<li>ImageEditor

<ul>
<li>add new image viewer plugin</li>
<li>support image viewer and gif video play</li>
</ul></li>
<li>GolangEdit

<ul>
<li>support go1.13 number literal syntax highlight</li>
</ul></li>
<li>gotools &amp; gocode

<ul>
<li>fix bad parser crash</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X36.1 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X36.1-Released/</link>
<pubDate>2019-08-28 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X36.1 发布,在目录管理窗口中加入了文件复制/粘贴功能,修复了以 _ 开始符号查找错误,更新了 gotools &amp; gocode。</p>

<h3>2019.08.28 Ver X36.1</h3>

<ul>
<li><p>LiteIDE</p>

<ul>
<li>folder view support copy and paste</li>
<li>fix find usages and declinfo for _ start symbol
<br /></li>
</ul></li>

<li><p>LiteApp</p>

<ul>
<li>multi folder view support copy and parse</li>
<li>tool window support floating window action</li>
</ul></li>

<li><p>LiteEditor</p>

<ul>
<li>cached text layout, optimization long line paint</li>
<li>check and disable document too long line (4096) syntax.</li>
</ul></li>

<li><p>GolangEdit</p>

<ul>
<li>fix findusage and declinfo for _ start symbol</li>
</ul></li>

<li><p>GolangPackage</p>

<ul>
<li>add custom GOPROXY setup</li>
<li>update GO111MODULE env reload check</li>
</ul></li>

<li><p>GolangDoc</p>

<ul>
<li>remove godoc command, use gotools godoc</li>
</ul></li>

<li><p>FileBorwser</p>

<ul>
<li>folder view support copy and paste</li>
</ul></li>

<li><p>Others</p>

<ul>
<li>linux env add x-terminal-emulator</li>
<li>update Russian translation, thanks Sergey Belyashov</li>
</ul></li>

<li><p>gotools &amp; gocode</p>

<ul>
<li>fix mod priority vendor check</li>
</ul></li>

<li><p>gotools</p>

<ul>
<li>godoc add go doc -all flags</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>ATK - Another Golang Tcl/Tk binding GUI ToolKit</title>
<link>https://visualfc.github.io/blog/ATK---Another-Golang-Tcl%2FTk-binding-GUI-ToolKit/</link>
<pubDate>2019-03-15 12:00:00 +0800</pubDate>
<description><h1>atk</h1>

<p>Another Golang Tcl/Tk binding GUI ToolKit</p>

<pre><code>go get github.com/visualfc/atk
</code></pre>

<h3>Install Tcl/Tk</h3>

<p><a href="http://www.tcl-lang.org">http://www.tcl-lang.org</a></p>

<ul>
<li><p>MacOS X, Windows</p>

<p><a href="https://www.activestate.com/activetcl/downloads">https://www.activestate.com/activetcl/downloads</a></p></li>

<li><p>Ubuntu</p>

<p>$ sudo apt install tk-dev</p></li>

<li><p>CentOS</p>

<p>$ sudo yum install tk-devel</p></li>
</ul>

<h3>Demo</h3>

<p><a href="https://github.com/visualfc/atk_demo">https://github.com/visualfc/atk_demo</a></p>

<h3>Sample</h3>

<pre><code class="language-go">package main

import (
	&quot;github.com/visualfc/atk/tk&quot;
)

type Window struct {
	*tk.Window
}

func NewWindow() *Window {
	mw := &amp;Window{tk.RootWindow()}
	lbl := tk.NewLabel(mw, &quot;Hello ATK&quot;)
	btn := tk.NewButton(mw, &quot;Quit&quot;)
	btn.OnCommand(func() {
		tk.Quit()
	})
	tk.NewVPackLayout(mw).AddWidgets(lbl, tk.NewLayoutSpacer(mw, 0, true), btn)
	mw.ResizeN(300, 200)
	return mw
}

func main() {
	tk.MainLoop(func() {
		mw := NewWindow()
		mw.SetTitle(&quot;ATK Sample&quot;)
		mw.Center()
		mw.ShowNormal()
	})
}
</code></pre>
</description>
</item>
<item>
<title>LiteIDE X36 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X36-Released/</link>
<pubDate>2019-03-15 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X36 发布,新增了编辑器路径导航工具栏,重构了 QuickOpen 插件,优化了快速打开文件和目录功能。</p>

<h3>2019.03.15 Ver X36</h3>

<ul>
<li>LiteIDE

<ul>
<li>add new editor path navigation toolbar</li>
</ul></li>
<li>QuickOpen

<ul>
<li>quickopenfile filter text length less than 3 use editor files, otherwise search in folder files.</li>
<li>add new quickfilesystem filter</li>
</ul></li>
<li>GolangEdit

<ul>
<li>use new quickfilesystem for import jump</li>
</ul></li>
<li>LiteEditor

<ul>
<li>add new path navigation toolbar (use quickfilesystem)</li>
</ul></li>
<li>GolangCode

<ul>
<li>fix number+dot issues completer</li>
</ul></li>
<li>FileUtil

<ul>
<li>show in Finder fast on macOS</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X35.5 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X35.5-Released/</link>
<pubDate>2019-02-05 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X35.5 发布,BUG 修复版本,
修复了 Golang 代码查找重构时对同一行存在多项内容的替换功能,
修复了对中文变量的查找重构功能。</p>

<h3>2019.02.05 Ver X35.5</h3>

<ul>
<li>LiteIDE

<ul>
<li>bug fix version</li>
</ul></li>
<li>GolangEdit

<ul>
<li>fix cursor selections usages lookup</li>
<li>add byteOffsetToColumn to fix gotools/guru output byte offset to editor offset</li>
</ul></li>
<li>LiteEditor

<ul>
<li>add allow vertical scrolling to the last line option</li>
<li>check file writed size != data.size and show error message</li>
</ul></li>
<li>LiteFind

<ul>
<li>update search result item text for all same linenumber</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X35.4 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X35.4-Released/</link>
<pubDate>2019-01-30 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X35.4 发布,新版本增强了代码导航和代码完成功能,在源代码存在错误情况下也可利用文本信息实现部分导航功能。增强了 Golang 导入行的代码完成功能,支持模糊完成,对于 Go Module 项目,显示 go.mod 依赖包以及项目本地包的 import path,对于 GOPATH 项目,使用源码分析显示所有包的 import path。</p>

<h3>2019.01.30 Ver X35.4</h3>

<ul>
<li>LiteIDE

<ul>
<li>source code navigation can be used in wrong source code</li>
<li>imports completer support gomod depends and local imports for gomod project</li>
<li>imports completer support lookup all imports by source for GOPATH project</li>
</ul></li>
<li>LiteApp

<ul>
<li>fix vs-dark.qss menu icon bug for windows10</li>
</ul></li>
<li>LiteEditor

<ul>
<li>fuzzy golang imports completer</li>
<li>fix complter imports offset</li>
<li>fix enter auto insert tab or space check by previous line</li>
</ul></li>
<li>GolangCode

<ul>
<li>fix receive imports line process</li>
</ul></li>

<li><p>GolangEdit</p>

<ul>
<li>support lookup types info wrong source code</li>
<li>add jump to declaration toolbar</li>
<li>fix jump to declaration save history</li>
</ul></li>

<li><p>gotools &amp; gocode</p>

<ul>
<li>source code navigation can be used in wrong source code</li>
<li>lookup gomod depends and local imports for gomod project</li>
<li>lookup all imports from source for GOPATH project</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X35.3 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X35.3-Released/</link>
<pubDate>2018-12-22 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X35.3 发布,新版本对 gotools/gocode 进行更新和修复,改进编辑器体验、优化文件查找功能。</p>

<h3>2018.12.22 Ver X35.3</h3>

<ul>
<li>LiteIDE

<ul>
<li>optimization gotools &amp; gocode, update editor and find plugin.</li>
</ul></li>
<li>LiteApp

<ul>
<li>fix liteoutput antialias setup invalid</li>
</ul></li>
<li>LiteEditor

<ul>
<li>enable vertical scrollbar move last block to top viewport</li>
<li>add the cut current line operator for cut action if not selected</li>
<li>add convert tab/spaces action</li>
<li>add tabtospace/tabwidth set by litapp/mimetype/liteeditor.xml or options</li>
<li>update line wrap mode for mimetype</li>
<li>update tabtospace mode for mimetype</li>
</ul></li>
<li>LiteFind

<ul>
<li>file search check and skip binary file</li>
<li>add folders/filesystem context menu file search action</li>
</ul></li>
<li>GolangEdit, GolangCode, LiteBuild

<ul>
<li>fix process start with cmd contains space on macOS</li>
</ul></li>

<li><p>GolangDoc</p>

<ul>
<li>support check go1.12 godoc remove -html, use text mode</li>
</ul></li>

<li><p>gotools &amp; gocode</p>

<ul>
<li>fix lookup named method embedded</li>
<li>optimization, check save/load pkgconfig</li>
<li>add godoc command for check go1.12 use text mode</li>
</ul></li>

<li><p>gocode</p>

<ul>
<li>fixed global var completion</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X35.2 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X35.2-Released/</link>
<pubDate>2018-11-12 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X35.2 发布,新版本修复了代码跳转错误,对编辑器、书签、文档等功能进一步优化。</p>

<h3>2018.11.12 Ver X35.2</h3>

<ul>
<li>LiteIDE

<ul>
<li>fixed types info jump position</li>
<li>optimization types info lookup cache</li>
</ul></li>
<li>LiteEditor

<ul>
<li>single line comment set after white spaces and add space</li>
<li>go.mod editor support comment action</li>
<li>color scheme support MatchBrackets background, default gray #808080</li>
</ul></li>
<li>Bookmarks

<ul>
<li>sort bookmark model by name/line, add context menu goto/remove/removeThisFile/removeAllFiles action</li>
</ul></li>
<li>GolangDoc

<ul>
<li>fix mod package godoc import path view</li>
</ul></li>
<li>GolangEdit

<ul>
<li>fix lookup types info by gocode cache</li>
</ul></li>
<li>gotools &amp; gocode

<ul>
<li>fixed types jump info position</li>
<li>optimization types info lookup cache</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X35 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X35-Released/</link>
<pubDate>2018-10-24 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X35 发布,新版本使用缓存加速了源码信息显示和跳转功能,修复了 Delve 插件调试 BUG,提供了对 Go modules 机制的完全支持。</p>

<h3>2018.10.24 Ver X35</h3>

<ul>
<li>LiteIDE

<ul>
<li>all support Go1.11 Go modules</li>
<li>fast lookup types info by cache</li>
<li>fix delve debug recurse set blocking</li>
</ul></li>
<li>LiteApp

<ul>
<li>side window style enable move tool window to any left/right/bottom side.</li>
<li>side window style output bar shortcut change to command+meta+number (macos) or ctrl+shift+number</li>
</ul></li>
<li>GolangEdit

<ul>
<li>fast lookup types info by gocode cache</li>
<li>find all usages support Go modules work dir</li>
<li>refactor symbol support Go module work dir</li>
</ul></li>
<li>GolangAst

<ul>
<li>support import path gopath/vendor/modules doc view</li>
</ul></li>
<li>LiteDebug

<ul>
<li>add automatically add breakpoint main.main when debugging option (default disable)</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>fix dlv list variables blocking, change LoadConfig recurse to 3</li>
</ul></li>

<li><p>LiteBuild</p>

<ul>
<li>update gosrc.xml for support custom target workdir</li>
</ul></li>

<li><p>gotools &amp; gocode</p>

<ul>
<li>import <a href="https://github/visualfc/fastmod">https://github/visualfc/fastmod</a> for fast parse go.mod depends</li>
<li>fast parse Go modules and fix issues <a href="https://github.com/visualfc/liteide/issues/986">https://github.com/visualfc/liteide/issues/986</a></li>
</ul></li>

<li><p>gotools</p>

<ul>
<li>find all usages support Go module work dir</li>
</ul></li>

<li><p>gotools</p>

<ul>
<li>fast completer for Go module project</li>
<li>provide types info for liteide by cache</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>Golang fast module parser</title>
<link>https://visualfc.github.io/blog/Golang-fast-module-parser/</link>
<pubDate>2018-10-12 12:00:00 +0800</pubDate>
<description><h3>LiteIDE and Go1.11 modules</h3>

<p>Go1.11 modules 出来后,LiteIDE 的 gotools &amp; gocode 作了相应的支持处理。
Go 为了支持 Go modules, 实现了 <code>golang.org/x/tools/go/packages</code> 包(内部使用 <code>go list -json -deps</code> 实现),
而 LiteIDE 使用的 gotools/types 没有使用这个包,内部使用 <code>go list -m -json all</code> 实现对 Go modules 的解析。
使用 <code>go list -e -json pkgname</code> 对 deps 包进行解析.</p>

<h3>issues</h3>

<p>在 LiteIDE X34.2 发布后,gohugoio/hugo 作者提出问题 <a href="https://github.com/visualfc/liteide/issues/986,">https://github.com/visualfc/liteide/issues/986,</a>
即 LiteIDE 对于类似 gohugoio/hugo 这种有上百个包依赖的 Go modules 项目解析过于缓慢。</p>

<h3>fastmod</h3>

<p>为了解决这个问题,对 Go1.11 的 cmd/go 命令进行测试研究,从代码出提取 module 文件分析部分,以只读方式对项目的 go.mod
文件进行读取分析,以加速解析过程。最终实现项目为 <a href="https://github.com/visualfc/fastmod">https://github.com/visualfc/fastmod</a> 提供了 go.mod 解析,
目前为了兼容考虑 go.mod 文件由命令 <code>go env GOMOD</code> 提供路径。</p>

<p>使用方法如下:</p>

<pre><code>modList := fastmod.NewModuleList(&amp;build.Default)
mod, err := modList.LoadModule(dir)
if err != nil {
 return
}
path, dir := mod.Lookup(pkg)
</code></pre>

<p>利用这个新实现的 fastmod,gotools &amp; gocode 实现了对 gohugoio/hugo 项目的快速分析, 解决了这个 issues 。</p>

<h3>更新 gotools &amp; gocode</h3>

<p>通过以下命令可以更新 LiteIDE 的 gotools &amp; gocode</p>

<pre><code>go get -u github.com/visualfc/gotools
go get -u github.com/visualfc/gocode

Windows/Linux: copy GOPATH/bin gotools and gocode to liteide/bin
MacOS: copy GOPATH/bin gotools and gocode to LiteIDE.app/Contents/MacOS
</code></pre>
</description>
</item>
<item>
<title>LiteIDE X34.3 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X34.3-Released/</link>
<pubDate>2018-10-05 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X34.3 发布, 新版本修复 BUG ,更好的支持 Go1.11 modules。</p>

<h3>2018.10.05 Ver X34.3</h3>

<ul>
<li>LiteIDE

<ul>
<li>fix support go1.11 modules</li>
</ul></li>
<li>GolangEdit

<ul>
<li>fix jump import line</li>
<li>fix find usages for import line</li>
</ul></li>
<li>LiteEditor

<ul>
<li>fix gocode completer item kind update</li>
</ul></li>
<li>GolangCode

<ul>
<li>enviroment changed to reset gocode</li>
</ul></li>
<li>gotools &amp; gocode

<ul>
<li>types: fix module-based project with several subpackages <a href="https://github.com/visualfc/liteide/issues/977">https://github.com/visualfc/liteide/issues/977</a></li>
<li>types: fix redeclared file parser cursor first</li>
<li>types: fix source file update check in stdin</li>
<li>types: fix x test files check</li>
<li>gomod: fix lookup module for go list</li>
</ul></li>
<li>gocode

<ul>
<li>fix gocode crash <a href="https://github.com/visualfc/liteide/issues/978">https://github.com/visualfc/liteide/issues/978</a></li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X34.2 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X34.2-Released/</link>
<pubDate>2018-09-15 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X34.2 发布, 新版本对 X34.1 进行修复和更新,以更好的支持 Go1.11 modules。</p>

<h3>2018.09.15 Ver X34.2</h3>

<ul>
<li>LiteIDE

<ul>
<li>fix gotools &amp; gocode support go1.11 modules sub folder</li>
<li>support custom GO111MODULE setup</li>
</ul></li>
<li>LiteApp

<ul>
<li>fix #939 display right margin at column wrong</li>
<li>change mime type check fullname first</li>
</ul></li>
<li>GolangCode

<ul>
<li>fix #970 goplay editor cgo crash</li>
</ul></li>
<li>GolangEdit

<ul>
<li>find usages / rename symbol add skip GOROOT actions</li>
</ul></li>
<li>GolangPackage

<ul>
<li>add custom GO111MODULE setup</li>
</ul></li>
<li>LiteEditor

<ul>
<li>add extra mouse navagite go back and forward</li>
<li>add gomod.xml for go.mod syntax</li>
</ul></li>
<li>LiteBuild

<ul>
<li>add gomod.xml for go.mod build command</li>
</ul></li>
<li>gotools &amp; gocode

<ul>
<li>fix go1.11 modules sub folder</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X34.1 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X34.1-Released/</link>
<pubDate>2018-08-12 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X34.1 发布, 新版本更新了 gocode ,通过源码分析支持 Go1.11 modules 和 vendor 机制。</p>

<h3>2018.08.12 Ver X34.1</h3>

<ul>
<li>LiteIDE

<ul>
<li>update gotools support go1.11 modules</li>
<li>update gocode support go1.11 modules and vendor</li>
</ul></li>
<li>LiteEditor

<ul>
<li>enable open binary file for editor</li>
<li>change widget readonly by binary file (ignore text file)</li>
</ul></li>
<li>gocode

<ul>
<li>change parser by source use gotools/types</li>
<li>fix parser vendor &amp; modules</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X34 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X34-Released/</link>
<pubDate>2018-07-26 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X34 发布, 新版本支持 go1.11beta2 的 Go modules 机制。
更新了 gotools 和 gocode (github.com/visualfc/gocode) 以支持 Go modules 机制。</p>

<h3>2018.07.26 Ver X34</h3>

<ul>
<li>LiteIDE

<ul>
<li>update gotools support go1.11 modules</li>
<li>update gocode for <a href="https://github.com/visualfc/gocode">https://github.com/visualfc/gocode</a> support go1.11 modules</li>
</ul></li>
<li>LiteApp

<ul>
<li>refactor folder model code, remove depends</li>
<li>fix dock widget for Qt5.9.6 bug</li>
<li>move view godoc from folderview to litebuild</li>
</ul></li>
<li>LiteBuild

<ul>
<li>update BUILDARGS, remove -i for go1.11 build</li>
</ul></li>
<li>GolangCode

<ul>
<li>change to github.com/visualfc/gocode for support go1.11 modules</li>
</ul></li>
<li>GolangDoc

<ul>
<li>pdoc support real ImportPath display for Go modules or vendor</li>
<li>fix docs.html $.GoogleCN code</li>
</ul></li>
<li>GolangEdit

<ul>
<li>support go1.11 modules, view info / jump / find usages</li>
<li>support parser import path for Go modules or vendor for godoc view</li>
</ul></li>
<li>GolangPackage

<ul>
<li>add pkg/mod tree for Go modules</li>
</ul></li>
<li>QuickOpen

<ul>
<li>fix view pos for editor manager</li>
<li>support open file with fullpath on editor input</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>fix continue</li>
</ul></li>
<li>gotools

<ul>
<li>types support go1.11 modules</li>
<li>add pkgcheck support modules or vendor check</li>
</ul></li>
<li>gocode

<ul>
<li>clone <a href="https://github.com/nsf/gocode">https://github.com/nsf/gocode</a> support go1.11 modules</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X33.4 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X33.4-Released/</link>
<pubDate>2018-07-04 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X33.4 发布, 新版本代码完成使用 mdempsky/gocode 以支持 go1.11beta1 。
增强了 DlvDebugger 插件功能 ( variable, watch, threads, goroutines, registers),以支持 Delve 调试时的更多信息显示。</p>

<h3>2018.07.04 Ver X33.4</h3>

<ul>
<li>LiteIDE

<ul>
<li>update gocode for mdempsky/gocode support go1.11</li>
<li>update DlvDebugger plugin for Delve detail information</li>
</ul></li>
<li>LiteDebug

<ul>
<li>add threads/goroutines/registers view</li>
<li>watch view support double clicked change and update</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>add dlv rcp-mode for get more info</li>
<li>variable and watch support detail information</li>
<li>watch support local/package variable</li>
<li>support threads/gorountines/registers model</li>
</ul></li>
<li>GolangCode

<ul>
<li>support <a href="https://github.com/mdempsky/gocode">https://github.com/mdempsky/gocode</a></li>
</ul></li>
<li>QuickOpen

<ul>
<li>add dly filter editor for optimize many files search</li>
<li>fix quick open symbol action</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X33.3 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X33.3-Released/</link>
<pubDate>2018-04-23 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X33.3 发布, 新版本支持导入行的包文件列表跳转,代码完成支持 GOPATH / vendor 包列表提示。重构了调试行为,Go 代码 Debug/DebugTest 移入编译菜单中,编译调试版本时可根据当前 Go 版本自动选择适应的 gcflags 编译设置,以更好的支持 Go1.10。</p>

<h3>2018.04.23 Ver X33.3</h3>

<ul>
<li>LiteIDE

<ul>
<li>support import jump to package source file</li>
<li>support import hints for all package on code completer</li>
<li>add build &amp; debug action to build menu</li>
<li>fix build debug gcflags for go version</li>
</ul></li>
<li>LiteApp

<ul>
<li>fix tab style sheet for Qt5.9 on macOS</li>
<li>project wizard add gocmdex/gopkgex for anywhere</li>
</ul></li>
<li>LiteBuild

<ul>
<li>build config file add debug support</li>
<li>golang build add debug/debugtest action</li>
<li>fix golang build debug gcflags depends for go version</li>
</ul></li>
<li>LiteDebug

<ul>
<li>filesystem add debug file action</li>
<li>remove internal golang build function</li>
</ul></li>
<li>LiteEditor

<ul>
<li>reimplemented backspace quotes audo insert/remove action</li>
</ul></li>
<li>GolangCode

<ul>
<li>parser import package for GOPATH</li>
<li>fix vendor import for code completer</li>
<li>add import hints for all package option (default)</li>
<li>add parser cgo completer list on editor</li>
</ul></li>
<li>GolangEdit

<ul>
<li>fix import line navigate show link source</li>
<li>add import line jump to package file list</li>
</ul></li>
<li>QuickOpen

<ul>
<li>add quickopenfolder implement</li>
</ul></li>
<li>gotools

<ul>
<li>add new debugflag action for print debug gcflags for go version</li>
<li>types find import dir check vendor</li>
<li>types add import info and doc</li>
<li>fix astview pkg nil check
<br /></li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X33.2 Instructions and thanks</title>
<link>https://visualfc.github.io/blog/LiteIDE-X33.2-Instructions-and-thanks/</link>
<pubDate>2018-03-06 12:00:00 +0800</pubDate>
<description><p>LiteIDE X33.2 在 2.14 日正式发布。但直到昨天所有版本 macOS / Linux / Windows 才上传完毕,在此记录说明,并对大家一直以来的关心和帮助表示感谢。</p>

<p><strong>macOS</strong> LiteIDE 的日常开发一直是使用老大赠送的 macbook air 进行,而各个平台上的编译测试和发布则在台式机上完成。由于年前离职的原因没有了原来的台式电脑,现在 LiteIDE 的发布编译工作也放在 macbook air 上进行了。因此最初的时候 LiteIDE x33.2 只有 macOS 版本发布。</p>

<p><strong>Linux</strong> 年后通过在 macOS 上使用 VirtualBox 安装了 Ubuntu 16.04 的 64位和 32位版本,编译了 LiteIDE X33 的 linux 版本并上传。</p>

<p><strong>Windows</strong> 由于受 macbook 空间和资源所限,无法在 VBOX 虚拟机中安装和运行 win7 64 系统, 所以只能安装了 Window XP 和 Qt4, 编译了 LiteIDE Qt4 for Windows 版本上传,未能完成 Qt5 版本编译。一直到昨天,在网友的启发下,测试了官方的 Qt5.6.2 可以在 Windows XP 上安装,终于完成 LiteIDE Qt5 for Windows 版本的编译上传。</p>

<p><strong>Thanks</strong> LiteIDE 从 2011 年开始开发公布,到目前已经开发了八年时间,发布过 70 多个版本,版本号目前达到 X33,期间很多人都给予了帮助,感谢所有曾经帮助过我的人。</p>

<p><strong>Last</strong> 最后附上 LiteIDE 的捐赠列表,感谢所有我认识和不认识的人。
<a href="http://visualfc.github.io/support/">http://visualfc.github.io/support/</a></p>

<h3>2018.02.14 Ver X33.2</h3>

<ul>
<li>LiteIDE

<ul>
<li>add folder tool window split mode swith</li>
<li>add archlinux makepkg</li>
<li>add tcl syntax and build</li>
</ul></li>
<li>LiteEditor

<ul>
<li>support function color, thanks <a href="https://github.com/discoverfly">discoverfly</a></li>
<li>add default-func color theme</li>
<li>add style for scroll bars in sublime.qss, thanks <a href="https://github.com/hauke96">hauke96</a></li>
<li>add marks for selections and findings, thanks <a href="https://github.com/jinq0123">jinq0123</a></li>
</ul></li>
<li>LiteFind

<ul>
<li>fix editor regexp replace</li>
</ul></li>
<li>LiteBuild

<ul>
<li>add context menu go tool action</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X33.2 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X33.2-Released/</link>
<pubDate>2018-02-14 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X33.2 发布, 仅以此版本献给我曾经的岁月。</p>

<p><strong>三十功名尘与土,八千里路云和月。</strong></p>

<h3>2018.02.14 Ver X33.2</h3>

<ul>
<li>LiteIDE

<ul>
<li>add folder tool window split mode swith</li>
<li>add archlinux makepkg</li>
<li>add tcl syntax and build</li>
</ul></li>
<li>LiteEditor

<ul>
<li>support function color, thanks <a href="https://github.com/discoverfly">discoverfly</a></li>
<li>add default-func color theme</li>
<li>add style for scroll bars in sublime.qss, thanks <a href="https://github.com/hauke96">hauke96</a></li>
<li>add marks for selections and findings, thanks <a href="https://github.com/jinq0123">jinq0123</a></li>
</ul></li>
<li>LiteFind

<ul>
<li>fix editor regexp replace</li>
</ul></li>
<li>LiteBuild

<ul>
<li>add context menu go tool action</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>解决升级 xcode 后 Qt5.6.3 不能编译的问题</title>
<link>https://visualfc.github.io/blog/%E8%A7%A3%E5%86%B3%E5%8D%87%E7%BA%A7-xcode-%E5%90%8E-Qt5.6.3-%E4%B8%8D%E8%83%BD%E7%BC%96%E8%AF%91%E7%9A%84%E9%97%AE%E9%A2%98/</link>
<pubDate>2017-12-15 12:00:00 +0800</pubDate>
<description><!-- ## 解决升级 xcode 后 Qt5.6.3 不能编译的问题 -->

<p>升级 xcode 后,Qt5.6.3 不能编译,提示类似下列错误</p>

<pre><code>clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk' [-Wmissing-sysroot]

In file included from /Users/user/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Headers/QObject:1:
In file included from /Users/user/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Headers/qobject.h:40:
In file included from /Users/user/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Headers/qobjectdefs.h:41:
In file included from /Users/user/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Headers/qnamespace.h:37:
In file included from /Users/user/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Headers/qglobal.h:75:
/Users/user/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Headers/qsystemdetection.h:197:12: fatal error: 'TargetConditionals.h' file not found
# include &lt;TargetConditionals.h&gt;
 ^~~~~~~~~~~~~~~~~~~~~~
1 error generated.
</code></pre>

<p>解决方法</p>

<pre><code>$cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
$sudo ln -s MacOSX.sdk MacOSX10.12.sdk
</code></pre>
</description>
</item>
<item>
<title>LiteIDE X33.1 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X33.1-Released/</link>
<pubDate>2017-12-12 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X33.1 正式发布。
新版本对菜单进行调整和规范,新增了工具菜单,编辑菜单保持可见,重命名了部分工具窗口。
修复了编辑器内查找功能的全文替换错误,
对快速打开文件操作 ( ctrl+p / command+p ) 改用线程方式重新实现,新增了快速打开命令功能 ( ctrl+shift+p / command+shift+p ),集成了 <a href="https://github.com/fatih/gomodifytags">gomodifytags</a> 并提供GUI界面实现对结构体 Tags 的快速增删功能。</p>

<p>LiteIDE X33.1 使用 go1.10beta1 编译, 支持 Go1.9 / Go1.10beta1 或者更低的 Go 版本。</p>

<h3>2017.12.12 Ver X33.1</h3>

<ul>
<li>LiteIDE

<ul>
<li>support quick open command</li>
<li>support gomodifytags</li>
<li>fix libpng warning on qt5 build</li>
</ul></li>
<li>LiteApp

<ul>
<li>add tools menu for quick open actions</li>
<li>standard and rename tool window title</li>
<li>enable edit menu anytime, fix edit menu disable on editor lost focus.</li>
<li>fix editor load large file bad_alloc recover</li>
</ul></li>
<li>LiteEnv

<ul>
<li>add select env to tools menu<br /></li>
</ul></li>
<li>LiteEditor

<ul>
<li>check and not open large file</li>
<li>fix edit hide edit sub menu &lsquo;setup&rsquo; on macos</li>
</ul></li>
<li>LiteFind

<ul>
<li>fix find editor replace all wrap around* GolangEdit</li>
<li>Integrated <a href="https://github.com/fatih/gomodifytags">gomodifytags</a> and gui tools support gomodifytags all options</li>
</ul></li>
<li>QuickOpen

<ul>
<li>add quick open command action (ctrl+shift+p/command+shift+p)</li>
<li>quickopenfiles use thread for fast and cancel</li>
<li>fix quickopenfile cancel loading for esc or liteapp quit</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>支持 Quick Open Command</title>
<link>https://visualfc.github.io/blog/%E6%94%AF%E6%8C%81-Quick-Open-Command/</link>
<pubDate>2017-12-04 12:00:00 +0800</pubDate>
<description><!-- ## 实现 Quick Open Command -->

<p>Sublime 和 VSCode 都有命令面板功能,方便快速调用命令。
LiteIDE 在 2016年7月发布的 X30 版本开始实现了 QuickOpen 插件,
目前支持 文件/编辑器/符号/行号 的快速跳转,但未实现菜单命令的快速跳转功能。</p>

<p>在最新的开发版本中,LiteIDE 加入了菜单命令的快速跳转功能 - Quick Open Command,
快捷键为 Ctrl+Shift+P / Command+Shift+P (macos)。</p>

<p>如下图显示,显示当前文件可用的菜单命令。
<img src="/assets/media/2017-12-04-quickopen-command/quickopencommand.png" alt="" width="600"></p>

<p>菜单与命令之间没有使用:分隔,而是用.来分隔,这样方便输入筛选。
<img src="/assets/media/2017-12-04-quickopen-command/quickopencommand-filter.png" alt="" width="600"></p>

<p>回车将直接执行选中的命令。</p>

<h3>实现 Quick Open Command 功能</h3>

<p>LiteIDE 的 QuickOpen 接口 API 位于 <a href="https://github.com/visualfc/liteide/blob/master/liteidex/src/api/quickopenapi/quickopenapi.h">liteidex/src/api/quickopenapi/quickopenapi.h</a> 文件中。</p>

<p>接口如下</p>

<pre><code>class IQuickOpen : public QObject
{
 Q_OBJECT
public:
 IQuickOpen(QObject *parent = 0) : QObject(parent) {}
 virtual QString id() const = 0;
 virtual QString info() const = 0;
 virtual void activate() = 0;
 virtual QAbstractItemModel *model() const = 0;
 virtual void updateModel() = 0;
 virtual QModelIndex filterChanged(const QString &amp;text) = 0;
 virtual void indexChanged(const QModelIndex &amp;index) = 0;
 virtual bool selected(const QString &amp;text, const QModelIndex &amp;index) = 0;
 virtual void cancel() = 0;
};
</code></pre>

<p>其中 updateModel 函数负责更新数据,实现流程一下:</p>

<h4>获取当前所有菜单 ID 列表</h4>

<pre><code>LiteApi::IActionManager *manager = m_liteApp-&gt;actionManager();
QStringList menuIdList = manager-&gt;menuList();
(&quot;menu/build&quot;, &quot;menu/debug&quot;, &quot;menu/edit&quot;, &quot;menu/file&quot;, &quot;menu/find&quot;, &quot;menu/help&quot;, &quot;menu/recent&quot;, &quot;menu/view&quot;)
</code></pre>

<h4>获取菜单的 Aciton 列表</h4>

<p>根据 id 取得 QMenu</p>

<pre><code>QMenu *menu = manager-&gt;loadMenu(idMenu);
</code></pre>

<p>注意,因为 Edit / Build 菜单都是动态加载的,直接使用 menu-&gt;action()是无法获得完整列表的。
可以通过以下代码获取。</p>

<pre><code>QAction *menuAct = menu-&gt;menuAction();
QMenu *realMenu = menuAct-&gt;menu();
QList&lt;QAction*&gt; actionList = realMenu-&gt;actions();
</code></pre>

<h4>获取 Action 的 id, text, shortcut</h4>

<p>在写 QuickOpenCommand 之前,大部分 QAction 是无法获取 id 的,但因为 LiteIDE 中的 Action 通过</p>

<p>IActionManager 注册以支持 自定义快捷键功能,所以在通过 IActionContext::regAction 函数注册 Aciton 时的 id/shortcut 时加入 act-&gt;setData(id) 将 Aciton 注册用 id 保存下来,这样就可以通过 act-&gt;data() 可以获取到 id, act-&gt;text() 获取翻译后的文本,act-&gt;shortcut() 获取 快捷键。</p>

<p>将获取的 id,text,shortcut 加入列表中即可。</p>

<h4>注册</h4>

<p>通过 IQuickOpenManager::addFilter(const QString &amp;sym, IQuickOpen *filter) 函数可以注册 QuickOpen,QuickOpenCommand 的 sym 选用的是 &gt; ,在 view 菜单中加入相应 Action,快捷键是 Ctrl+Shift+P / Command+Shift+P 。</p>

<h4>实现代码</h4>

<p>实现代码位于 <a href="https://github.com/visualfc/liteide/tree/master/liteidex/src/plugins/quickopen">liteidex/src/plugins/quickopen</a>
目录下 quickopenation.h 和 quickopenaction.cpp 文件中。</p>
</description>
</item>
<item>
<title>支持 gomodifytags</title>
<link>https://visualfc.github.io/blog/%E6%94%AF%E6%8C%81-gomodifytags/</link>
<pubDate>2017-12-02 12:00:00 +0800</pubDate>
<description><!-- ## 实现 gomodifytags -->

<p>在 LiteIDE 最新的开发版本中,加入了对 <a href="https://github.com/fatih/gomodifytags">gomodifytags</a> 的支持,
gomodifytags 的主要功能是对 Go语言结构体字段 (go struct field) 的 tags 进行增删和修改,比如 json, xml 以及其他自定义 tag 。</p>

<h3>结构体的选择</h3>

<ul>
<li>当光标于结构内部时,Add Tags 和 Remove Tags 功能对应于当前光标下的整个结构体进行操作。</li>
<li>当光标对结构体中字段进行选择时,Add Tags 和 Remove Tags 功能对于于光标所选中的行范围内字段进行操作。</li>
</ul>

<p>在 LiteIDE 中的 Add Tags Dialog / Remove Tags Dialog 中会有相应的提示。</p>

<h3>为结构体字段增加和修改 Tags</h3>

<p>以下面结构体为例</p>

<pre><code>type Server struct {
 Name string
 Port int
 EnableLogs bool
 BaseDomain string
 Credentials struct {
 Username string
 Password string
 }
}
</code></pre>

<p>在 LiteIDE 中将光标置于 Name 到 } 结尾之间任意一处, 编辑菜单或右键调用 Add Tags 将对 Server 结构体全部字段进行操作。
如下图所示,选中 json 和 xml :
<img src="/assets/media/2017-12-02-gomodifytags/goaddtags1.png" alt="" width="600"></p>

<p>确认将获得下面结果</p>

<pre><code>type Server struct {
 Name string `json:&quot;name&quot; xml:&quot;name&quot;`
 Port int `json:&quot;port&quot; xml:&quot;port&quot;`
 EnableLogs bool `json:&quot;enable_logs&quot; xml:&quot;enable_logs&quot;`
 BaseDomain string `json:&quot;base_domain&quot; xml:&quot;base_domain&quot;`
 Credentials struct {
 Username string `json:&quot;username&quot; xml:&quot;username&quot;`
 Password string `json:&quot;password&quot; xml:&quot;password&quot;`
 } `json:&quot;credentials&quot; xml:&quot;credentials&quot;`
}
</code></pre>

<p>json 和 xml 都可以自定义选项,多个选项以 , 作为分隔。</p>

<h3>删除结构体字段的 Tags</h3>

<p>如果要删除上例中的 xml tags,同样将光标位于 Name 到 } 之间任意一处,编辑菜单或右键调用 Remove Tags 命令进行操作。
如下图所示,选中 json
<img src="/assets/media/2017-12-02-gomodifytags/goremovetags1.png" alt="" width="600"></p>

<p>确认将删除 xml tags, 所下图所示。</p>

<pre><code>type Server struct {
 Name string `json:&quot;name&quot;`
 Port int `json:&quot;port&quot;`
 EnableLogs bool `json:&quot;enable_logs&quot;`
 BaseDomain string `json:&quot;base_domain&quot;`
 Credentials struct {
 Username string `json:&quot;username&quot;`
 Password string `json:&quot;password&quot;`
 } `json:&quot;credentials&quot;`
}
</code></pre>

<p>删除也可以删除 tags 对应的选项,根据需要操作即可。</p>
</description>
</item>
<item>
<title>fix liteide libpng warning</title>
<link>https://visualfc.github.io/blog/fix-liteide-libpng-warning/</link>
<pubDate>2017-11-23 12:00:00 +0800</pubDate>
<description><!-- ## fix liteide libpng warning -->

<h3>liteide issues #867</h3>

<p>Start LiteIDE build for Qt5 version suggests libpng warning. <a href="https://github.com/visualfc/liteide/issues/867">liteide issues #867</a></p>

<pre><code>libpng warning: iCCP: profile 'ICC profile': 'GRAY': Gray color space not permitted on RGB PNG
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: cHRM chunk does not match sRGB
libpng warning: iCCP: profile 'ICC profile': 'GRAY': Gray color space not permitted on RGB PNG
libpng warning: iCCP: profile 'ICC profile': 'GRAY': Gray color space not permitted on RGB PNG
libpng warning: iCCP: profile 'ICC profile': 'GRAY': Gray color space not permitted on RGB PNG
libpng warning: iCCP: profile 'ICC profile': 'GRAY': Gray color space not permitted on RGB PNG
...
</code></pre>

<blockquote>
<p>CraigAD:<br />
I found this description of the problem that suggests a possible solution:<br />
<a href="https://stackoverflow.com/questions/43374187/qt-open-a-jpg-file-with-warning-image-format-not-supported">https://stackoverflow.com/questions/43374187/qt-open-a-jpg-file-with-warning-image-format-not-supported</a></p>

<p>PNG has many Formats some old, some not standard for Qt. see more History_and_development(<a href="https://en.wikipedia.org/wiki/Portable_Network_Graphics#History_and_development">https://en.wikipedia.org/wiki/Portable_Network_Graphics#History_and_development</a>) You need to use Standard format in Qt.</p>
</blockquote>

<p>I wrote a new go tool <strong>check_png</strong> for convert liteide all png to standard png and fix this issues.</p>

<h3>check_png tool</h3>

<p><a href="https://github.com/visualfc/liteide/blob/master/liteidex/src/tools/check_png/main.go">https://github.com/visualfc/liteide/blob/master/liteidex/src/tools/check_png/main.go</a></p>

<p>code: convert png file to NRGBA format.</p>

<pre><code>func (p *Process) ProcessPng(path string) error {
 f, err := os.Open(path)
 if err != nil {
 return err
 }
 stat, err := f.Stat()
 if err != nil {
 return err
 }
 var buf bytes.Buffer
 srcImage, err := png.Decode(f)
 if err != nil {
 return err
 }

 dstImage := image.NewNRGBA(srcImage.Bounds())
 draw.Draw(dstImage, dstImage.Bounds(), srcImage, srcImage.Bounds().Min, draw.Src)

 err = png.Encode(&amp;buf, dstImage)
 if err != nil {
 return err
 }

 data, err := ioutil.ReadFile(path)
 if err != nil {
 return err
 }
 if bytes.Compare(data, buf.Bytes()) != 0 {
 log.Println(&quot;update png&quot;, path, len(data), buf.Len())
 ioutil.WriteFile(path, buf.Bytes(), stat.Mode())
 }
 return nil
}
</code></pre>
</description>
</item>
<item>
<title>LiteIDE X33 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X33-Released/</link>
<pubDate>2017-11-02 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X33 正式发布。这个版本优化了编辑器功能,读取文件支持 codec 自动检测,重新加载文件使用 diff 方式进行优化,重新实现 Mark API 并增加了新的 Bookmarks 插件;Go 语言视图和大纲增加了 TodoList 显示;修复了 GolangEdit 的 查找使用 偶而无效错误, 代码查询 guru (备份使用内置oracle) 增加了 GOPATH 内查询接口功能。调试和查找插件也有所增强……。更多的功能实现和错误修复详见更新记录。</p>

<h3>2017.11.2 Ver X33</h3>

<ul>
<li>LiteIDE

<ul>
<li>optimization editor plugin, load file check codec, reload file by diff</li>
<li>add astview TodoList</li>
<li>add new bookmarks plugin</li>
<li>fix liteapp clean plugin order</li>
</ul></li>
<li>LiteApp

<ul>
<li>filemanager auto reload file default YesToAll</li>
<li>fix liteapp clean plugins reverse order</li>
<li>fix #832, sidebar change action by combox</li>
<li>fix folder sync editor same prefix error</li>
</ul></li>
<li>LiteEditor

<ul>
<li>reload file use diff to keep state and mark</li>
<li>load file check is binary and report</li>
<li>load file check codec use libucd if utf8 decode failed.</li>
<li>load file check decode error and report</li>
<li>load file is readonly set editor widget readonly</li>
<li>load and save file support utf8 bom</li>
<li>add codec and lineend info on statusbar</li>
<li>add copied text into the clipboard as HTML option</li>
<li>add Solarized Dark color theme, thanks xgdgsc</li>
<li>reimplemented editor mark api</li>
<li>fix copy to clipboard tab escape</li>
</ul></li>
<li>GolangAst

<ul>
<li>add TodoList for classview and outline</li>
<li>fix #848, astwidget double clicked index check.</li>
</ul></li>
<li>GolangCode

<ul>
<li>update pkglist to go1.9</li>
</ul></li>
<li>GolangEdit

<ul>
<li>add stop source query action</li>
<li>add source query action implement_GOPATH for GOPATH scope</li>
<li>fix golang lexer parser folding end</li>
<li>fix GolangHighlighter fold indent error set</li>
<li>fix findUsage wordUnderCursor offset</li>
<li>fix find usages findStart signal late</li>
</ul></li>
<li>GolangFmt

<ul>
<li>load diff check modify current block text</li>
</ul></li>
<li>GolangCode

<ul>
<li>fix update gopath process stop and wait</li>
</ul></li>
<li>LiteDebug

<ul>
<li>fix cmd to native separator</li>
<li>build target add -a build flag</li>
<li>change debug targget name to target.debug (custom by LiteBuild)</li>
</ul></li>
<li>LiteBuild

<ul>
<li>add custom debug name in build config</li>
</ul></li>
<li>LiteFind

<ul>
<li>fix memory leak by GolangEdit GolangFileSearch</li>
<li>fix findInFiles berore saveAllEditor</li>
<li>fix FindEditor replace all</li>
</ul></li>
<li>Bookmarks

<ul>
<li>new plugin for show open editors bookmarks and jump</li>
</ul></li>
<li>gotools

<ul>
<li>update stdlib for go1.9.1</li>
<li>astview add TodoList support</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X32.2 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X32.2-Released/</link>
<pubDate>2017-07-18 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X32.2 正式发布,这个版本解决了编辑器监控外部文件多次修改后监控失效的问题,调试插件启用了保存断点功能,修复了调试测试用例功能,修复了 Dlv 调试进程工作路径问题。</p>

<h3>2017.7.18 Ver X32.2</h3>

<ul>
<li>LiteApp

<ul>
<li>fix editor file watcher is invalid for many change</li>
</ul></li>
<li>GolangEdit

<ul>
<li>fix TODO/BUG/FIXME comment syntax</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>fix dlv headless process workdir</li>
</ul></li>
<li>LiteDebug

<ul>
<li>fix debug tests action</li>
<li>fix load and save breakpoint for editor</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X32.1 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X32.1-Released/</link>
<pubDate>2017-07-10 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X32.1 正式发布,新版本修复了 X32 版本的一些错误,优化了环境设置的加载;项目自定义 GOPATH 设置实现了子目录自动继承上级目录设置;Gocode 代码自动完成插件也已支持项目的自定义 GOPATH 设置;Dlv 调试插件启用了服务器模式(dlv headless mode),实现了应用输出和调试信息输出的分离。</p>

<h3>2017.7.7 Ver X32.1</h3>

<ul>
<li>LiteIDE

<ul>
<li>build config custom gopath support inherit parent path&rsquo;s gopath setup</li>
</ul></li>
<li>GolangCode

<ul>
<li>update gocode lib-path by build config custom gopath</li>
</ul></li>
<li>LiteEnv

<ul>
<li>optimization check go enviroment</li>
</ul></li>
<li>LiteBuild

<ul>
<li>build config custom gopath inherit parent path</li>
<li>fix BuildAndRun kill old on window</li>
<li>fix build config custom gopath action</li>
</ul></li>
<li>GolangPackage

<ul>
<li>fix load package treeview error</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>dlv use headless mode</li>
<li>fix dlv kill process</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE X32 Released</title>
<link>https://visualfc.github.io/blog/LiteIDE-X32-Released/</link>
<pubDate>2017-06-12 12:00:00 +0800</pubDate>
<description><p>Go 语言开发工具 LiteIDE X32 正式发布。</p>

<p>历经三个月,200 多次源码提交,LiteIDE终于完成了新版本的发布,<a href="http://liteide.org">liteide.org</a> 网站在 <a href="http://hopehook.com/">HopeHook</a> 的帮助下也正式推出。</p>

<p>LiteIDE X32 在界面会话、编译系统、源码编辑、代码分析等方面有了很大改进,从去年开始重写的 MulitFolderModel 也终于完成合并到 LiteIDE 的目录窗口中。</p>

<ul>
<li>提供了更多的界面主题和编辑器配色,感谢 <a href="http://hopehook.com/">HopeHook</a></li>
<li>支持外部图标加载功能</li>
<li>支持会话切换功能(会话保持自己的目录和文件)</li>
<li>编译目录支持自定义 GOPATH</li>
<li>编译目录支持更多的设置</li>
<li>调试插件/Go编辑插件支持编译目录的 BUILDFLAGS -tags 设定</li>
<li>完善 Go 代码导航和重构功能</li>
<li>更多的功能更新和 BUG 修复见历史记录</li>
</ul>

<h3>2017.6.12 Ver X32</h3>

<ul>
<li>LiteIDE

<ul>
<li>support folder build config custom GOPATH</li>
<li>support folder build config BUILDFLAGS -tags setup</li>
<li>support folder build config TARGETBASENAME setup</li>
<li>support session switching for folder/editor</li>
<li>support load custom icon library from liteapp/qrc folder (default and folder)</li>
<li>reimplemented multifolder model, it took me a long time :)</li>
<li>add macOS session menu for native dock menu</li>
<li>recent menu sync for multi windows</li>
<li>gotools support +build source navigate (single file or -tags setup)</li>
</ul></li>
<li>LiteApp

<ul>
<li>add the session switching function</li>
<li>add autosavedocument emit message option</li>
<li>add max editor tab count option</li>
<li>add option action to standard toolbar</li>
<li>add tool window use shortcuts option for unstandard keyboard option</li>
<li>add exit liteide ctrl+q on windows</li>
<li>add themes (carbon.qss gray.qss sublime.qss) for liteide &amp; beautify old themes, thanks for hope hook</li>
<li>editor tab context add open terminal here action</li>
<li>folders context menu add open in new windows action (new folder session)</li>
<li>folder view add show showdetails action</li>
<li>fix folder sync editor incorrect on macOS</li>
<li>fix webview and debug console qss</li>
<li>fix folders tool window enter key to jump</li>
<li>fix exit error save session by ctrl+q on macos</li>
<li>fix newfile dialog space name</li>
<li>update folder tool window showInExporer showInShell action text</li>
</ul></li>
<li>LiteFind

<ul>
<li>find files add auto swith current folder checkbox</li>
<li>find in editor add show replace mode checkbox</li>
<li>filesearch enable replace whitespace or empty</li>
<li>editor replace all in one edit block for ctrl+z once undo</li>
</ul></li>
<li>LiteBuild

<ul>
<li>add custom GOPATH in build config for build/debug/GolangEdit</li>
<li>add custom share-value BUILDFLAGS in build config for build/debug/GolangEdit</li>
<li>add custom TARGETBASENAME in build config for build/debug</li>
<li>support BUILDFLAGS -tags for build/debug/GolangEdit</li>
<li>update gosrc.xml to export custom value and share-value</li>
<li>folders tool window context menu add Go build configuration action</li>
<li>folders tool window context go tool use Go build configuration setup</li>
<li>fix stop action for kill process</li>
</ul></li>
<li>LiteDebug

<ul>
<li>console use editor color scheme</li>
<li>support LiteBuild folder build config BUILDFLAGS/BUILDARGS -tags flag setup</li>
</ul></li>
<li>DlvDebugger

<ul>
<li>fix process identify for auto exit</li>
</ul></li>
<li>LiteEnv

<ul>
<li>default env /usr/local/go on macosx</li>
<li>update macosx cross env GOROOT for system</li>
</ul></li>
<li>LiteEditor<br />

<ul>
<li>context menu add convert case menu</li>
<li>go.snippet add iferr</li>
<li>update sublime.xml / sublime-bold.xml, thanks for hopehook <a href="mailto:hopehook@qq.com">hopehook@qq.com</a></li>
<li>alt+backspace delete serial whitespaces</li>
<li>option font QComboBox to QFontComboBox, add restore DefaultFont action</li>
<li>option add show monospace font check</li>
<li>option file types sort mimetype, show custom extsition first</li>
</ul></li>
<li>GolangPackage

<ul>
<li>gopath setup add use sysgopath/litegopath check</li>
</ul></li>
<li>GolangPlay

<ul>
<li>fix goplay use goenvironment</li>
</ul></li>
<li>GolangDoc

<ul>
<li>change golang api index search for go/api folder</li>
</ul></li>
<li>GolangEdit

<ul>
<li>add go root source readonly setup option</li>
<li>support folder go build config BUILDFLAGS/BUILDARGS -tags flag setup</li>
<li>fix interface type by gotools</li>
<li>fix find process stop and run</li>
<li>fix lookup guru for source query</li>
</ul></li>
<li>GolangAst

<ul>
<li>fix astview enter key to jump</li>
</ul></li>
<li>FileBorwser

<ul>
<li>fix file system enter key to jump</li>
</ul></li>
<li>gotools

<ul>
<li>fix types interface method</li>
<li>types support +build for single source</li>
<li>types support -tags flag</li>
</ul></li>
<li>tools

<ul>
<li>add new exportqrc tool for export liteide all build-in images</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>LiteIDE 的配置文件管理</title>
<link>https://visualfc.github.io/blog/LiteIDE-%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86/</link>
<pubDate>2017-03-18 12:00:00 +0800</pubDate>
<description><!-- ## LiteIDE 的配置文件 -->

<p>LiteIDE 的配置文件默认存储在当前用户目录中,我们也可以设置存储在程序本地目录中。通过 <strong>选项</strong>( <strong>偏好设置</strong> )=&gt; <strong>LiteApp</strong> =&gt; <strong>存储</strong> <em>存储设置到本地ini文件</em> 选项来切换默认的存储位置。</p>

<h3>存储至当前用户配置</h3>

<p>LiteIDE 的配置文件默认存储在当前用户的特定目录中,如在 macOS 下存储在当前用户目录 <code>/.config/liteide/liteide.ini</code> 文件中,
这可以保证在 LiteIDE 更新后当前用户的配置保持不变,包括用户的 GOPATH 配置以及历史目录、历史文件等信息。</p>

<h3>存储至程序本地配置</h3>

<p>我们也可以将 LiteIDE 的配置文件存储在 LiteIDE 的本地目录中,即 LiteIDE的 <code>share/liteapp/config/liteide.ini</code> 文件中,
这可以保证配置信息跟随 LiteIDE 程序启用,我们可以在自己的系统中复制多份 LiteIDE,每个都保持有自己的环境信息、GOPATH 配置、历史目录等信息,
这样可以方便多个项目独立使用。</p>

<h3>命令行操作</h3>

<p>在 LiteIDE x31 中加入了对配置文件的命令行操作行为,包括以下三种:</p>

<ul>
<li>--local-setting 强制使用本地配置</li>
<li>--user-setting 强制使用用户配置</li>
<li>--reset-setting 重置当前配置 ( 清除配置文件 )</li>
</ul>

<p>如果在使用 LiteIDE 过程中发现出现莫名其妙的问题或者是刚启动就报错,有可能是配置文件出错,对于这种情况,除了手工删除配置文件的方法,
我们还可以通过命令行 <code>&gt;liteide --reset-setting</code> 来重置 LiteIDE 的当前配置文件。</p>
</description>
</item>
<item>
<title>LiteIDE 的交叉编译设置</title>
<link>https://visualfc.github.io/blog/LiteIDE-%E7%9A%84%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E8%AE%BE%E7%BD%AE/</link>
<pubDate>2017-03-17 12:00:00 +0800</pubDate>
<description><!-- ## LiteIDE 的交叉编译设置 -->

<p>LiteIDE 通过使用环境配置文件来支持 go 语言的交叉编译,对于 windows 和 linux 下相对简单,对于 macOS 可能会复杂一些,
本文以 macOS 交叉编译 windows-386 可执行文件为例,简要介绍如何在 LiteIDE 中配置和实现交叉编译功能。</p>

<h3>交叉编译环境选择和配置</h3>

<p>首先选择环境,在工具栏环境选择中选择 cross-win32 切换至 windows-386 交对编译环境,我们点击工具栏上的 <strong>编辑当前环境</strong> 按钮,对当前使用的环境即 cross-win32.env 文件进行编辑,默认设置如下:</p>

<pre><code>GOROOT=$HOME/go
#GOBIN=
GOARCH=386
GOOS=windows
CGO_ENABLED=0

PATH=$GOROOT/bin:$PATH

LITEIDE_GDB=/usr/local/bin/gdb
LITEIDE_MAKE=make
LITEIDE_TERM=/usr/bin/open
LITEIDE_TERMARGS=-a Terminal
LITEIDE_EXEC=/usr/X11R6/bin/xterm
LITEIDE_EXECOPT=-e
</code></pre>

<p>我们可以看到 GOARCH 和 GOOS 已经设置完毕,我们需要更改的是 GOROOT 和 PATH 变量,主要设置方式有两种,</p>

<h4>第一种方式,不设置 GOROOT 直接设置 PATH</h4>

<p>这种方式中,我们不设置 GOROOT 变量,而是通过 PATH 设置让 LiteIDE 在内部使用 go env 自动查询 GOROOT,设置如下</p>

<pre><code>#GOROOT=$HOME/go
#GOBIN=
GOARCH=386
GOOS=windows
CGO_ENABLED=0

PATH=$PATH:/usr/local/bin

LITEIDE_GDB=/usr/local/bin/gdb
LITEIDE_MAKE=make
LITEIDE_TERM=/usr/bin/open
LITEIDE_TERMARGS=-a Terminal
LITEIDE_EXEC=/usr/X11R6/bin/xterm
LITEIDE_EXECOPT=-e
</code></pre>

<h4>第二种方式,直接设置 GOPATH 值</h4>

<p>这种方式是直接设置 GOROOT,可以通过在终端下输入 <code>go env</code> 来查询 GOROOT 位置,如果是使用官方安装,
可能显示为</p>

<pre><code>GOROOT=&quot;/usr/local/go&quot;
</code></pre>

<p>如果是使用 brew install go 安装,则可能显示为</p>

<pre><code>GOROOT=&quot;/usr/local/Cellar/go/1.8/libexec&quot;
</code></pre>

<p>对于官方安装,我们编辑 cross-win32 环境对应为</p>

<pre><code>GOROOT=/usr/local/go
#GOBIN=
GOARCH=386
GOOS=windows
CGO_ENABLED=0

PATH=$GOROOT/bin:$PATH

LITEIDE_GDB=/usr/local/bin/gdb
LITEIDE_MAKE=make
LITEIDE_TERM=/usr/bin/open
LITEIDE_TERMARGS=-a Terminal
LITEIDE_EXEC=/usr/X11R6/bin/xterm
LITEIDE_EXECOPT=-e
</code></pre>

<p>对于 brew 安装,我们编辑 cross-win32 环境对应为</p>

<pre><code>GOROOT=/usr/local/Cellar/go/1.8/libexec
#GOBIN=
GOARCH=386
GOOS=windows
CGO_ENABLED=0

PATH=$GOROOT/bin:$PATH

LITEIDE_GDB=/usr/local/bin/gdb
LITEIDE_MAKE=make
LITEIDE_TERM=/usr/bin/open
LITEIDE_TERMARGS=-a Terminal
LITEIDE_EXEC=/usr/X11R6/bin/xterm
LITEIDE_EXECOPT=-e
</code></pre>

<h4>保存环境并通过 go env 查看</h4>

<p>保存cross-win32.env 后,LiteIDE 自动重新加载 cross-win32 环境,打开编译输出窗口可以看到类似如下输出</p>

<pre><code>/usr/local/go/bin/go env []
GOARCH=&quot;386&quot;
GOBIN=&quot;&quot;
GOEXE=&quot;.exe&quot;
GOHOSTARCH=&quot;amd64&quot;
GOHOSTOS=&quot;darwin&quot;
GOOS=&quot;windows&quot;
GOPATH=&quot;/Users/vfc/goproj&quot;
GORACE=&quot;&quot;
GOROOT=&quot;/usr/local/go&quot;
GOTOOLDIR=&quot;/usr/local/go/pkg/tool/darwin_amd64&quot;
GCCGO=&quot;gccgo&quot;
GO386=&quot;&quot;
CC=&quot;clang&quot;
GOGCCFLAGS=&quot;-m32 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/2b/fhf209x571lgp5dljz593q040000gn/T/go-build420337682=/tmp/go-build -gno-record-gcc-switches&quot;
CXX=&quot;clang++&quot;
CGO_ENABLED=&quot;0&quot;
PKG_CONFIG=&quot;pkg-config&quot;
CGO_CFLAGS=&quot;-g -O2&quot;
CGO_CPPFLAGS=&quot;&quot;
CGO_CXXFLAGS=&quot;-g -O2&quot;
CGO_FFLAGS=&quot;-g -O2&quot;
CGO_LDFLAGS=&quot;-g -O2&quot;
</code></pre>

<p>注:以上环境信息也可以调用菜单 <strong>查看</strong> - <strong>执行文件</strong> (快捷键为 Command+` )功能的输入窗口中输入 go env 来查看。</p>

<h3>交叉编译时提示没有权限的处理方法</h3>

<p>在 cross-win32环境下,我们打开项目中的 go 源码文件,使用工具栏上的 <strong>编译</strong> 命令或者在 <strong>执行文件</strong> 中输入 go build 进行编译测试。
如果是使用 brew 安装,这时候就可以编译成功,如果使用 go 安装,有可能会出现以下提示</p>

<pre><code>go install runtime/internal/sys: mkdir /usr/local/go/pkg/windows_386: permission denied
</code></pre>

<p>出现这个错误则说明 LiteIDE 没有 /usr/local/go 路径的写权限,遇到这种情况,我们需要在终端下先交叉编译好 go 环境。在终端下输入</p>

<pre><code>$ sudo GOOS=windows GOARCH=386 go install std
</code></pre>

<p>这里的 <code>go install std</code> 表示编译安装标准库,安装结束后,我们在 LiteIDE 中就可以正常使用 windows-386 交叉编译环境了。
对于其他交叉编译环境,需要时可以做同样的处理。</p>
</description>
</item>
<item>
<title>更新 Golang Api Index 功能</title>
<link>https://visualfc.github.io/blog/%E6%9B%B4%E6%96%B0-Golang-Api-Index-%E5%8A%9F%E8%83%BD/</link>
<pubDate>2017-03-16 12:00:00 +0800</pubDate>
<description><!-- ## 更新 Golang Api Index 功能 -->

<p>最近更新了 Golang Api Index 功能,之前是通过 gotools 对 GOPATH 内的所有源码进行索引,并在用户目录中建立一个索引文件,
文件格式与 go/api/go1.txt 类似,这个功能的问题是使用 gotools 建立索引的速度很慢,查询功能与 Golang Doc Search 的功能也有所重复,而且我还发现 gotools 工具对于 go1.8 的源码建立索引出错。</p>

<p>在最新版本中,我对 Golang Api Index 的功能重新定位,更改为只查询 go 标准库 api,即查询 go/api 目录下的文件,
包含 <code>go1.txt go1.1.txt ... except.txt next.txt</code> ,
同时在查询结果列表中加入了 api 所对应的 go 版本(文件),如下图所示。</p>

<p><img src="/assets/media/2017-03-16-goapi-index/goapi-index.png" alt="" width="600"></p>

<p>这样看起来工整多了,并且与 Golang Doc Search 有所区别。</p>
</description>
</item>
</channel>
</rss>