U’s Timestamp Editor 1.1.0 Preview 版

U’s Timestamp Editor 1.1.0 Preview 版を公開しました。

メタ情報も書き換えたいというご要望にお応えし、試験的に新機能として追加してみました。Windows Property System に基づいており、プロパティハンドラの登録された拡張子のファイルが対象で、タイムスタンプを値として持つプロパティと総編集時間 (System.Document.TotalEditingTime) を書き換えることができます。U’s Assistant Suite のインストールに上書きしても問題なくお使いいただけるので、興味のある方はぜひお試しください。

[詳細]ページ指定されたファイルに対象となるプロパティがある場合、ダイアログボックスに[詳細]ページが追加されます。ここで編集したいプロパティを選んで値をダブルクリックすると編集モードに入ります。キーボードの場合は F2 キーを使います。読み取り専用ファイルであったり、読み取り専用プロパティであったり、書き換えできないプロパティは編集モードに入れません。設定値を空白にするとプロパティは削除されます。

総編集時間は主に Word や PowerPoint を想定しており、分単位に換算して 32 ビット値を超える時間は入力できないようになっています。Windows Property System の仕様では総編集時間は 100 ナノ秒単位の 64 ビット値として定義されていますが、Office のプロパティハンドラは有効範囲外の値をまともに処理できないようなので入力を制限しています。

Windows Property System に絡む注意点をもうひとつ。標準時の 1601/01/02 00:00:00 未満は空白と同じとみなされ、プロパティが削除されます。日本時間では 1601/01/02 09:00:00 以降が有効なタイムスタンプとなります。

なお、メタ情報の書き換えはファイルの更新日時に影響します。プロパティの設定値が変わった場合、U’s Timestamp Editor はメタ情報を書き換えてからファイルのタイムスタンプの設定を適用するので、必要であれば更新日時も別途設定してください。また、エクスプローラのプロパティシートでは、削除したプロパティが別の値で代替されることがあります。たとえば、メタ情報に「コンテンツの作成日時」がないときはファイルの「作成日時」が代わりに表示されます。

Preview 版とはいえ、現時点ではあくまで試験的なものであり、正式なリリースまでには仕様が一転二転するかもしれません。元々がエクスプローラのプロパティシートを補完することを意図したUIデザインなので大した機能は提供できませんが、ご質問やご要望等がありましたら support@usdesign.jp までお寄せください。

カテゴリー: 製品情報 | U’s Timestamp Editor 1.1.0 Preview 版 はコメントを受け付けていません

U’s Assistant Suite 1.0.4

U’s Assistant Suite 1.0.4 をリリースしました。

U’s Timestamp EditorDTP コントロールには任意の書式の日付/時刻を入力できるようにしているのですが、 エクスプローラのプロパティシートからコピーしたタイムスタンプがなぜか受け付けてもらえず、今までずっと謎でした。 余計な読点があるのでそれは削除するとして、見た目にはそれ以外におかしなところはありません。 ある日、コピーしたタイムスタンプをメモ帳ではないテキストエディタに貼り付けてみたところ、 なにやら ? に化ける文字がいくつか紛れ込んでいることに気づき、詳しく調べたところ、Unicode の制御文字である LRM (Left-to-Right Mark) と RLM (Right-to-Left Mark) を含んでいることが分かりました。 文字列のパースを Windows に任せているのですが、 それでもこれらがあると日付/時刻を表す文字列とはみなされないようです。 そこで DTP コントロールに入力された文字列から LRM/RLM を削除するように対策を施しました。

U’s Window Resizerアプリケーションキーまたはキーボードショートカット ShiftF10 で表示したコンテキストメニューが画面左上に現れる不具合がありました。 WM_CONTEXTMENU メッセージの処理があまかったようで、コンテキストメニューをウィンドウリストの中央に表示するように修正しました。

カテゴリー: 製品情報 | U’s Assistant Suite 1.0.4 はコメントを受け付けていません

バージョン管理を Visual SourceSafe から Git に変えてみた

Visual Studio でのバージョン管理には長らく VSS (Visual SourceSafe) を利用してきました。個人で使っているかぎりは取り立てて問題になるようなことはないのですが、ここのところ Java 絡みの大きなプロジェクトに参加していると SVN (Subversion) を使う機会が多く、それに慣れてくると VSS での管理が面倒くさくなってきました。

なにより、管理対象のソースコードに干渉してしまうのがいただけない。

では、SVN に移行するかというと、Visual Studio に拡張機能を入れるのになんとなく抵抗があって、ちょっと躊躇してしまいました。Eclipse ならもともとがプラグインの集合体なのでプラグインの追加にそれほどの抵抗を感じないのですが、Visual Studio だとなんだか落ち着きません。Microsoft 社製の拡張機能でさえ期待どおりに動いてくれるとはかぎりませんから。それに、最近では Git に注目が集まっていて、Visual Studio 2017 では Git を推しており、必要なものがあらかじめそろっていたので、だったらそっちで行ってみるかということで Git に決めました。技術的なアドバンテージがどうのこうのと言われても個人レベルでは大した決め手にはなりませんし、機能的にはどちらも一長一短だったので、たまには流行りものに乗っかってみるのもいいかと。

