19.01.2007, 20:43 | #1 |
Участник
|
Шаблон комментария
Часто в коде приходится вручную добавлять комментарии начала и конца вносимого изменения, а также дату и свой логин.
Неужели в Аксе нет специального шаблона? Последний раз редактировалось blitzkrieg; 19.01.2007 в 21:06. |
|
19.01.2007, 20:45 | #2 |
program-ёр
|
Попробуйте правой кнопкой мыши Scripts/VCS/Checkin и проч. Оно?
__________________
Становись лучше Последний раз редактировалось kvg6; 20.01.2007 в 12:01. |
|
|
За это сообщение автора поблагодарили: e@gle (1), aidsua (2), Gustav (2), blitzkrieg (1), cleverMan (1), Prophetic (1). |
19.01.2007, 21:00 | #3 |
Участник
|
Ага
А как эти скрипты редактировать? |
|
19.01.2007, 21:21 | #4 |
Moderator
|
См. класс EditorScripts.
__________________
Андрей. |
|
|
За это сообщение автора поблагодарили: aidsua (2), blitzkrieg (1), cleverMan (1), Prophetic (1). |
20.01.2007, 12:59 | #5 |
Участник
|
Classes\EditorScripts\comments_projectTxt
Вот такой скрипт использую я:
X++: //<EditorExtensions_ikash date=2007-01-20 txt='Inserts a comment with current date, userId and comments on the modification'> #define.StartComment("//<\%1_\%2 date=\%3 txt='\%4'>\n") #define.EndComment ("//</\%1_\%2>\n") #define.CurrentVersion(1) void comments_projectTxt(Editor e) { Dialog dialog = new Dialog("Вставка комментариев", this); DialogField dlgFieldMod = dialog.addField(typeId(FreeText), "Введите код модификации"); DialogField dlgFieldTxt = dialog.addField(typeId(SourceLine), "Введите комментарий к коду"); int start, end, firstSym; container packedData; SourceLine projectDescription; FreeText projectCode; int version; ; packedData = xSysLastValue::getValue(curExt(), curUserId(), UtilElementType::Class, classId2Name(classIdGet(this)), funcName()); try { if (conLen(packedData) && conPeek(packedData, 1) == #CurrentVersion) [version, projectCode, projectDescription] = packedData; } catch { projectCode = ''; projectDescription = ''; } dlgFieldMod.value(projectCode); dlgFieldTxt.value(projectDescription); if (dialog.run()) { projectCode = dlgFieldMod.value(); projectDescription = dlgFieldTxt.value(); start = e.selectionStartLine(); end = e.selectionEndLine(); e.gotoLine(start); firstSym = strnfind(e.currentLine(), " ", 1, strlen(e.currentLine())); e.unmark(); if (start > 1) { e.gotoLine(end + 1); e.gotoCol(1); e.insertLines(strrep(" ", firstSym - 1) + strfmt(#EndComment, projectCode, curUserId())); } e.gotoLine(start); e.gotoCol(1); e.insertLines(strrep(" ", firstSym - 1) + strfmt(#StartComment, projectCode, curUserId(), date2str(SystemDateGet(),321,2,3,2,3,4), projectDescription)); xSysLastValue::putValue([#CurrentVersion, projectCode, projectDescription], curExt(), curUserId(), UtilElementType::Class, classId2Name(classIdGet(this)), funcName()); } } Последний раз редактировалось kashperuk; 20.01.2007 в 13:00. Причина: Исправил кракозяблики |
|
|
За это сообщение автора поблагодарили: kvg6 (1), aidsua (2), cleverMan (1), Prophetic (1). |
22.01.2007, 08:47 | #6 |
Пенсионер
|
Простите за банальность но как часто говорят на форумах "Поиск рулит"
собственно вся ветка ссылка на себя любимого
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
06.11.2010, 06:54 | #7 |
Участник
|
Пользуясь на версии 2009 "в лоб" столкнулся с "уплыванием" строк после вставляемых комментариев, вида
было: X++: InventSum inventSum; InventDim inventDim; InventTable inventTable; X++: //<-- begin InventSum inventSum; //--> end InventDim inventDim; InventTable inventTable; X++: /// <summary> /// Обрамляет выделенную область в тексте комментарием об авторстве и дате изменения данного блока текста /// </summary> /// <param name="e"> /// текущий редактор /// </param> /// <remarks> /// Для версии 2009 /// </remarks> #define.StartComment("//--> \%1, \%2") #define.EndComment("//<-- \%1, \%2") public void comments_insertDevComment(Editor e) { int start = e.selectionStartLine(); int end = e.selectionEndLine(); int firstSym; str tmpLine; ; e.gotoLine(start); firstSym = strnfind(e.currentLine(), " ", 1, strlen(e.currentLine())); e.unmark(); //Нижний комментарий e.gotoLine(end + 1); e.gotoCol(0); e.insertLines("\n"); e.gotoLine(end +1); e.gotoCol(0); e.insertLines(strrep(" ", firstSym - 1) + strfmt(#EndComment, strupr(curUserId()), date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll ))); //Верхний комментарий e.gotoCol(0); e.gotoLine(start); e.gotoCol(0); e.insertLines("\n"); e.gotoLine(start); e.gotoCol(0); e.insertLines(strrep(" ", firstSym - 1) + strfmt(#StartComment, strupr(curUserId()), date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll ))); e.gotoLine(end + 3); e.gotoCol(firstSym); } Последний раз редактировалось player; 06.11.2010 в 08:11. |
|
|
За это сообщение автора поблагодарили: leva (1). |