How do I add an assembly's xml documentation in MonoDevelop? - monodevelop

I have a compiled assembly (dll) and a corresponding xml document (generated by DoxyGen, I think?). How can I convince MonoDevelop to take me to the definitions within the xml document instead of the Assembly Browser when I use Go To Definition?
I've tried putting the xml file in the same folder as the dll, but that doesn't seem to be enough, and the MonoDevelop documentation doesn't seem to mention this at all.

Related

Get HTML file produced by JavaDocs

I understand that Javadoc is a documentation generator from Sun Microsystems for generating API documentation in HTML format from Java source code.
I infer that the documentation is stored onto an HTML file.
Is there a way I can access it?
If yes where is it stored?
The word Javadoc can refer to
special comments in Java source files (preceding a declaration, and of the form /** ... */)
a program which converts these comments (as well as the declarations themselves) to readable output
the output itself, usually in HTML form.
The Javadoc program is contained in Sun's (or now Oracle's) Java Development Kit (JDK).
If you have installed a JDK (which you should if you do Java development), you can call it on the command line, passing it the package names to document, or some source file names. You should also indicate the output directory, using the -d option.
I'm assuming the following directory (and package) structure in my example below:
current directory
source
de
dclj
paul
examples
HelloWorld.java [containing package de.dclj.paul.examples; and public class HelloWorld { ... }]
docs
Then you use the following command line:
javadoc -sourcpath source -d docs de.dclj.paul.examples
It will then create a the documentation in the docs directory, with an index.html which you can open in your web browser, and other files reachable from it.
For more details have a look at the documentation linked above. For an example output, have a look at the Java Standard API Javadoc.
If you are using an IDE, you likely have a generate Javadoc button there, and the IDE might even show the formatted output of documentation of single classes or methods on the fly.

Local XSL reference within XML-File

First a short task description:
There is an XML file which references a xsl stylesheet which is within a *.dll.
The beginning of this XML looks as follows:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='res://name_xsl.dll/frameset.xsl'?>
This xml file can be opened and displayed as an HTML within Internet Explorer and only IE.
(The xsl transform the xml to html)
As you can see it references the win32 system folder, in which the dll file is saved.
Referencing with "res://" does work.
But now I do not want to store my dll within the system folder, but under a different folder lets say %ALLUSERSPROFILE% (environment variable) which e.g. on Windows XP is C:\Documents and Settings\All Users or on Win7 C:\Users\Public (Not sure about that one).
How do I reference to the dll lying in that folder?
Is it possible to do this using environment variables, such that it is system independent?
What solution would you recommend.
(All html, xsl data is saved locally within the dll on the local computer.)
So far I have tried to change the reference line to the following:
<?xml-stylesheet type='text/xsl' href='file:///c:/Documents and Settings/All Users/name_xsl.dll/frameset.xsl'?>
I have also tried the same with the root folder c: and even without absolute path having all files (xml and dll) in the same folder.
All attempts without res:// resulted in the following error message:
The system cannot locate the resource specified.
Error processing resource 'file:///C:/Documents and Settings/All Users/name_xsl.dll/...
or 'file:///C:/name_xsl.dll/frameset.xsl'
Could you help me out? Why it does not find the file?
(filenames are fictive)
This is the solution:
<?xml-stylesheet type='text/xsl' href='res://C:%5CDocuments and Settings%5CAll Users%5Cname_xsl.dll/frameset.xsl'?>
Notes:
You MUST use the res:// protocol to access a resource within a file.
File system backslashes can be encoded as %5C . Possibly forward slashes will work as well.
Example:
I tested this example for the file:// protocol, but it should work the same way as the res: protocol. On my system, I have a text file located at:
C:\Program Files\CodeGear\Delphi for PHP\2.0\privacy.txt
I can access this file, by putting into the nav bar of the Windows File Explorer:
file:///%ProgramFiles%/CodeGear/Delphi for PHP/2.0/privacy.txt
Notice backslashes converted to forward slashes, and no need to escape spaces. This has been tested and it works. The equivalent on the res protocol had not been tested, but it should work the same way, except of course that the res protocol is slightly different in that it also includes a resource index number.
Refer http://msdn.microsoft.com/en-us/library/ie/aa767740(v=vs.85).aspx for syntax.

Difference between libs and src folder

What's the difference between libs and src folders?
The source folder is for ActionScript and Flex source files, mostly with .mxml or .as extensions. Anything you code you put in the src folder, though if you create your own library of reusable code, you might keep it in a second source folder (with another name, of course).
The libs folder is a special folder in Flash Builder, that you can put .swc files in. These SWCs (pronounce 'swicks') contain compiled code already. 3rdparty frameworks (or libraries) are easy to use by downloading their SWCs, and you can also create SWCs with assets from the Flash IDE, for easy access to your asset library. Hence, I guess, the naming of the folder 'libs'. The SWCs in the libs folder are automatically added to the classpath of your project, so you can access the classes therein.
Cheers,
EP.
P.S. Worth noting is that in other development IDE's like FDT or FlashDevelop, SWCs in the 'libs' folder are not neccessarily added to the classpath automatically and might need a little manual configuration.
src should contain your source code. lib contains the librairies that you reference and use in your code (.jar files for example).
EDIT : For Flex projects, you put in lib the .swc files that you load from your source code.

How to build HTML Documentation with Sandcastle

How to build CHM / HTML Documentation with Sandcastle? Can build HTML file from XML or have to used .cs and dll files?
How to build CHM / HTML Documentation with Sandcastle?
Use the Sandcastle Help File Builder.
Can build HTML file from XML or have to used .cs and dll files?
I think it uses the *.dll and the *.xml (both together) as input. One of the 'tips' in the SHFB documentation says,
"When selecting either an assembly or an XML comments file, the help file builder will automatically add the partner file for you (i.e. the XML comments file for the like-named assembly or the assembly for the like-named comments file). Multiple files can also be selected and added in one go or dragged from Windows Explorer and dropped on the Documentation Sources node."
Sandcastle uses dll to generate documentation. It also needs the xml from code comments to be build by visual studio. To do that, basically select output XML from your project build properties and then open the csproj (your VS project) in SandCastle Help file builder.

Add programming language to gedit external tools?

The gedit external tools plugin allows tools to apply to only one or more of a predefined list of file types.
How do I define my own file types?
Could you be more specific? What language?
Do yo want to add support for another programming language in gtksourceview - maybe you want to add code snippets for this language?
If this language is already supported
Then you have to find the language description and mime type files and install them on your system. You'll find these embedded in plugins packages (example: Gmate).
Here's an example for YAML:
find the language description file (yml.lang) and copy it to your ~/.local/share/gtksourceview-2.0/language-specs/ directory
find the mime-type file (x-yaml.xml) and copy it to your ~/.local/share/mime/package/
restart gedit; this language should show up the language list; you can now add your own snippets!
If you can't find any resource for this language (is this a custom language?)
Well, you'll have to write the whole thing. The mime-type file is pretty basic (just mapping file extensions to your newly created mime-type).
But writing your own language file is not straightforward.
These links should be useful to that matter:
Gedit: writing your own language
gtksourceview: new language tutorial (with C)
gtksourceview: XML language file reference