Giter Site home page Giter Site logo

oldme-git / goframe-helper Goto Github PK

View Code? Open in Web Editor NEW
20.0 1.0 1.0 232 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

English | 简体中文

GoFrame Helper

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.

Features

  • Api, Controller and Service live templates
  • OpenApi tag code completion
  • cfg module code completion(support yaml and json)
  • orm module fields name code completion
  • Automatic listening for the Api and Logic to generate the Controller and Service
  • Support in Chinese and English
  • More...

Limitation

GoFrame version GTE 2.2.0

Usage

code completion

apisuper orm

live templates

live

window tool

tool

Installation

Compatibility:

  • IntelliJ IDEA Ultimate — 2022.2+
  • GoLand — 2022.2+

Direct

In setting->plugin->marketplace search GoFrame Helper

Jetbrains Marketplace

JetBrains

Thanks

JetBrains GoFrame go-orm-helper

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

Watchers

 avatar

Forkers

zhanghoufu

goframe-helper's Issues

配置与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自定义规则提示与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] 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文件时,报错

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

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?

[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?

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.