バージョン管理を VSS から Git に移行するにあたり、Vss2Git なるツールを利用してリポジトリを変換しました。ただ、機能的には申し分なかったものの、細かいところで期待どおりにとはいかず、仕方がないのでソースコードを書き換えて対処しました。vss2git.rb という選択肢もあるようですが、Ruby 使いではない自分にはお膳立てがちょっと大変そうに見えたので、まずは見通しが立ちやすい Vss2Git でやってみました。

ルートを変更したい:

Vss2Git の [VSS Settings] に VSS のサブプロジェクトのパスを設定しても、それが Git のリポジトリの新たなルートになるわけではなく、ルートはあくまで $ のままで変換されます。どこかパスを変換しているところを書き換えれば対応できるはずだと考えていろいろ探しまわったところ、GitExporter.cs の一か所を空文字列に変えるだけでなんとか対応できました。

タイムスタンプのタイムゾーンを温存したい:

夏時間 (DST: Daylight Savings Time) に絡む何かしらの意図があってタイムスタンプを世界標準時 (UTC: Universal Time, Coordinated) に変換しているようですが、当面はローカルリポジトリだけで運用するつもりですし、どうせこの先のコミットは日本標準時 (JST: Japan Standard Time) で記録されるので、VSS のタイムスタンプをそのまま転記するようにしました。これは GitWrapper.cs の当該処理を無効化すれば対応できました。

git diff の出力はこちら

patch -p1 < vss2git.patch

―― とかやればこれらの修正を適用できます。vss2git.patch の改行は CR + LF になっているので、ZIP ファイルから展開したソースコードの場合、patch コマンドによっては vss2git.patch の改行を LF に変えないとうまくパッチをあてられないかもしれません。

ちゃんと対応するならこれらの設定項目を加えて処理を選べるようにしないと使い物にならないので、これ以上深入りするつもりはありません。とっくの昔にサポートが切れている VSS を使い続けているところは減っているでしょうし、バージョン管理システムの切り替えなんてそう何度も経験するようなことではないはず。まぁ、それでも、この投稿が何かの役に立てば幸いです。

そういえば、VSS に PDF ファイルをコミットするとなんか様子がおかしいと思っていたら、どうやらバグがあったみたいですね。Visual SourceSafe 2005 の更新プログラムがあったなんて、つい最近まで知りませんでした。もっと早くに気づいていれば...。

カテゴリー: 雑記 | タグ: , , , , | バージョン管理を Visual SourceSafe から Git に変えてみた はコメントを受け付けていません

U’s Assistant Suite 1.0.3

U’s Assistant Suite 1.0.3 をリリースしました。

機能的な進展はなく、旧バージョンのままでも問題なくお使いいただけますが、正式に Windows 10 に対応しています。U’s Window Resizer に少し修正を加えており、Windows 10 ではバックグラウンドアプリの非表示ウィンドウをリストから除外するようにしました。また、グリッド状に配置したボタンが等間隔に整列するように補正しています。

早いもので、気がつけば初版リリースからちょうど4年が経っていました。手前味噌ではありますが、なんだかんだで普段から誰よりもこのツールを愛用しています。にもかかわらず、なかなか機能の強化・改善に手をつけられないのがもどかしいかぎりです。今回のバージョンアップでは、ビルド環境を Visual Studio 2017 に移行したり、バージョン管理を Visual SourceSafe から Git に変えてみたり、なんとか最近のトレンドに追いつくので精一杯でした。

カテゴリー: 製品情報 | U’s Assistant Suite 1.0.3 はコメントを受け付けていません

U’s Assistant Suite 裏話

ちょっと探せば似たようなソフトウェアがいくらでも見つかるのに、しかもその多くが無償で手に入るというのに、それでも自作するのは、やはり、手に馴染むツールが欲しいから。どんなに評価が高くても、実際に使ってみると自分の動線に合わないとか、ビジュアル的に好みじゃないとか、どうしても不満は出てきます。

普段の自分の PC 上での行動を改めて観察してみると、ファイルやフォルダーのタイムスタンプ、ウィンドウのサイズや位置には病的なくらい神経質になっているようで、その手のユーティリティの出番が格段に多いことに驚きます。タイムスタンプに至っては、GUI のユーティリティを使うことはほとんどなく、わざわざコマンドプロンプトを開いて touch コマンドを叩く傾向にありました。そこで、まずはこの 2 つを解決するために、U’s Timestamp EditorU’s Window Resizer が生まれました。そして、こういうものは三部作にすると体裁がいいので、もうひとつ何かないかと考えを巡らせたところ、フォルダーのパスを打ち込む際にエクスプローラーのアドレスバーをよくコピーしていることに気づき、U’s Clipboard Utility が加わりました。

ソフトウェアは、実際に動くものを目にし、それを使い込んでいくと、また新たな要求が出てくるもので、機能的不備だけでなく、今まで気づかなかった問題が見えてくることもあります。U’s Assistant Suite もまた然り。改善の余地はまだまだ残されています。たとえば、U’s Timestamp Editor のオプションの選択を自動化したいとか、U’s Clipboard Utility でフルパス以外のファイル情報をコピーしたくなるケースも意外に多いとか、etc.

カテゴリー: 雑記 | タグ: | U’s Assistant Suite 裏話 はコメントを受け付けていません