例えば、VS2003.net(VC++7.1)であれば、修正部分を以下のようにしたいのです。
// 2008/02/26 start mod. by よすむら
...
// 2008/02/26 end mod. by よすむら
現在修正開始前、IME辞書ツールで上記を毎回指導で、それぞれ『す』『え』と登録しております。
ATOKなら『今日』『今』等で日時、時刻の取得がOKのようですが、時価6千円は痛いです...。
皆さんはどうされてますでしょうか?
バージョン管理に任せておけば
コメントに日付を入れることはめったにありませんから
必要としていません。
# 入れろと言われれば"手打ち"します。
ワンクリックで様々な書式で日付文字をクリップボードに取得する
ツールを作って使っています。
επιστημη様
># 入れろと言われれば"手打ち"します。
ありがとうございます。そのスピードが目に浮かびます。
Grade様
>ワンクリックで様々な書式で日付文字をクリップボードに取得する
>ツールを作って使っています。
ありがとうございます。
そのツール、どこかで公開されてますか。バイナリいただきたいです...がんばって辞書登録をサービスで作る?って思ったりしてたので。
IDE上であればマクロ作っちゃえば早いのでは?
2005ならSampleマクロにInsertDateってのがあるのでこれをまねすれば
簡単にできそう。2003はよくわかりません。
一応参考
Visual Studio 2003でマクロを組み込む方法
http://naka.wankuma.com/site/column/dotnet/00016.htm
私もバージョン管理を推奨。基本方針として
・過去のソース(履歴)はバージョン管理で全部保存しておく。
・その代わり不要なソースはどんどん消す。
・必要ならソースの先頭に(CVS等の)名前と日付の自動挿入を使う。
です。
何でもかんでもコメントで残すやり方は、ソースが少なければ良いですが、10万行とかを超えると破綻します(経験上)。話がずれたかな?
1行目に .LOG と書いてあるファイルをメモ帳で開く
アップできる場所さえ教えてもらえたら
どこかに掲載しますよ。
錚々たるかたがたにご回答いただき感謝申し上げます。
Blue様
>2005ならSampleマクロにInsertDateってのがあるのでこれをまねすれば
>簡単にできそう。2003はよくわかりません。
ありがとうございます。これでできました。
あ様
>何でもかんでもコメントで残すやり方は、ソースが少なければ良いですが、10万行とかを超えると破綻します(経験上)。話がずれたかな?
ありがとうございます。ずれておりません。επιστημη様と同じ正統なるご意見だと存じます。
ただ要請上もあり...。
tetrapod様
>1行目に .LOG と書いてあるファイルをメモ帳で開く
ありがとうございます。
この機能おもしろいですねー、なにかに使えそうな。
Grade様
>アップできる場所さえ教えてもらえたら
>どこかに掲載しますよ。
再度ありがとうございます。しばらくググったんですがそんな便利な置き場ってないんですね。
CodeProjectとかYouSendItとかは使わしてもらっているんですが。
今回はBlue様の方法で達成できましたので、あきらめます。
皆様にこころからお礼申し上げます。
解決マークです。
ついでにマクロのコードも書いてもらえると同じことをやりたい人が
参考になると思います。
ちなみに2005だと
Sub AddUpdateComment()
Dim textSelection As EnvDTE.TextSelection
Dim org As String
textSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)
org = textSelection.Text
' 改行で終わっていない場合は改行文字をつける
If Not org.EndsWith(Environment.NewLine) Then
org &= Environment.NewLine
End If
textSelection.Text = "// " & System.DateTime.Now.ToString("yyyy/MM/dd") & " start mod. by " & Environment.UserName & Environment.NewLine & _
org & _
"// " & System.DateTime.Now.ToString("yyyy/MM/dd") & " end mod. by " & Environment.UserName & Environment.NewLine
End Sub
てなかんじかなと。(Environment.UserNameが微妙そうだけど)
ちなみに、私もこの手のコメントはあまりよろしくないかなぁと思っています。
ソース管理ツール(CVSとかVSSとか)をつかっているならやらないほうが良いでしょう。
(書くのであれば、ソースの最初のほうに変更履歴みたいなのを書くだけにする。)
ソース管理ツールを使っていない場合は、いたしかたないですがうまいこと書いていかないとコメントだらけで読みづらくなるのだけは避けてください。
最初からの手順を書かせていただきました。
VS2003.netメニューより『表示』→『その他のウィンドウ』→『マクロエクスプローラ』でマクロエクスプローラを起動してください。
ついでマクロエクスプローラメニューより『プロジェクト』→『モジュールの追加』→『ファイル名の追加』で(例えば)InsertDateを入力してください。
その定義欄に以下をコピーしてください。
そして保存します。
VS2003.netメニューより『ツール』→『オプション』→『キーボード』→『Macros.MyMacros.InsertDateStart』を選択してください。
オプションダイアログより『ショートカットキー(P)』エディットコントロールにフォーカスを移動し、(例えば)CTRL+'*'を押し、その後『割り当てボタン』を押してください。
『Macros.MyMacros.InsertDateStart』でも同様に(例えば)CTRL+'-'を押して同様に処理してください。
これでC++ソースエディット画面で、ショートカットで可能となります。
------------------------------------------------------------
Imports EnvDTE
Imports System.Diagnostics
Public Module InsertDate
Sub InsertDateStart()
Dim objTextSelection As TextSelection
objTextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)
' objTextSelection.Text = "// " + System.DateTime.Now.ToLongDateString()
objTextSelection.Text = "// " + System.DateTime.Now.Today + " start mod. by よすむら"
End Sub
Sub InsertDateEnd()
Dim objTextSelection As TextSelection
objTextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)
' objTextSelection.Text = "// " + System.DateTime.Now.ToLongDateString()
objTextSelection.Text = "// " + System.DateTime.Now.Today + " end mod. by よすむら"
End Sub
End Module
------------------------------------------------------------
メールアドレスなど教えていただければお送りします。
この手のコメントは
何重にもなる場合があって怖いですよね。
私も引き継ぎ仕事でついついそういうコメントのつけかたの
仕事をしてしまいますが
そういえば、自分で1〜10まで全部わかっているソースの場合は
こういうコメントは付けないですね。
そういえば、
KeiziWeb ver 4.3
http://keiziweb.com/software.html
このCharu3というソフトを使えば
ソースを選択して、キーを押して選択したら
お望みのテキストを貼り付ける事ができると思います。
日付時刻マクロがあるとのことです。
ツイート | ![]() |