VS 2013 Find All References Not Working in cshtml Pages - razor

I have a Web Pages (Razor) c# app and I have moved it to VS 2013 Community Edition Update 4
Previously, when I wanted to see where a variable or function was used/references, I used the "Find ALl References" tool (Shift + F12) and I would get a list of each occurrence and where it was found (page and line).;
Now I find that the only time I can get Find All References to work is on a cshtml page within the App_Code folder. It does nothing in pages that are in the top-level project folder (i.e., the pages which make up the bulk of my website). I highlight a variable and hit Shift+F12 (or click on Find All References in the right-click menu) and nothing happens: no hour glass, no flicker, no list of references (even though the page is riddled with references to the highlighted variable).
Is there some setting or something that can make this useful feature work in the cshtml pages in the top-level project folder like it does in pages in the App_Code folder?

It seems that Visual Studio 2013 is lacking this feature. I cannot say if Visual Studio 2015 has fixed this issue.
What I do:
Find all CTRL+SHIFT+F
Search MyPublicMethod( or .MyPublicProperty
Search in file types: *.cshtml
Problem with this approach: if you have duplicated properties in multiple classes (name, url, ...) you will not be able to tell to what class the property belongs without reading your code.

Related

PhpStorm: multiple projects with common core

Due to security reasons, I have to split one project to divisions (client, admin, ...), and deploy them to different web servers. These divisions have one common script base, but each division has its own functions. As an IDE I use PhpStorm.
The question: what is the best way to organize project's structure and settings, so the common core part will be visible for IDE indexing in all project's divisions, but at the same time, being maintained from a single project (perhaps, standalone)?
In Java you can do lib jar files for further linking in various projects.
But how it can be done in PHP?
There are multiple ways of how to reference extra PHP code in a project.
If you plan to actively edit such extra code in the same project (and want to see their TODOs, code inspection warnings, include references in code refactoring etc):
You can just add it as an additional Content Root: Settings/Preferences | Directories. Folder added this way will be treated as a part of the project itself and will be shown as a separate node in the Project View panel (just as the main code, which is a Content Root as well).
Or you can open 2nd project while 1st one is already opened and when asked, just chose "Attach":
It's not going to be full 2 projects in one frame, more like something in between attaching Content Root and having 2 projects opened in separate frames.
https://www.jetbrains.com/help/phpstorm/opening-multiple-projects.html
Simple symlink will also do the job (but you need to place it somewhere in a project, e.g. PROJECT_ROOT/libs/my_symlinked_code). You then will need to provide a path mapping for that folder for debugger (if you will debug it of course) as PHP/Xdebug works with "final/resolved path" while IDE works with the path as is.
If you do not need to actively edit that extra code in the same window (and ignore any TODOs, code inspection warnings and other inspection results etc):
Do it as a composer package then? Composer can use custom sources (e.g. GitHub repo or a folder on a local filesystem).
Just add the path to that folder as a "Include Path" at Settings/Preferences | Languages & Frameworks | PHP --> Include Path tab. Code referenced this way is meant for 3rd party libraries (the code that you just use but not edit, e.g. framework code, your send mail/ORM library etc). Composer packages will also be included here by default.
https://www.jetbrains.com/help/phpstorm/php.html#include-path-tab

Inconsistency in MS Graph API behaviour for onenote

When a section renamed get sections API doesn't reflect the updated name whereas get page api shows updated parent section name. This seems to be bug/ data inconsistency in ON API.
On change of anything at page level updates the lastModifiedDateTime for a section but nothing gets changed at notebook level. This again seems to be like some data inconsitency issue.
Can somebody clear this confusion.
(Note - All above can be tested using MS Graph API Explorer
)
These are two separate topics:
Section renaming
This is a known limitation/bug in OneNote - if you rename a section in OneNote Online (in your browser), then the API GET ~/notebooks/id/sections or GET ~/sections will give you the "old" name. This is because OneNote Online doesn't actually rename a file, it only marks the file as "to be renamed" - if you were to look at the file itself in OneDrive/SharePoint it would still have the old name.
Once the OneNote Native Client sees the section (for example OneNote for Windows) sees the section that has been marked as "to be renamed", it actually renames the file.
The OneNote API GET ~/sections/id/pages actually looks at the section binaries and is able to tell whether the section is renamed or not, which is why that name can be trusted as the "most up to date" one.
I have communicated this feedback to our team and we are exploring alternatives - I encourage you to start an item in uservoice so we can better understand impact.
https://onenote.uservoice.com/forums/245490-onenote-developer-apis
LastModifiedTime (LMT) on notebook/section clarifications:
The LMT of a section is equal to max(LMT of pages under it).
The LMT of a section group however is not max (LMT of sections and section groups under it). A section group is a folder and its LMT should behave like that of a folder in a traditional file system (reflects time of last add/delete of a file/folder directly under it).
However, there is nothing stopping you from using $expand and calculating the LMT (as you understand it) yourself based on the entities below the notebook/section group.
https://blogs.msdn.microsoft.com/onenotedev/2014/12/16/beta-get-onenote-entities-in-one-roundtrip-using-expand/

Renamed SSIS Package and Now Don't Have Access to my Solutions

I made a goof and renamed my SSIS package without fully understanding what I was doing. Now I get "one or more solutions couldn't be added..." I then go to my solution explorer and no solutions are there. Please note that I've been working on this project for 6 months. I checked the project obj folder and all my solutions are there. I'm pretty sure I have to rename something else. Will somebody please help me. I am an intern and am FREAKING OUT.
Let's examine what's happening. I am using SSIS 2012 in this example but the steps will be the same for 2005 to 2014. This assumes you have turned off "hide file extensions".
Visual Studio is an Integrated Development Environment, IDE, for developing software. The outermost concept is a Solution. See 1 below. Solutions solve a problem as a whole. A solution might need multiple tools to solve a problem. A tool in this case, is a Project (#2). Depending on the type of project, different folders and such will appear in section 3. This is an example of an SSIS project.
If you don't see your solution, there's a question for that Solution Folder Not Showing in Visual Studio 2010 - How Can I Make It Visible?
If I Rename the project JeffOrris to JeffOrris2 and close Visual Studio, it will prompt me to save changes to JeffOrris.sln (and optionally, the project). If I click No, when I reopen the solution, I am greeted with the following error message along with Visual Studio indicating that my project JeffOrris is unavailable. :'(
---------------------------
Microsoft Visual Studio
---------------------------
One or more projects in the solution were not loaded correctly.
Please see the Output Window for details.
---------------------------
OK
---------------------------
To start fixing things, you have to get Visual Studio to play ball. You can do this one of two routes. The first is to Add the renamed project back into the solution. Add... Existing Project... and then find your .dtproj file (or .whatever it was with 2005/2008) Assuming that loads fine, you can right click on the one that isn't loading and select Remove. Then click "Save All" or Ctrl-Shift-S
Option 2, which is what I do is to go mucking about with files. Find where your .SLN is. If your project is still open, it will indicate it under properties but once it's bolloxed then you'd need to right click and choose Open Folder in File Explorer.
However you get here, look at what you have.
A solution is represented on disk by a .sln file. That's a text file, might be UTF-8 but it's human readable text. The .suo file is binary that keeps track of what you have open and such. It doesn't matter, the .sln does.
Take a peek inside your solution file. Knowledge is only good for you
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "JeffOrris", "JeffOrris\JeffOrris.dtproj", "{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Development|Default = Development|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}.Development|Default.ActiveCfg = Development
{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}.Development|Default.Build.0 = Development
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Of importance is the line starting with Project. That says I, the Solution, have a Project called JeffOrris and the project file can be found, relative to my location, at Folder called JeffOrris and inside there a file named JeffOrris.dtproj
The "trick" then is to make your subject and verbs agree. Or in this case, make your Solution and your .dtproj file agree. That'd be #6 below. After saving the solution file, Visual Studio should prompt you to reload it and whoosh, your project is back.
If you have inadvertently renamed the .dtproj file, then you can rename it back. Again, save all

Access COMDLG32.dll Reference Gone

To make a specific application work on another user's machine, we removed a reference for Microsoft Common Dialog Control 6.0 (SP3), or "COMDLG32.dll", from the application. We thought this would be appropriate because the application appeared to compile just fine without it.
Unfortunately, this was a trick. The reference appears to be required for different control boxes used throughout the app. Now that it's been removed, I can't seem to locate it in the References selection box in Access's VBA editor.
It used to be referenced by name (Microsoft Common Dialog Control 6.0) in the list of Available References to add to the application. Now, I'm only able to find the reference if I browse to the list of common references. "COMDLG32.dll" is an option. However, if I select the file, I'm told that I'm unable to use the reference.
Help?

How to create HTML 5 project in Aptana Studio?

I installed Aptana Studio 3 on my windows machine.
I created new WEB Project but when I expand my Proj folder I can see only "Connection" tab. Nothing else. What is the prob? what should I do to get all the files?
Forgive me if the following is what you already did but I was not certain what steps you took from your question/post ... I'm going through the standard steps for creating an HTML 5 Web Project with the Boilerplate templates:
Open Aptana ( duh :) )
File -> New -> Web Project
Provide a Project Name and select your directory if you don't want the default used
Press Next
Select the checkbox for 'Create the project using one of the templates'
Select the HTML5 Boilerplate (use the cached one - I can never get the other, networked one to work)
Select Finish
You should now see the new project and all its default files in your App Explorer view in Aptana.
If you followed those steps but it still fails, I would file a bug (or, at the least, check the existing issues with Aptana) at:
http://jira.appcelerator.org/browse/APSTUD (bugs)