AppCode - Is it possible to show the current function name? - jetbrains-ide

While navigating through a huge code base and finding oneself inside some arbitrary function, it's sometimes not obvious which function that actually is.
Xcode always shows the current function name at the top of the editor. Is that also possible in AppCode?

Related

ReSharper calls inspection does not find a method

With R# 2017.3 I'm trying to find out whether method A through a call chain eventually might call method B.
So, I'm using Inspect->Incoming calls and try to use the filter field providing the method B name. Even though I know for sure that the method B is in the call tree, the Inspection UI does not find it.
However, if I click many times on "Expand All" and the method B appears in the UI, finally the search to find it.
Is this a bug or there is some setting that controls this behavior (e.g. nesting level)?
I've got the answer from JetBrains:
This behavior is by design because the calculation of the enŠµire call hierarchy at once could take a very long time.

How to jump all dialog BOX by code?

Is there a way to jump all Dialog Box in standard code?
For example if in TaxVatTable.validateWrite call a class TaxVATNumValidateES\validateVATNum and here exist a BOX and I don't want to show, is there a solution?
Exist a way to disable dialog box function in all cases?
Yes you can, just modify the relevant methods in \Classes\Box.
The issue is those Box messages are a decision point being made by the user. So how do you know what they'll always choose? You can return the _defaultButton and probably be O-K in most cases.
They call different types of forms, but the one you're referring to is \System Documentation\Classes\DialogBox which is kernel code so the lowest point you can override it is at the Box class.
You can see how they short-circuit by doing this:
if (clientKind() == ClientType::COMObject)
return _defaultButton;
EDIT:
I want to add that I do NOT recommend doing this. Just change the code in the locations where it's called. You'd be functionally breaking part of the framework. Other developers may NEED to call this functionality at some point.
It's used on forms and all over the place. If you just make it always return Yes, you could cause ALL sorts of problems.

Multiple custom filters in 1 plugin?

I'm writing a few custom CIFilters for a program. Based on the fact that CIKernel's kernelsWithString: will take multiple kernels from the same file (and a few similar clues I can't recall right now), it seems like I could provide them all in 1 plugin. Am I barking up the wrong tree, or is this doable?
I made an admittedly flawed attempt at this, and the 2 filters do show up. However, one was flawed, and using [[CIFilter filterWithName:filterName] attributes] on it produces null for the parameter list.
I believe I've fixed it now, but [CIPlugIn loadAllPlugIns] "loads newly added image units, but image units (and the filters they contain) that are already loaded are not removed." Either my fix is being ignored, or I haven't actually fixed it. Unless somebody knows a method that unloads a filter (which the Core Image Programming Guide implies is possible), I can't be sure without rebooting.
Apparently I had a misunderstanding of how the CIPlugin system works: it is not global. That is, each program's loaded plugins are independent of other programs'. So to update a plugin, simply close all programs that are using it, and replace the plugin.
To answer the main issue, yes, it's fairly easy to put multiple filters in 1 plugin.
Each filter needs it's own XxxPlugInLoader : NSObject <CIPlugInRegistration> class and Xxx : CIFilter class. (The filters' bundleForClass appear to all load from the same bundle.)
The kernels can be in the same *.cikernel file or not, but if together avoid loading the *.cikernel for each filter (it won't hurt, but it's inefficient).
Set up 1 Description.plist and 1 Description.strings, with the info for all the filters. In the plist, each filter's CIFilterClass entry must match the CIFilter class defined above. Each filters CIAttributeDescription entry is a key into the strings file.

Installshield OnInstalledXXX called magically?

I am a newbie when it comes to InstallShield. I have a Setup.RUL that I am guessing is driving the entire installation process. However, there is a function called OnInstalledXXX() (XXX is a randomly chosen name) that is called at the end of the installation. However, I cannot find the caller anywhere in the RUL. When I debug it and put a break in the function, it gets hit. But if I change the name of the function from OnInstalledXXX() to OnInstalledYYY(), then it won't be called.
Does anyone know how this thing works and where is the caller?
Thanks
It could be marked as a Feature Event. Those are linked by name, so changing the name of the function would break it like you describe. You can either search in the Direct Editor for the function's name, or you can visit each of your project's features to find it. (Of course the latter will only work if I guessed correctly.)

I can't get the "Filter results from generated files" to work in Resharper 8

If I've read the documentation correctly, checking the "Filter results from generated files" option is supposed to hide code-generated files from the results of for instance the commmand ReSharper.ReSharper_GotoFile. This does not happen in my solution.
Evidence: ErrorController.generated.cs is code-generated and should be caught by both the wildcard *.Generated.cs and my manual configuration of the T4MVC-folder. Does not happen:
Configuration and solution view:
Anything I've misunderstood or misconfigured?
As far as I can see, the documentation is a little misleading, and this setting only affects searching for types, not files. If this setting is on, go to type will filter results from generated files. This doesn't mean that the types won't appear, though.
If, for example, you add a class Foo in a generated file, then trying to navigate to Foo will still show the result from the generated file, because that's the only result, and, ReSharper figures that if you asked for it, you should get it. If, however, there is more than one result, ReSharper will filter out any that are in generated files.
But it's hard to get more than one result - you can have multiple Foo classes in your project, but they'll have different namespaces, so they'll be different. Which means this setting only really works with partial types. If you have a partial class split across two files, one of which is generated, then trying to navigate to that class will only navigate you to the non-generated file (turning off the option displays a little menu asking which file you want to show). Also, ctrl+clicking the class name doesn't swap between the two class declarations (turning off the option does this).
And it only seems to affect types - you can navigate to symbols in those classes, even symbols that are defined in the generated file (again, there's only one symbol, so it doesn't get filtered). Which means the scope of this setting is actually quite limited.

Resources