Connaissance avancée du modèle d'idée en direct, avancé
为了解决用一个命令(宏)给方法,类,js方法添加注释,经过几天的研究.终于得到结果了.
实现的效果如下:
给Java中的method添加方法:
/** * * @Method : addMenu * @Description : * @param menu : * @return : cn.yiyizuche.common.base.ResultMsg * @author : Rush.D.Xzj * @CreateDate : 2017-06-12 星期一 18:17:42 * */public ResultMsg addMenu(Menu menu){ ResultMsg result = null;return result; }
给 Java class 添加注释:
/** * * @Project : 壹壹OA * @Package : cn.yiyizuche.common.ou.menu.controller * @Class : MenuController * @Description : * @author : Rush.D.Xzj * @CreateDate : 2017-06-12 星期一 18:15:32 * @version : V1.0.0 * @Copyright : 2017 yizukeji Inc. All rights reserved. * @Reviewed : * @UpateLog : Name Date Reason/Contents * --------------------------------------- * *** **** **** * */public class MenuController { }
给js 的方法添加注释
/** * * @Method : standardShowBatchCheckBox * @Description : * @return : * @author : Rush.D.Xzj * @CreateDate : 2017-06-12 星期一 18:15:21 * */function standardShowBatchCheckBox(jspElement, dataList, max, valueIdFunction, textFunction, selectedFunction) { }
现在把答案公布如下
Abbreviation:
cmj
Template text(注1):
** *$context$ */
Edit variables:
$context$的代码(主要代码)如下:
groovyScript("def methodName = \"${_1}\"; def jsMethodName = \"${_2}\"; def outputMethodName = \"${_3}\"; def outputDesc = \"${_4}\"; def outputParams = \"${_5}\"; def outputAuthor = \"${_6}\"; def outputReturnType = \"${_7}\"; def outputDateTime = \"${_8}\"; def outputPackage = \"${_9}\"; def outputClass = \"${_10}\"; def outputClassOtherInfo = \"${_11}\"; def outputProject = \"${_12}\"; def outputVersion = \"${_13}\"; def outputJsMethodName = \"${_14}\"; def outputJsReturnType = \"${_15}\"; def result = ''; if (methodName != 'null') { result += '\\n'; result += outputMethodName; result += outputDesc; result += outputParams; result += outputReturnType; result += outputAuthor; result += outputDateTime; result += ' *'; return result; } else if (jsMethodName != 'null') { result += '\\n'; result += outputJsMethodName; result += outputDesc; result += outputJsReturnType; result += outputAuthor; result += outputDateTime; result += ' *'; return result; } else { result += '\\n'; result += outputProject; result += outputPackage; result += outputClass; result += outputDesc; result += outputAuthor; result += outputDateTime; result += outputVersion; result += outputClassOtherInfo; result += ' *'; return result; } ", methodName(), jsMethodName(), groovyScript("def methodName = \"${_1}\"; def result = ' * @Method : ' + methodName + '\\n'; return result;", methodName()), groovyScript("def result = ' * @Description : ' + '\\n'; return result;"), groovyScript("if(\"${_1}\".length() == 2) { return ''; } else { def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) { result+=' * @param ' + params[i] + ' : ' + '\\n' }; return result;}", methodParameters()), groovyScript("def author = 'Rush.D.Xzj'; def result = ' * @author : ' + author + '\\n'; return result;"), groovyScript("def returnType = \"${_1}\"; def result = ' * @return : ' + returnType + '\\n'; return result;", methodReturnType()), groovyScript("def date = \"${_1}\"; def time = \"${_2}\"; def result = ' * @CreateDate : ' + date + ' ' + time + '\\n'; return result;", date("yyyy-MM-dd E"), time("HH:mm:ss")), groovyScript("def currentPackage = \"${_1}\"; def result = ' * @Package : ' + currentPackage + '\\n'; return result;", currentPackage()), groovyScript("def className = \"${_1}\"; def result = ' * @Class : ' + className + '\\n'; return result;", className()), groovyScript("def result = ' * @Copyright : 2017 yizukeji Inc. All rights reserved.' + '\\n'; result += ' * @Reviewed : ' + '\\n'; result += ' * @UpateLog : Name Date Reason/Contents' + '\\n'; result += ' * ---------------------------------------' + '\\n'; result += ' * *** **** **** ' + '\\n'; return result;"), groovyScript("def result = ' * @Project : 壹壹OA' + '\\n'; return result;"), groovyScript("def result = ' * @version : V1.0.0' + '\\n'; return result;"), groovyScript("def jsMethodName = \"${_1}\"; def result = ' * @Method : ' + jsMethodName + '\\n'; return result;", jsMethodName()), groovyScript("def result = ' * @return : ' + '\\n'; return result;"))
使用如下:
在xx.java或者 xx.js中输出(注2):
/cmj
后 按 tab键(此键是默认的,可以更改成其他的)
注1 和注2
也可以换成第二种方法(网上大部分的方法):
Template text
* *$context$ */
跟注1比较第一行少了一个*,
因此注2就是变成了:
/*cmj
我感觉用我的方法比第二种方法好.
Edit Variable中代码详解
首先我分解了如下的 10几个函数(是小函数):
// 输出方法名groovyScript("def methodName = \"${_1}\"; def result = ' * @Method : ' + methodName + '\\n'; return result;", methodName()) // 输出描述 groovyScript("def result = ' * @Description : ' + '\\n'; return result;") // 输出参数列表的子函数 groovyScript("if(\"${_1}\".length() == 2) {return ''; } else { def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+=' * @param ' + params[i] + ' : ' + '\\n'}; return result;}", methodParameters()) // 输出 作者的 子函数 这里可以改作者 groovyScript("def author = 'Rush.D.Xzj'; def result = ' * @author : ' + author + '\\n'; return result;") // 输出 返回值的 子函数 groovyScript("def returnType = \"${_1}\"; def result = ' * @return : ' + returnType + '\\n'; return result;", methodReturnType()) // 输出 日期的 字函数, 这个可以更改日期格式 groovyScript("def date = \"${_1}\"; def time = \"${_2}\"; def result = ' * @CreateDate : ' + date + ' ' + time + '\\n'; return result;", date("yyyy-MM-dd E"), time("HH:mm:ss")) // 输出Project groovyScript("def result = ' * @Project : 壹壹OA' + '\\n'; return result;") // 输出package groovyScript("def currentPackage = \"${_1}\"; def result = ' * @Package : ' + currentPackage + '\\n'; return result;", currentPackage()) // 输出class groovyScript("def className = \"${_1}\"; def result = ' * @Class : ' + className + '\\n'; return result;", className()) // 输出copyright/reviewd/updatelog groovyScript("def result = ' * @Copyright : 2017 yizukeji Inc. All rights reserved.' + '\\n'; result += ' * @Reviewed : ' + '\\n'; result += ' * @UpateLog : Name Date Reason/Contents' + '\\n'; result += ' * ---------------------------------------' + '\\n'; result += ' * *** **** **** ' + '\\n'; return result;") // 输出version groovyScript("def result = ' * @version : V1.0.0' + '\\n'; return result;") // 输出jsMethodName groovyScript("def jsMethodName = \"${_1}\"; def result = ' * @Method : ' + jsMethodName + '\\n'; return result;", jsMethodName()) // 输出 js 的return groovyScript("def result = ' * @return : ' + '\\n'; return result;")
然后在主要代码中,需要把上述的10几个函数当做参数供给主要代码使用.
判断是函数,类,js函数主要是通过如下的2个内置变量来实现的:
methodName() jsMethodName()
当methodName()不为空的时候, 生成 方法的 注释
当jsMethodName()不为空的时候, 生成 js方法的注释
否则生成类的注释
所以上述的代码可以简单的做如下的归类了:
获取相关参数:
def methodName = \"${_1}\"; def jsMethodName = \"${_2}\"; def outputMethodName = \"${_3}\"; def outputDesc = \"${_4}\"; def outputParams = \"${_5}\"; def outputAuthor = \"${_6}\"; def outputReturnType = \"${_7}\"; def outputDateTime = \"${_8}\"; def outputPackage = \"${_9}\"; def outputClass = \"${_10}\"; def outputClassOtherInfo = \"${_11}\"; def outputProject = \"${_12}\"; def outputVersion = \"${_13}\"; def outputJsMethodName = \"${_14}\"; def outputJsReturnType = \"${_15}\"; def result = '';
判断是哪一种类型的注释(代码片段2):
if (methodName != 'null') { result += '\\n'; result += outputMethodName; result += outputDesc; result += outputParams; result += outputReturnType; result += outputAuthor; result += outputDateTime; result += ' *';return result; } else if (jsMethodName != 'null') { result += '\\n'; result += outputJsMethodName; result += outputDesc; result += outputJsReturnType; result += outputAuthor; result += outputDateTime; result += ' *';return result; } else { result += '\\n'; result += outputProject; result += outputPackage; result += outputClass; result += outputDesc; result += outputAuthor; result += outputDateTime; result += outputVersion; result += outputClassOtherInfo; result += ' *';return result; }
这下就可以了.就把整个这么难看(groopscript搞的?)代码整理的比较清晰了.
我还有如下的几个疑惑/问题需要解决, 如果有朋友能给我答案那就好了.
问题1. 不知道可以通过什么方法获取js方法中的参数列表
问题2. 代码片段2中如果我改成了:
result += '\\n';if (methodName != 'null') { result += outputMethodName; result += outputDesc; result += outputParams; result += outputReturnType; result += outputAuthor; result += outputDateTime; } else if (jsMethodName != 'null') { result += '\\n'; result += outputJsMethodName; result += outputDesc; result += outputJsReturnType; result += outputAuthor; result += outputDateTime; } else { result += '\\n'; result += outputProject; result += outputPackage; result += outputClass; result += outputDesc; result += outputAuthor; result += outputDateTime; result += outputVersion; result += outputClassOtherInfo; } result += ' *';return result;
会出现如下的错误:
startup failed: Script1.groovy: 1: expecting EOF, found 'result' @ line 1, column 1036. lt += outputClassOtherInfo; } result += ^ 1 error
问题3: 不知道怎么获取Override方法对应的接口方法(父类方法)
关于问题3: 实际上给这种方法加注释是没有意义的,具体可以参考:
但是如果非要加该怎么去判断.
最后可以把 缩写(abbreviation) 改成: *
这样以后只需要输入:
/*
然后按一下 tab 键就出现结果了
哈哈!!!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la recherche avancée Baidu Le moteur de recherche Baidu est actuellement l'un des moteurs de recherche les plus utilisés en Chine. Il offre une multitude de fonctions de recherche, dont la recherche avancée. La recherche avancée peut aider les utilisateurs à rechercher les informations dont ils ont besoin avec plus de précision et à améliorer l'efficacité de la recherche. Alors, comment utiliser la recherche avancée Baidu ? La première étape consiste à ouvrir la page d’accueil du moteur de recherche Baidu. Tout d’abord, nous devons ouvrir le site officiel de Baidu, qui est www.baidu.com. C'est l'entrée de la recherche Baidu. Dans la deuxième étape, cliquez sur le bouton Recherche avancée. Sur le côté droit du champ de recherche Baidu, il y a

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Étapes de configuration : 1. Ouvrez IntelliJ IDEA et entrez dans le projet ; 2. Cliquez sur "Exécuter" dans le menu supérieur 3. Sélectionnez le signe plus dans le coin supérieur gauche et sélectionnez "Tomcat Server" > "Local" ; Option « Serveur », Cliquez sur « Configurer » et sélectionnez le répertoire d'installation de Tomcat ; 5. Dans l'option « Déploiement », cliquez sur le signe plus pour ajouter votre projet ; 6. Enregistrez-le dans « Avant le lancement » ;

IDEA (IntelliJIDEA) est un puissant environnement de développement intégré qui peut aider les développeurs à développer diverses applications Java rapidement et efficacement. Dans le développement de projets Java, l'utilisation de Maven comme outil de gestion de projet peut nous aider à mieux gérer les bibliothèques dépendantes, à créer des projets, etc. Cet article détaillera les étapes de base pour créer un projet Maven dans IDEA, tout en fournissant des exemples de code spécifiques. Étape 1 : Ouvrez IDEA et créez un nouveau projet. Ouvrez IntelliJIDEA

Cet article vous guidera pour corriger l'erreur de connexion Xbox 0x87dd0019, qui provoque des problèmes de délai de connexion lorsque vous essayez de vous connecter à Xbox Live ou de vous connecter à Xbox One. Qu'est-ce que le code d'erreur 0x87e00019 sur Xbox ? Si vous rencontrez le code d'erreur 0x87e00019 lors de l'installation ou de la mise à jour de jeux sur votre console Xbox, cela signifie que votre disque dur Xbox peut manquer d'espace de stockage ou presque plein. Pour résoudre ce problème, vous devez libérer de l'espace de stockage. Dans le même temps, vous devez également vérifier l'état du service Xbox Live, car cette erreur peut être due à des problèmes de serveur Xbox. Comment corriger l'erreur de connexion 0x87dd0019Xbox à l'aide de ces conseils

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

Méthode de configuration : 1. Ouvrez IntelliJ IDEA, sélectionnez « Modifier les configurations » dans le menu déroulant de la barre d'outils ; 2. Entrez dans une nouvelle fenêtre, cliquez sur le signe « + », entrez dans le menu déroulant, puis sélectionnez « Local ». " dans « Serveur Tomcat » ; 3. Dans la nouvelle interface, sélectionnez le répertoire d'installation de Tomcat. Après avoir sélectionné le répertoire, cliquez sur « OK » ; 4. Configurez le navigateur pour démarrer Tomcat.

Étapes pour afficher le code source de Tomcat dans IDEA : 1. Téléchargez le code source de Tomcat ; 2. Importez le code source de Tomcat dans IDEA ; 3. Visualisez le code source de Tomcat ; 4. Comprendre le principe de fonctionnement de Tomcat ; mise à jour ; 7. Utiliser des outils et des plug-ins ; 8. Participer à la communauté et contribuer. Introduction détaillée : 1. Téléchargez le code source de Tomcat Vous pouvez télécharger le package de code source depuis le site officiel d'Apache Tomcat. Généralement, ces packages de code source sont au format ZIP ou TAR, etc.
