Top / Windows / VisualStudio.NETとMeadowの連携

はじめに

VisualStudio?.NET と Meadow を連携させて快適な環境を得るための方法です.

最新の10件を表示しています。 コメントページを参照

  • 最新版にしました。 -- R? 2009-10-17 (土) 17:33:05
お名前:

目次

VisualStudio?.NETとMeadowの連携

VisualStudio?.NETで開いているファイルをMeadowで開く場合は、
下記を参照
http://www.sofarts.com/oldnew/computer/env-soft/windows/app_programming/vs/net/hidemaru.htm

C-M-Enter ... Visual Studio.NET で表示しているファイルを Meadow で開く(要キーボード設定)
設定方法:
メニュー[ツール]→[外部ツール]→ダイアログボックスで[追加]をクリック
タイトル:Meadowで開く
コマンド:C:\meadow3\bin\gnuclientw.exe
引数:+$(CurLine) $(ItemPath)
初期ディレクトリ:$(ItemDir)
また、メニュー[ツール]にて上記コマンドが何番目に追加されたか覚えておく。
メニュー[ツール]→[オプション]の[キーボード]を選択します。
「ツール,外部コマンド(追加したツールの順番)」を選択。
Ctrl+Alt+Enter に割り当てます(テキストエディタのみ)。



逆に、Meadowで開いているソース、同じ位置、をVS.NET(6.0/7.0/2003/2005/2008/2010)の
既存プロジェクト内で、IDEエディタを使って開きたい場合は次のようにします。
まずは次のファイルをダウンロードしてください。
vsn.el ... スペースを含むpath上のファイルが開けなかったのを修正。2003.11.20
vsn-open.vbs ... DevEnvDDEを呼び出し、その後の指定行へのJumpを行っている。
DevEnvDDE.exe ... ファイルを各IDEで開くだけのコマンド。 2009.10.17

これらの添付ファイルをpathの通ったところにいれます。
(vsn.elは、elispのpathの通ったところ。c:\Meadow\site-lispなんかでもいいです。)
デフォルトは、vsn-open.vbsやDevEnvDDEexeは、「C:\Meadow3\bin」に入れているものとしています。

使うときは、.emacsに次のように設定すれば、Meadowで開いているファイルを「Alt-Return」で.NETの
エディタで開くことが可能です。

