Visual Studio 2013 Document Outline tool always empty - asp.net-mvc

I'm currently editing a large CSS-file in the Visual Studio 2013 editor, and would hugely benefit from a tool that hierarchically listed the content of the files I'm editing. From what I understand, the Document Outline (DO) tool in VS is supposed to achieve this, however, it never actually displays anything; regardless of the document I am editing while the DO panel is visible (CSS, C#, JS, XML etc..), it just tells that:
There are no items to show for the selected document.
First of all, is the DO the right tool for the job, and if yes, how do I get it to display my pages' content? Am I perhaps missing some dll-files?
For the reference, I am developing an asp.net-MVC application.

You may want to install the Mexedge Stylesheet Extension that displays CSS structure in Solution Explorer.

Related

delphi integrate custom file editor into IDE

I have deveoped a custom file type, together with a custom editor (basically a tree with several data pages attached and a few extra buttons). OK, I can run it stand alone and that is fine, and even add it to the tools menu, but I would like to integrate it into the Delphi IDE so that my custom editor (or a similar new version) appears in the IDE, rather like a DFM file has a custom editor. I can find references to most extensions in the Delphi IDE, but not this one. Any guiding hands? Note that this is not a property or component editor (the file type has nothing to do with either of these) nor is it simply syntax highlighting of a text file.
AFAIK it currently isn't possible to reliably integrate a custom editor into the Delphi IDE. The required API simply isn't there. See QC89028 Custom Module support.
During the Delphi 2010 and XE betas I spent most my spare time trying to get a resource editor integrated. Although the effort had the official blessing of Embarcadero and got some, half hearted, support from the IDE engineer, I was never able to get them to deliver on their promises and surface the module API. I eventually abandoned the project.
Update: I've now checked my old correspondence regarding this and it turns out part of the problem was that IOTAModuleCreator (used to implement File|New for custom file types) and IOTAEditorContent (used to transfer data to/from the custom module) only supports text data. Binary data gets mangled.
You can probably do this via an IDE plugin that uses the ToolsAPI (see ToolsAPI.pas in the IDE's source folder (e.g. Program Files (x86)\Embarcadero\Studio\source\ToolsAPI\ToolsAPI.pas.)
For information on writing a plugin in general, see David G Hoyle's excellent blog. Once you know the basics - i.e., write a 'wizard' and get it to do something - you will need to work on integrating your editor.
I have never done this, and so I can't guarantee it is possible. However, some interfaces that look worth investigating and implementing are INTACustomEditorView, which represents a 'view' (file tab when that file is open - think the code editor, Welcome view, type library editor, etc) and IOTAEditorViewServices, to register your custom view. I do not know how you associate a view type with a file type, sorry - possibly something to do with the personality interfaces. You might also be interested in INTACustomEditorSubView which is what creates a tab on the bottom of a file.
Good luck, and if you find a solution please write here so that other people can learn too!

Display all images in a folder using a list view item in Delphi

I am using RAD Studio xe6 and I have a simple Firemonkey form, what I want to do is get all Images that are in a folder and display them in a list for the user to see, is this possible, and if yes how.
Delphi already ships with a sample program which does similar thing that you seek. The sample program is called FireFlow. If you haven't installed sample programs while installing Delphi you can get the sample program from:
http://docwiki.embarcadero.com/CodeExamples/XE6/en/FMX.FireFlow_Sample
But othervise what you want to do is first search the specific directory for supported image files. To do this use FindFirst, FindNext.
Then you need to decide how are you going to display these images. Now if you intend to display them inside the listbox controll do check the CustomListBox sample which you can also get from web here:
http://docwiki.embarcadero.com/CodeExamples/XE6/en/FMX.CustomListBox_Sample

Identifying Views in the Visual Studio Tab List

In MVC you are likely to have many views with the same name (such as Index.cshtml or Edit.aspx) for the various controllers.
Depending on your working style, you might end up with a few tabs open in Visual Studio ending up with a tablist that looks like:
Index.cshtml|Index.cshtml|SomeController.cs|Edit.cshtml|Index.cshtml|Edit.cshtml|
It is possible to hover over the tabs and wait for the context hint to show up, but I was wondering if anyone had a technique or plugin where the correct file could be more easily identified at a glance (i.e. the Index.cshtml for the SomeController)?
There may be an extension in the Visual Studio 2010 Pro Power Tools that will make your life easier. The Document Well 2010 Plus allows you to configure the document tabs.
I think http://www.tabsstudio.com/ may have the behavior you are looking for.
When you install it you should open the 'Tabs Studio Add-in Manager' and check 'Disambiguator'.
When you have different files open with the same name, it will display it's containing folder.
Home/Index.html | About/Index.html

`Project Page Options` is missing from the IDE, what to do?

While I was using D2007 I've really got used to Project > Project Page Options feature to keep and view some free-form project notes, external references (these almost never being comfortably viewable in built-in HTML designer) etc. Now I have Delphi XE and Project Page Options is missing from Project menu, moreover, projpageide150.bpl mentioned in the documentation is not present in bin directory. How do i fix it? I'm really finding ability to view (not edit!) HTML documents in the IDE a very convenient feature.
It looks like it was dropped but has been re-instated. In my XE2 installation the projpageide160.bpl file is there, as is the Project | Project Page options menu. Neither are present in my D2010 installation.

How do I add recent items to my program's jump list on the Windows 7 taskbar?

I'm using Delphi XE and would like to add "recent items" in the Windows 7 taskbar jump list for my application, like when right-clicking on Microsoft Word brings up recently opened documents.
I've found information on how to set the progress but nothing on jump-list items. Any help would be greatly appreciated.
This will happen automatically if, for instance, you only use the standard Windows file dialogs. At least my text editor, Rejbrand Text Editor, has got such a MRU list by Windows. It lists all files I have recently edited using Rejbrand Text Editor, even though I have not written any code at all for it.
I think that Windows observes the files you
open and save in your application by means of standard Windows file dialogs
open in your application by starting yourapp.exe <file name>, for instance by double-clicking a file that opens in your application
and automatically display these in the list.
If you want to control the task bar button and menu programmatically, you can use the Windows API. Delphi-specific examples are found in this blog post.
In my opinion the best way to do this is to make the following simple API call:
SHAddToRecentDocs(SHARD_PATH, PChar(FileName));
This not only deals with Windows 7 jump lists but also adds your file into the system's list of recently used documents which has an effect on early versions of Windows too.
Call the function whenever you open or save a file.
For your convenience, a link to the documentation of SHAddToRecentDocs().
Here are some resources that I have found useful when making my programs vista ready
http://code.google.com/p/theunknownones/wiki/TaskbarListComponents
http://www.installationexcellence.com/articles/VistaWithDelphi/Index.html
http://www.theabsolute.net/sware/delphivista.html

Resources