Giter Site home page Giter Site logo

oldme-git / goframe-helper Goto Github PK

View Code? Open in Web Editor NEW
21.0 1.0 1.0 215 KB

GoFrame Helper is a Goland/IntelliJ plugin for GoFrame, similar to Laravel Idea. It provides code completion, live templates, file watch, and other features for GoFrame to make your Goframe's journey easier. | GoFrame Helper 是一款针对 GoFrame 框架 的 Goland/IntelliJ 插件,它提供了代码提示,代码模板,gf 工具自动监听等功能,让您的 GoFrame 之旅更为愉快。

Home Page: https://goframe.org

License: GNU General Public License v3.0

Kotlin 100.00%
go goframe goland-plugin idea-plugin jetbrains gf jetbrains-plugin intellij-plugin

goframe-helper's Introduction

Hi I am oldme.

In the vastness of space and the immensity of time, it is my joy to share a planet and an epoch with You.

😎 About me

  • 😒 Coding and Coding, focusing on Golang and popular project.
  • 🧐 Learning more about Systems Design, Cloud Architecture and anything interesting.
  • 🫨 Enjoys reading poems, novels and essays. But my favorite are music🎸 and natural science🔭.

🤙 Contact me

goframe-helper's People

Contributors

oldme-git avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

zhanghoufu

goframe-helper's Issues

支持API自定义规则提示与I18N文本提示

  1. 自定义验证规则的提示,目前在编写API请求文件时,已经支持 GF 内置验证规则的提示,但是未支持用户自定义规则的提示

20231230-101243

  1. 在使用 g.I18n().T(ctx, "user.account.format.wrong_or_empty") 翻译时, key( user.account.format.wrong_or_empty ) 未能提示,在 manifest/i18n 或 resource/i18n 存放大量的国际化翻译文件,希望可以支持 key 的提示,类似 Laravel Idea

[BUG] i18n 文件跳转时,未跳转到调用

在翻译文件中进行跳转时,如有多个翻译文件时,未能跳转到调用,仅仅只是翻译文件之间的相关跳转

image

image

1. What version of Go and system type/arch are you using?

2. What version of GoFrame are you using?

3. Can this issue be re-produced with the latest release?

4. What did you do?

5. What did you expect to see?

6. What did you see instead?

[BUG] API 生成,合并 req与res分组时,语法格式错误

image

What version of Go and system type/arch are you using?

#-> % go version
go version go1.21.5 darwin/amd64

What version of GoFrame are you using?

-> % gf --version
v2.6.1
Welcome to GoFrame!
Env Detail:
  Go Version: go1.21.5 darwin/amd64
  GF Version(go.mod):
    github.com/gogf/gf/[email protected]
CLI Detail:
  Installed At: /Users/Code/go/bin/gf
  Built Go Version: go1.21.5
  Built GF Version: v2.6.1
Others Detail:
  Docs: https://goframe.org
  Now : 2024-01-03T16:01:15+08:00

Can this bug be re-produced with the latest release?

YES

What did you do?

What did you expect to see?

What did you see instead?

API 请求文件中 req 的 `in` 标签未能识别提示?

GF 支持在 req 中为属性设置 in 用于设置参数接收的位置,参考:接口文档OpenAPIv3#1、基础标签

但是插件似乎没有提示
image

支持 in 提示
image

What version of Go and system type/arch are you using?

#-> % go version
go version go1.21.5 darwin/amd64

What version of GoFrame are you using?

-> % gf --version
v2.6.1
Welcome to GoFrame!
Env Detail:
  Go Version: go1.21.5 darwin/amd64
  GF Version(go.mod):
    github.com/gogf/gf/[email protected]
CLI Detail:
  Installed At: /Users/Code/go/bin/gf
  Built Go Version: go1.21.5
  Built GF Version: v2.6.1
Others Detail:
  Docs: https://goframe.org
  Now : 2024-01-03T16:01:15+08:00

Can this bug be re-produced with the latest release?

YES

4. What did you do?

5. What did you expect to see?

6. What did you see instead?

配置与i18n索引跳转支持

目前插件v1.0.3已支持 i18n 的key写入自动补全,但是点击key时,无法跳转的实现文件,希望可以支持
image
点击跳转时,不支持
image

希望可以支持双向点击跳转

  • 在i18n翻译文件中点击key可以找到使用的地方
  • 在调用 g.i18n.T() 时,点击对应的key可以找到对应的实现,多个翻译实现时,列出列表
    参考:laravel idea
    image

image