(require 'vsn)
;;; M-return に割り付け
(global-set-key [M-return] 'vsn-line-open-buffer)
;; Visual Cのエディタで行番号ジャンプに割り当てているキーの設定
(setq vsn-open-key "^g")		;; C-g

もとネタはここにあります。
添付したものは、エラーチェックを少し追加してコンパイルしたものと、
付属のperlスクリプトではなく、Windowsならたいてい標準で入っている
WSHをつかったスクリプトに変えています。

無理やり行ジャンプさせているので、遅いマシンなどうまく動かない人はvsn.elを見てwaitを増やしてください(他にいい方法を知っている方がいれば教えてください)。
後、連携して使うには「20.1.1 ファイルを読み込み直す」の自動読み込みの設定をしておくほうがよいです(CVS, VSSの更新、IDEでのファイル修正をしても、Meadowで自動で読み込んでくれるので整合性が保たれる)。
また、Xkeymacsを入れておけばIDE上のキー操作でも戸惑うことは無いでしょう。

以上で、VisualStudio?.NETとMeadowの連携は取れます。

UFT-8 ソースで開発する場合

VisualStudio?.NETで作られたUTF-8のソースには、先頭に文字コード判別用のBOMというものがあります。 Meadow3とMule-UCSを導入していると、UTF-8のソースを開くことができますが保存する時は、BOMを削除してしまいます。 BOMを削除してしまうとVisualStudio?.NETで開きなおすと文字化けの原因になります。 これを回避するために、次の設定が必要です。

;; Mule-UCSにて、BOM付きファイルをutf-8-ws-にするため
(setq auto-coding-regexp-alist
      '(("^BABYL OPTIONS:[ \t]*-\\*-[ \t]*rmail[ \t]*-\\*-" . no-conversion) 
	("\\`\xFE\xFF" . utf-16be-with-signature)
	("\\`\xFF\xFE" . utf-16le-with-signature)
	("\\`\xEF\xBB\xBF" . utf-8-ws-dos)  ; ←BOMを消さないため追加
))

また、Meadow3の最新版では、UTF-8のコピペにも対応していますので次の設定もしておくと良いでしょう。

(set-clipboard-coding-system 'cp932)

その他のMule-UCSの設定は、下記のようにしています。参考にしてください。

;; japanese-* を優先してデコードするように対処(UTF-8 で「×」が文字化けしない対策)
(setq unicode-basic-translation-charset-order-list
      '(ascii japanese-jisx0208 japanese-jisx0213-1 japanese-jisx0213-2 japanese-jisx0212 katakana-jisx0201 latin-iso8859-1 latin-iso8859-2 latin-iso8859-3 latin-iso8859-4 cyrillic-iso8859-5 greek-iso8859-7 hebrew-iso8859-8 latin-iso8859-9 latin-iso8859-14 latin-iso8859-15 ipa  chinese-gb2312 chinese-cns11643-1 chinese-cns11643-2 chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7 chinese-big5-1 chinese-big5-2 korean-ksc5601 latin-jisx0201 thai-tis620 ethiopic indian-is13194 chinese-sisheng lao vietnamese-viscii-lower vietnamese-viscii-upper tibetan mule-unicode-0100-24ff mule-unicode-2500-33ff mule-unicode-e000-ffff mule-ucs-unicode-multichar))
(require 'jisx0213)   ;; utf-translate-cjk-modeを使うのでマスク。cp932に置き換える。
(require 'un-jisx0208ex)  ;; 機種依存文字表示用(内部でun-defineを呼んでいる)
;;; Japanese
(set-language-environment "Japanese")
(set-default-coding-systems 'japanese-shift-jis-dos)
(require 'subst-win)      ;; 必要ないかも
(require 'cp932)	  ;; 
;;; 設定 utf-8 で jisx0213 が使える簡易パッチ
;; http://www.ysnb.net/meadow/meadow-users-jp/2005/msg00429.html
(modify-category-entry (make-char 'japanese-jisx0213-1) ?j)
(modify-category-entry (make-char 'japanese-jisx0213-2) ?j)
(eval-after-load "subst-jis" '(load "subst-jisx0213"))
(load "utf-8") ;; patched file
(load "utf-16") ;; for safe-charsets
(utf-translate-cjk-set-unicode-range `((#x80 . ,(lsh -1 -1))))

;; C. fix: Unicode => Japanese mapping 丸囲み数字対応 (load "utf-8")の後でないとダメ
;; Thanks to saiki-san (see [macemacsjp-users 870])
;; register circle around digits to cjk table (by Ando-san)
(defadvice utf-translate-cjk-load-tables
  (after my-ad-circled-digit activate)
  (dotimes (i 20)
    (let ((unicode (+ #x2460 i))
	  (char (+ 54433 i)))
      (if (utf-translate-cjk-substitutable-p unicode)
	  (puthash unicode char ucs-unicode-to-mule-cjk))
      (puthash char unicode ucs-mule-cjk-to-unicode))))

;; utf-translate-cjk-mode設定 http://nijino.homelinux.net/emacs/utf-cjk.html
(utf-translate-cjk-set-unicode-range
 '((#x00a2 . #x00a3) ; ¢, £
   (#x00a7 . #x00a8) ; §, ¨
   (#x00ac . #x00ac) ; ¬
   (#x00b0 . #x00b1) ; °, ±
   (#x00b4 . #x00b4) ; ´
   (#x00b6 . #x00b6) ; ¶
   (#x00d7 . #x00d7) ; ×
   (#X00f7 . #x00f7) ; ÷
   (#x0370 . #x03ff) ; Greek and Coptic
   (#x0400 . #x04FF) ; Cyrillic
   (#x2000 . #x206F) ; General Punctuation
   (#x2100 . #x214F) ; Letterlike Symbols
   (#x2190 . #x21FF) ; Arrows
   (#x2200 . #x22FF) ; Mathematical Operators
   (#x2300 . #x23FF) ; Miscellaneous Technical
   (#x2500 . #x257F) ; Box Drawing
   (#x25A0 . #x25FF) ; Geometric Shapes
   (#x2600 . #x26FF) ; Miscellaneous Symbols
   (#x2e80 . #xd7a3) (#xff00 . #xffef)))

上記をそのまま入れても足りないパッケージがあるかもしれません。 ググれば出てくると思いますのでがんばってください。

カスタマイズ

vsn-open.vbs をインストールしたディレクトリを指定する場合。

(setq vsn-open-exec "C:/Meadow3/bin/vsn-open.vbs")

デフォルトで、MeadowとVSNとの切り替えに失敗することがある場合、
下記のWAITを増やしてください。

(setq vsn-open-wait "200")

ファイルを開く、Visual Cのバージョン指定をする場合、
Visual C 6.0なら

(setq vsn-open-type "VS6")

VisualStudio?.NETの場合、

(setq vsn-open-type "VSNET")

VisualStudio?.NET2003の場合は下記のように設定してください。

(setq vsn-open-type "VSNET2003")

VisualStudio?.NET2005の場合は下記のように設定してください。

(setq vsn-open-type "VSNET2005")

VisualStudio?.NET2008の場合は下記のように設定してください。

(setq vsn-open-type "VSNET2008")

VisualStudio?.NET2010の場合は下記のように設定してください。

(setq vsn-open-type "VSNET2010")

Visual Cのエディタで、行番号ジャンプに割り当てているキーの
カスタマイズ設定を変更する場合は、下記の値を変えてください。
(別のキーにすでに、割り当てている人向けです。)

(setq vsn-open-key "%g") ;; ←M-g、(or C-g: "^g")

そのほかのプラグイン(未確認)

私は、プラグインを入れるとIDEが不安定になっても困るので入れていません・・・。

.NET IDEエディタで開いているファイルを、Meadow開くプラグインでは下記のような日本人の制作したものもあります(.Netでも動くらしい)。
http://kkkon.hp.infoseek.co.jp/software/index.shtml

VC5.0とか6.0なんかは下記のVisEmacs?が有名。
コンパイルエラーのタグジャンプで開くファイルもMeadowに出来るようです。
(CVS版だと新しいIDEにも対応しているかも・・・) http://www.atnetsend.net/computing/VisEmacs/
http://www.smathers.net/VisEmacs.htm
http://www.hh.iij4u.or.jp/~peto/Emacs/emacs.html

さらにEmacs Wikiより、VC6.0のデバッガを操作するものもあります。

コマンドラインからMSDNライブラリHelpを呼ぶには下記のもの。
http://www.egroups.co.jp/files/emacs21-users-ja/vshelpcall-0.10-src.zip

他にも、w32-dev-envというものもあります(英語)

MS WindowsヘルプMeadowから検索したい

Emacs WiKi?では下記のようなものがある。
http://www.emacswiki.org/cgi-bin/wiki/AccessingWindowsHelpFiles

ここにあるのは検索ツールもファイル形式により keyhh.exe, winhlp32と分かれている。しかも、単体のヘルプファイル指定のものだけ。
【要望】
リストで各ヘルプファイル指定とそれに対する、タグネームをユーザーがつ けて、検索時に M-n, M-p等でタグネームを選択して実行。 hlp や chm なども意識せずにカーソル下の単語を検索できれば便利かな。

Visual Studio .NET をEmacsキーバインドにする方法

http://www.greenwood.co.jp/~k-aki/soft/vs_emacs_key/


添付ファイル: fileDevEnvDDE.zip 765件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Sat, 17 Oct 2009 17:32:37 JST (2833d)