Load custom location list in IntelliJ - intellij-idea

In IntelliJ IDEA, when I press Alt-F7, it loads a list of usages of whatever I'm highlighting; it's a nice list feature that allows me to jump around various lines of code that are of interest.
I'm interested in doing that in a more abstract way. If I write a script that analyzes code and spits out a list of files and line numbers, I'd like to be able to navigate those in a similar fashion. Similar to Vim's quickfix feature (and I'm sure other text editors support this sort of thing).
Example output:
project-a/src/main/java/com/example/Foo.java:34
project-a/src/main/java/com/example/Foo.java:66
project-b/src/main/java/com/example/Bar.java:198
Does IntelliJ support loading this as a list of locations? If so, how?
The case in particular I have is that I wrote a script that looks for throw statements inside a catch block that do not reference the caught exception. So I can output the locations any way that IntelliJ likes to see them.

You can set up an external tool that will run your script, and configure an output filter to turn its output into clickable links. It won't look like the usages view, but it's the simplest thing you can do.
Alternatively, you can convert your script into an IntelliJ inspection, which will let you see its results directly as you're editing code, or run Analyze | Inspect Code to get a summary of the results across your project.

Related

VBA: How to edit Attribute inside a Procedure?

I recently discovered that is possible to use Attribute [ProcedureName].VB_*, inside procedures.
What I found
But this code is not shown inside VBA Editor.
Same code in VBA Editor (left) and exported .cls in Notepad (right)
When Attribute is written inside VBA Editor, it's marked red
Attributes added manually in the VBA Editor
The question
Is there more elegant way how to maintain these Attributes than export class module, edit them outside and import them back (facepalm needed)?
Also I haven't found official documentation for these Attributes (on https://learn.microsoft.com/en-us/office/vba/).
Thank you!
PS: As always I hitted something interesting and related just after Question had been sent. A step-by-step example on Microsoft Docs site suggests to do it by Export-Edit-Import method :(
The process for getting Rubberduck to apply annotations requires a few steps.
Execute a Rubberduck refresh. If the code does not compile cleanly then Rubberduck will show a 'Parse Error'. In this case you need to sort out your code first. This can be an issues if you are applying Rubberduck to an existing code base. If not then learn to compile and rubberduck.Refresh early and regularly (i.e. after every complete edit)
If Rubberduck parses successfully you then need to look at Rubberduck.Code Inspections. To take action about an inspection result select the individual result and right click. This will provide a list of actions that can be applied by Rubberduck.

IntelliJ Plugin Development: LookupElement with class preview

For a custom language I created a CompletionContributor. Everything works fine. But I'm limited to the information I can display (only in the list or the bottom "advertisement" and only 1 line).
When trying to auto-complete on a java class name it will display more information on the selected line in a small side window. I would like to exploit that mechanism but I really don't know how it is done.
When looking at the options provided, I can use a custom LookupElementRenderer but there is no method in LookupElementPresentation related to the right window.
Any idea how it is done?
Are you referring to documentation popup which may be displayed if the corresponding setting (Setting->Editor->General->Code completion->Show the documentation popup in) is turned on?
If you want the feature to work for your language you have to use lang.documentationProvider extension point.

List of all errors in project in CLion

CLion 2016.2 helpfully detects potential errors in the file you're editing, which can be seen in the validation bar to the right of the code.
That's just a single file though, is there a way (like a tool window) to get a list of all such warnings in the whole project, or specific parts of it?
Bonus points if it also lists warnings and errors from the compiler, though that's less important, because the compiler output already includes any it found.
Yes, it is possible. The feature you are looking for is called the Inspector.
Do: Find Action... | Inspect Code. It will show a pop-up that will allow you to select the scope: file, whole project, custom, and the Inspection profile (you can choose the type of errors you want to see):
After clicking OK, this is an example of the output, that you can navigate with the mouse or with keyboard shortcuts:
In version 2017.2, I have it under Code | Inspect Code....
You can also right click a folder in Project view and select Inspect Code... there to be able to check only that folder.

Intellij exclude file from being compiled

I am trying to exclude a particular file in my project from being compiled.
According to the Intellij IDEA documentation you do this by "marking the file as plain text".
However, the context menu in the project view where this functionality is supposedly located has no such action. I am using version 13.02 of Intellij. Here is what my context menu looks like:
Under File > Settings > Build, Execution, Deployment > Compiler > Excludes, add an entry.
Any attempts to run a path specified here will result in a ClassNotFoundException, and a very important class indicator as well.
Just to compound on Makoto's answer (would comment but don't have reputation), it looks like this feature does not apply to classes (.java) or assets (images)...for these types of files, it looks like you will need to actually go to the compiler and explicitly state that the file(s) should be excluded.
However, for .htm, .xml, or really anything that isn't a class or asset you will find and can use the 'Mark as plain text' option.
Edit: It looks like you can also go to the 'Messages Make' error / warnings view and Exclude from there, a little less work IMHO.
The answer that #Makoto has given is pretty much the way to go, but in case that you are like me and you get easily both distracted and frustrated looking for that menu, you could use this shortcut:
press ctrl + shift + a , and in the input box that appears type excludes, and select the first item that appears.

Extract the contents of cmd.exe IDE to a text file using autohotkey scripts

I am trying to extract the contents of cmd.exe IDE to a text file using autohotkey scripts ie one test.ahk and its written as shown below:
WinGetText, text, "C:\WINDOWS\system32\cmd.exe"
FileAppend, %text%, C:\ThreePartition\ACTUAL.txt
I am not able to extract the contents. Can anyone please suggest the correct way to do the extraction?
The text retrieved is generally the same as what Window Spy shows for that window.
The Window Spy shows no text elements for CMD windows - what you see is not necessarily what you can get :)
What you can do is to simulate the Select All and Paste commands, and then use the clipboard contents.
I don't believe you can extract the contents of a cmd window without somehow using DllCall to read the process memory directly.
If you just want the output of a CLI command such as Grep or AWK, using stdout via the run command should work. Honestly though, I stopped relying on AHK because this sort of thing is just too clunky.
http://www.autohotkey.com/docs/commands/Run.htm.
Edit for comments:
What you want is doable, but the solution depends entirely on how your IDE works. What behavior does it have that's unique to building a project? If it makes temp files, you can overload your "build" button with an AHK subroutine that watches for the existence of those files, and then checks the modified date of the output executable to see if the build succeeded. The same kind of solution works if the IDE changes its window title when building. Be clever. :)
Failing that, you might have to install a message hook.