1. What version of Go and system type/arch are you using?

2. What version of GoFrame are you using?

3. Can this issue be re-produced with the latest release?

4. What did you do?

5. What did you expect to see?

6. What did you see instead?

空项目,编写api文件时,报错

java.lang.RuntimeException: Cannot invoke (class=FrameStateManagerAppListener, method=applicationDeactivated, topic=ApplicationActivationListener)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:677)
at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:423)
at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:402)
at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:461)
at jdk.proxy1/jdk.proxy1.$Proxy60.applicationDeactivated(Unknown Source)
at com.intellij.ide.ApplicationActivationStateManager.updateState(ApplicationActivationStateManager.kt:47)
at com.intellij.ide.IdeEventQueueKt.processAppActivationEvent(IdeEventQueue.kt:1053)
at com.intellij.ide.IdeEventQueueKt.access$processAppActivationEvent(IdeEventQueue.kt:1)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:843)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
at java.desktop/java.awt.SentEvent.dispatch(SentEvent.java:75)
at java.desktop/java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(DefaultKeyboardFocusManager.java:262)
at java.desktop/java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager.java:289)
at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:833)
at com.intellij.ide.IdeKeyboardFocusManager.access$dispatchEvent$s1569605750(IdeKeyboardFocusManager.kt:18)
at com.intellij.ide.IdeKeyboardFocusManager$dispatchEvent$1.invoke(IdeKeyboardFocusManager.kt:25)
at com.intellij.ide.IdeKeyboardFocusManager$dispatchEvent$1.invoke(IdeKeyboardFocusManager.kt:25)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.kt:25)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4904)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2809)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855)
at java.desktop/sun.awt.SunToolkit$1.run(SunToolkit.java:530)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Caused by: java.lang.RuntimeException: Cannot invoke (class=, method=applicationDeactivated, topic=ApplicationActivationListener)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:677)
at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:423)
at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:392)
at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:461)
at jdk.proxy1/jdk.proxy1.$Proxy61.onFrameDeactivated(Unknown Source)
at com.intellij.ide.FrameStateManagerAppListener.applicationDeactivated(FrameStateManagerAppListener.java:72)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:700)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:660)
... 66 more
Caused by: java.lang.RuntimeException: Cannot invoke (class=Listener, method=after, topic=BulkFileListener)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:677)
at com.intellij.util.messages.impl.MessageBusImplKt.executeOrAddToQueue(MessageBusImpl.kt:492)
at com.intellij.util.messages.impl.ToDirectChildrenMessagePublisher.publish$intellij_platform_core(CompositeMessageBus.kt:310)
at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:449)
at jdk.proxy1/jdk.proxy1.$Proxy115.after(Unknown Source)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.lambda$fireAfterEvents$20(PersistentFSImpl.java:1419)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.runSuppressing(PersistentFSImpl.java:1048)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.fireAfterEvents(PersistentFSImpl.java:1416)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl$3.close(PersistentFSImpl.java:968)
at com.intellij.openapi.fileEditor.impl.LoadTextUtil.write(LoadTextUtil.java:398)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$doSaveDocumentInWriteAction$3(FileDocumentManagerImpl.java:433)
at com.intellij.pom.core.impl.PomModelImpl.guardPsiModificationsIn(PomModelImpl.java:321)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.doSaveDocumentInWriteAction(FileDocumentManagerImpl.java:422)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$doSaveDocument$2(FileDocumentManagerImpl.java:375)
at com.intellij.openapi.application.WriteAction.lambda$run$1(WriteAction.java:85)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:963)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:989)
at com.intellij.openapi.application.WriteAction.run(WriteAction.java:84)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.doSaveDocument(FileDocumentManagerImpl.java:375)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveDocuments(FileDocumentManagerImpl.java:292)
at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:267)
at com.intellij.configurationStore.SaveAndSyncHandlerImpl$listenIdleAndActivate$2.applicationDeactivated(SaveAndSyncHandlerImpl.kt:188)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:700)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:660)
... 74 more
Caused by: java.io.IOException: Cannot run program "gf" (in directory "/Volumes/workSpace/code_dir/go_code/payment_platform/payment_platform_gateway_goframe"): error=2, No such file or directory
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at java.base/java.lang.Runtime.exec(Runtime.java:594)
at java.base/java.lang.Runtime.exec(Runtime.java:418)
at com.github.oldmegit.goframehelper.listener.Listener.after(Listener.kt:30)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:700)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:660)
... 97 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:314)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
... 103 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.