If you are using VC++ v5.0, try copying the VisEmacs.001 file over
the VisEmacs.dsp file. When using the VC++ 6.0 compiler, I converted
the project file to the new format.
If VisEmacs doesn't register, it won't appear in the Customize
dialog. If it doesn't register, it's because of MFC, or one of the
many versions of regsvr32.exe that are out there. Just download the
source and recompile. That will fix this problem, and register the DLL.
You probably didn't configure gnuserv correctly. Add the following
to your .emacs:
(require 'gnuserv)
(gnuserv-start)
By default, gnuserv will load files into new frames. If you
would rather have gnuserv load files into an existing frame, then
evaluate the following in the chosen frame:
(setq gnuserv-frame (selected-frame))
Placing the above in your startup file, for example, will have
gnuserv load files into the original Emacs frame. Note: one
drawback of this approach is that if the frame associated with gnuserv
is ever closed, gnuserv won't have a frame in which to place buffers.
Taken from the NTEmacs FAQ.
Since VisEmacs uses the gnuserv package
to handle communication with emacs, it is not possible for emacs
to communicate with VisEmacs. However, if you have perl
installed, it is possible to control VisualStudio via it's Document
Object Model.
Here's an example that brings a running VisualStudio instance to
the foreground when S-f7 is pressed in Emacs:
(defun run-perl (&rest stmts)
(call-process "perl" nil nil nil "-e" (apply 'concat stmts)))
(defun switch-to-msdev ()
(interactive)
(save-some-buffers)
(let ((val (run-perl "require Win32::OLE;"
"my $app = Win32::OLE->GetActiveObject('MSDev.Application');"
"$app = Win32::OLE->new('MSDev.Application') if ! defined $app;"
"exit 1 if ! defined $app;"
;; State 1 is Maximized, 2 is minimized, 3 is normal
"$app->{'WindowState'} = 1 if $app->{'WindowState'} == 2;"
"$app->{'Visible'}=1;"
"$app->{'Active'}=1;"
"exit 0;"
)))
(cond ((zerop val)
(iconify-frame)
t)
((= val 1)
(error "MSDev not running"))
(t
(error "Failed to connect to MSDev")))))
(global-set-key [S-f7] 'switch-to-msdev)
At the moment, no. But if you do develop any, I'd be happy to
list them here so send them in!