ecode-go
- Golang's workflow accelerator for vscode, based on eframework.
Features | 功能特性
【流程优化】
- 一键调试,无需配置.
- 一键构建,支持类vs编译,自动生成图标(windows).
- 跨平台交叉编译(windows/linux/darwin/freebsd-arm/arm64/amd64/386).
- 友好支持GO111MODULE=on/off两种模式.
- 友好支持Windows/macOS/Ubuntu/CentOS等系统.
【进阶功能】
- Cpp To Golang: 将C++代码转换为Golang(函数级别).
- 支持库工程工作流,用于商业项目研发.
Usage | 使用教程
快捷键 | Shortcut
- [Status Bar/底部状态栏][Explorer/文件浏览器][Editor/文本编辑器][Cmd-命令(Ctrl+P)]
- [Explorer|Editor/Bar.A] -> "Build Target(s)" (编译应用) (ALT+SHIFT+A,连按两次确认)
- [Explorer|Editor/Bar.S] -> "Start Target(s)" (运行应用) (ALT+SHIFT+S,连按两次确认)
- [Explorer|Editor/Bar.D] -> "Stop Target(s)" (停止应用) (ALT+SHIFT+D,连按两次确认)
- [Explorer|Editor/Bar.F] -> "Debug Target(s)" (调试应用) (ALT+SHIFT+F,连按两次确认)
- [Bar.O] -> "Show Output(s)" (显示输出) (ALT+SHIFT+O)
- [Editor] -> [Cpp To Golang] (ALT+SHIFT+V)
- [Cmd] -> [Sync Source] (同步源代码)
- [Cmd] -> [Sync Library] (同步库工程)
- [Cmd] -> [Sync Types] (同步库类型)
- [Cmd] -> [Unlink Proj] (移除关联工程)
配置参考 | Configuration
- 详细信息请查阅功能配置|See Feature Contribution.
"ecode-go.targetList": {
"TARGET": { // [required|目标名称]
"common": { // [required|组名称]
"arch": "arm/arm64/amd64/386", // [required|目标架构(arm/arm64/amd64/386)]
"os": "windows/linux/darwin/freebsd", // [required|目标系统(windows/linux/darwin/freebsd)]
"icon": "PATH/TO/ICON", // [optional|图标路径]
"src_path": "PATH/TO/MAIN/SRC", // [optional|源码路径,默认src/]
"build_args": [], // [optional|构建参数,go help build]
"build_path": "PATH/TO/EXEC", // [optional|构建路径,默认exec/]
"build_copy": [ // [optional|构建拷贝]
"RELATIVE/PATH/TO/COPY"
],
"start_args": [], // [optional|启动参数]
"start_delay": 0.5, // [optional|启动延迟]
"stop_delay": 0.3, // [optional|终止延迟]
"stop_port": "PATH/TO/PORT/FILE" // [optional|终止端口]
},
"debug.windows.amd64": {
"base": "common" // [required|继承组]
},
"release.windows.amd64": {
"base": "common", // [required|继承组]
"build_args": ["-a", "-trimpath"] // [optional|重写]
}
}
}
"ecode-go.libList": [
{
"path": "string", // [required|库路径]
"level": "string" // [required|保护级别(public/protected/private)]
}]
TODO | 待办事项
- pre_build和post_build事件.
- gotypes异常func getg() uintptr.
Changelog | 版本记录
0.1.0 [2023.06.25]
- 修复调试关闭异常(更新接口)
- 修复关闭实例异常
- 新增启动参数配置
- 优化终止端口功能(支持多行)
- Fix debugging session shutdown error(upgrade vscode api).
- Fix instance shutdown error.
- Add start_args for debugging/starting.
- Optimize stop_port function(support for mutli-port).
0.0.9 [2023.05.30]
- 修复darwin调试/启动权限异常.
- Fix debugging/starting permission exception on darwin.
0.0.8 [2023.04.24]
- 修复darwin调试/启动异常.
- 优化多目标选择功能.
- Fix debugging/starting exception on darwin.
- Optimize multi-target picking function.
0.0.7 [2023.03.29]
- 修复linux系统杀进程错误,移除kill-by-name方式.
- Fix kill process crash on linux, remove kill-by-name logic.
0.0.6 [2023.02.14]
- 修复README中引用svg图标引起的发布错误.
- 添加应用许可证.
- Fix publish issue of invalid svg reference in README.
- Add license.
0.0.5 [2023.02.14]
- 修复binary-only包导致godoc错误的问题.
- Fix binary-only package document display issue.
0.0.4 [2022.05.31]
- 修复调试断点无法取消问题(路径大小写).
- 优化编译调试流程.
- 新增Build Library一键编译debug和release.
- Fix breakpoint issue(caused by lower path).
- Optimize build and debug workflow.
- Add Build Library command.
0.0.3 [2022.05.24]
- 修复调试错误(-gcflags="all=-N -l").
- 修复运行错误(build_path logic).
- Fix debugging issue(-gcflags="all=-N -l").
- Fix running issue(build_path logic).
0.0.2 [2022.05.18]
- 修复运行的实例无法停止的问题.
- 修复Linux和macOS编译Windows无图标问题.
- Fix target instances stopping issue.
- Fix Windows icon issue when exec was built by Linux or macOS.
0.0.1 [2022.04.29]
- 移除加密流程以及中心控制.
- 通用化改造以及功能简化.
- 新增多平台编译.
- Elimate encrypt procedure and central control.
- General transformation and function simplification.
- Add multi platform compilation.
0.0.0 [2020.08.27-2022.02.18]
- 修复 VSCode 1.63+ 版本卡死,移除了归属于每一个target的output channel.
- 修改字符串加密规则.
- 修复 linkd.exe 的错误.
- 修复 goimports.exe 的错误.
- 新增 incredBuild 配置选项.
- 优化目标选择逻辑.
- 修复编译提示显示错误问题.
- 新增简版的功能适配(编译、调试、启动、停止).
- 新增将Cpp代码转换为Golang代码的功能.
- Windows 相关功能适配.
- Fix ANR on VSCode 1.63+, remove output channel of target.
- Update string encode rule.
- Fix linkd.exe error.
- Fix goimports.exe error.
- Add incredBuild config.
- Optimize target(s) picker.
- Fix incorrect compile hint.
- Add lite version's build/debug/start/stop adapter.
- Add cpp2go for converting cpp code to golang code.
- Windows Adapter.
Refer | 参考
For Developer | 开发者
| |