掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     ソースコード自動生成の際のコメントアウトカスタマイズについて


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2008-5-21 19:09

ソースコード自動生成の際のコメントアウトカスタマイズについて

enumの定義などから、ソースコードを自動生成した場合、ノートに書いてある文字列が、ソースコードのコメントになると思います。
その際の、コメントの形式をカスタマイズすることはできないでしょうか。
具体的には、以下のようにコメントが複数行にわたった場合、各行毎にコメントを閉じたいと考えています。

現状:
/* テストコメント
   複数行にわたった場合 */

↓↓↓↓↓↓↓↓↓↓↓↓↓↓

希望:
/* テストコメント */
/* 複数行にわたった場合 */

これは可能でしょうか。可能な場合はやり方をご教授願えないでしょうか。
よろしくお願い致します。
sugimoto
投稿日時: 2008-5-22 9:52
EA Administrator
投稿: 1895

Re: ソースコード自動生成の際のコメントアウトカスタマイズについて

こちらはコード生成テンプレートをカスタマイズしていただく必要があります。
コード生成テンプレートは、「設定」→「コード生成テンプレート」に存在します。

例えば、C++の場合、左上の言語欄でC++を選択し、Class Notes
テンプレートを選んで、13行目を以下のように編集してください。

[現状]
%CSTYLE_COMMENT($wrapLen)%

[対応案]
$note = "/* " + %classNotes% + " */"
$replace = " */" + "\n" + "/* "
%REPLACE($note, "\n", $replace)%

同様に属性や操作のノートも、同様のコメント形式にしたい場合は、
それぞれ、Attribute Notes、Operation Notesテンプレートを編集してください。

ご確認のほど、よろしくお願いいたします。

何かご不明点などありましたら、ご連絡ください。
未登録ゲスト
投稿日時: 2008-5-27 21:53

Re: ソースコード自動生成の際のコメントアウトカスタマイズについて

ご回答ありがとうございます。

回答いただいた内容を、コード生成テンプレートに適用してみましたが、下記のようになってしまい、うまく出力できません。
どうやら、replaceを行う際、\nの置き換えがうまくいっていなく、改行
されてしまうようです。
対処法はございませんでしょうか。

出力結果:
/* これは複数行コメントのサンプルです。
*/
/* 2行目です */

よろしくお願い致します。
sugimoto
投稿日時: 2008-5-28 10:59
EA Administrator
投稿: 1895

Re: ソースコード自動生成の際のコメントアウトカスタマイズについて

弊社でも改めて確認を行いましたが、ご指摘いただいたような
出力は確認できませんでした。

現在お使いのEnterprise Architectのビルド番号はいくつになりますでしょうか?
(弊社では現在の最新版ビルド829で確認を行いました。)
最新版をお使いでない場合、最新版でも同様の現象が発生するか、
ご確認いただけますでしょうか?

弊社ではC++で確認を行いましたが、言語は何をお使いでしょうか?

また、クラス要素のノート欄にはどのような記載をされていますでしょうか?
ご連絡いただいたとおり、
-----
これは複数行コメントのサンプルです。
2行目です
-----
のような形式でしょうか?文字の前後にスペースなど何か文字が
存在するということはありますか?

お手数をお掛けいたしますが、情報をお寄せいただきますと助かります。
sugimoto
投稿日時: 2008-5-28 13:43
EA Administrator
投稿: 1895

Re: ソースコード自動生成の際のコメントアウトカスタマイズについて

こちら問題を確認することができました。

EAの画面上でソースコードの確認を行っておりましたが、
他エディタにて確認したところ、CRLFのLF部分のみが置換(Replace)され、
CR部分が残ってしまっているため、エディタによっては、改行として表示されていました。

お手数をお掛けし、申し訳ございません。

現在のReplaceは"\n"で行っていましたので、"\r\n"で行えないかなど
確認を行いましたが、現状、Replaceでは、"\r"は認識しておらず、
回避方法が見つかっていない状況です。

Replaceにおける"\n"は、第2引数で使用した場合はLF、第3引数で
はCRLFと、引数によって扱いが変わってしまっており、この点はEAのバグに
なりますので、統一するように修正いたします。

修正が完了しましたら、ご連絡いたします。

ご迷惑をお掛けし、申し訳ございません。
未登録ゲスト
投稿日時: 2008-5-30 10:02

Re: ソースコード自動生成の際のコメントアウトカスタマイズについて

お世話になっております。
ご対応ありがとうございます。

バグという事なら、仕方がありません。納得しました。

>Replaceにおける"\n"は、第2引数で使用した場合はLF、
>第3引数>ではCRLFと、引数によって扱いが変わってし
>まっており、この点はEAのバグに
>なりますので、統一するように修正いたします。
>
>修正が完了しましたら、ご連絡いたします。

修正ってどのくらいかかる見込みですか・・・?
ご連絡いただければ幸いです。

以上、無理いって申し訳ありませんが、よろしくお願い
致します。
sugimoto
投稿日時: 2008-5-30 10:22
EA Administrator
投稿: 1895

Re: ソースコード自動生成の際のコメントアウトカスタマイズについて

ご迷惑をお掛けしており、申し訳ございません。

本件は開発元に連絡済ではありますが、以下のページにありますように、
優先度の高いものから対応を行っております。
https://www.sparxsystems.jp/faq_support.htm#sup14

そのため、いつ修正されるという具体的な日程やビルド番号につきましては、
現時点で、明言することはできない状況です。

ご迷惑をお掛けしておりますが、ご理解いただけますと助かります。
sugimoto
投稿日時: 2008-7-7 13:13
EA Administrator
投稿: 1895

Re: ソースコード自動生成の際のコメントアウトカスタマイズについて

コメントの出力フォーマットを変更する方法について、
現状、\nを置き換える方法は正しく動作しておりませんが、
異なる機能マクロWRAP_LINESを利用することで、
ご希望のコメント形式で出力できることが分かりましたので、
報告させていただきます。

%WRAP_LINES(classNotes, $wrapLen, "/* ", " */")%

上記機能マクロを利用した方法で、コメントの出力を
ご確認いただけますでしょうか?

なお、このWRAP_LINESにつきましては、ヘルプの情報が
不足しておりましたので、追記いたします。

報告に時間を要してしまい申し訳ございませんが、
ご確認のほど、よろしくお願いいたします。

何かご不明点などありましたら、ご連絡ください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