For example I have a function f:
int f(int a) {
return a;
}
or something. Then whenever I call it, I want to see what arguments it takes, in Eclipse I can do ctrl + space, what about kdevelop?
This is from the Customizing code auto-completion web page:
On the other hand, Full completion will additionally show the type for
each entry, and in the case of functions, also the arguments they
take. Also, if you are currently filling in the arguments to a
function, full completion will have an additional info-box above the
cursor that will show you the current argument you are working on.
I think you need to switch to the Always full completion:
The editor's code completion can be customized via Settings →
Configure Editor → Editing → Auto Completion.
Read more about customization in here.
Related
Here is what happend in Eclipse. When I am typing a method, I could know the docs.
Invoke the quick documentation action. On mac it's F1 or CTRL+J. Look it up in settings -> keymap to find and/or assign keyboard shortcut for this action.
The details in the rectangular are shown after the action is invoked.
It's also possible to show the quick documentation when moving the mouse cursor on a method. If you want that, go to settings -> editor -> general and check the option Show quick documentation on mouse move and specify the delay you prefer.
The auto completion menu usually shows too many suggestions. For example, when typing "Double", there are 10 types with name "Double" popping up, from packages that I never imported.
I know I can exclude certain packages from auto import, but it doesn't solve the problem entirely. Even if I exclude package "java", it still shows types from javafx, sun, org, com, etc. How can I exclude all packages or disable auto import completely?
You can at least disable the completion auto popup:
File (menu) -> Settings -> Editor -> General -> Code Completion -> Autopopup code completion
For me, the automatic popup gets in the way of typing and navigating anyway.
Also, I'd like to enable
Editor -> General -> Auto Import -> Add unambiguous imports on the fly
Then whenever I really need it, I explicitly invoke one of the code completion variants: Ctrl-Space (Basic) or Ctrl-Shift-Space (Type Matching) or Ctrl-Alt-Space (Class name).
I was wondering if it is possible to highlight the block of code you are working on in Intellij Idea.
There was a similar question here: Is there a way to highlight the currently active code block in Visual Studio 2010? .
So what I mean is that if you have clicked into e.g. a method or a while loop... ,the background of the whole block becomes a bit lighter or whatever.
There's already one such feature, but it's more subtle, in the form of a vertical line inside the left gutter... I can't recall whether it's enabled by default or not, but you can activate it by File -> Settings -> Editor -> General, scroll to the Highlight on Caret Movement section (about half of the page).
I looked around for a while but I have not yet found a way to change its appearance to match your description, although I personally prefer this less intrusive highlight than having all the background changed.
P.S. Not sure this is relevant or useful to you, but there was a plugin I tried a while ago called CodeGlance which offered a scrollable-map of the class:
I don't know when this feature was implemented. As of 2021, if you double click anywhere in the scope ( but not on text ), Intellij selects the current block of code ( text within two curly braces ).
I could not find the live templates for Java! Who can tell me how to set? Thanks.
They're inside all the nodes that are not specific to another language than Java: iterations, output, plain, surround, etc.
As JB Nizet wrote there is not a special node for Java (but you can create one). If you want your own Live Template for Java created do the following.
Open Settings window (File -> Settings)
Click on Editor -> Live Templates
Choose Template Group in which you want to add your Live Template
(you can create your own Template Group if you wish)
Click on + icon and choose Live Template
Specify the Abbreviation, Description and Template text.
Do not forget to define the context (in your case Java)
Example
Here is an example of how to create your own TODO text
Open the Setting window with Live Templates editor (as specified above).
Click on + icon and select Template Group.
Name this group Java.
Click on + icon again and select Live Template.
Specify your Live Template and DEFINE CONTEXT.
In my case writing mtodo and pressing enter will result in:
// TODO myName
You can even use variables. Write in your Template text e.g. $DATE$ and $TIME$
// TODO myName $DATE$ $TIME$
Click on Edit variables button and assign to each variable (defined by dollar sign) and expression (predefined function).
Now mtodo will result in
// TODO myName 13.10.2015 15:39
Predefined functions could be found here. The example was created using IntelliJ IDEA 15 EAP.
For those of you who have taken Postfix completion for Live templates, it is worth mentioning they are different. from not-choosing pretty good answers from #JB Niznet and #vitfo, I guess that's the case for OP writer. The document, here, says:
Postfix code completion is similar to live templates, it transforms the current expression without selecting it. For example, you can type .if after an expression to invoke the corresponding postfix completion and wrap the expression with an if statement.
You can check out a list of postfix completions:
Open the Preferences window
Click on Editor -> General -> Postfix completion
By default, there is no JAVA group in this setting page.
However, these default settings distribute on each feature group. For example, iterations:
IntelliJ IDEA 2019.2.4 (Ultimate Edition)
In MS visual studio we just right click add watch.
How does one do this in Xcode?
Use the po command in the Debug area
Set up a breakpoint on the relevant area of code, then when the program stops at the breakpoint, enter commands in the Console in the Debug Area.
The relevant command is po (print object) followed by the expression you want to evaluate.
If the Debug window is not visible in XCode, you can show it via the top menu:
'View' -> 'Debug Area' -> 'Activate Console' (XCode v8.x)
Example
To evaluate an expression like var1/var2 where var1 and var2 are both doubles, enter the following in the Console:
po var1/var2
The Console will return something like:
(double) $2 = 3.085 [no Objective-C description available]
Showing object properties
You can also return a particular property of an object currently used in the code at that breakpoint:
po [bankInfo city]
And it will return something like:
(id) $4 = 0x000069e8 Testville
Note though that the Console doesn't seem to like the dot notation and prefers the square brackets when applicable. For example, this returns an error for me:
po bankInfo.city
I hope this is what you've been looking for.
Gabe's answer is almost there but missing one crucial detail: Select Debugger Output . By default the bottom option is set to Target Output, so the po command doesn't show you anything.
Here is a sandwich app from a tutorial I'm debugging:
Being an xcode newbie and coming from a MS Visual Studio Background, I wanted exactly what the OP was looking for. While playing around from reading Gabe's answer I selected Debugger Output and got what I wanted.
My seniors told to use NSLog(#variable)..........
Set some breakpoints in the begginning of the looping and functions. Once u click on the breakpoint(one similar to arrow) button in the editor window the "Build and debug tool" will get enabled. You can then go to the debugger by clicking the debugger icon. on the right of the debugger window variables will be visible select self->then the instance variable u r going to set watch point.Right click on that and select "watch variable".A trigger point will be set and you will be notified with the value of the variable when changed.
As fas as i understand you would like to see when a variable is changing. For this make a breakpoint and right click on it and choose Edit Breakpoint. A window will appear:
Make sure you choose the right action like Debugger Command or Log Message and check the tick down at the options Automatically continue after evaluating. So you get some kind of action (e.g. logging, sound, etc) and wont stop at the breakpoint.
If you want to know when the variable changes, use a "watch":
Set a breakpoint somewhere in the class in question;
Run the app in the debugger and let it stop at your breakpoint; and
Go to the "Variables" view in the left side of the bottom "Debug" panel and right click on the property in question and choose "Watch".
For example, here, I've stopped at a breakpoint in viewDidLoad, and added a "watch" for total:
(This is Swift, but the same is true for Objective-C, too.)
Now, if I "continue" execution (), Xcode will pause whenever this property changes and I can see at what line of code total is changing, the stack trace to get to that point, etc.