AndroidStudio doesn't seem to have any of the coding assistance (method suggestions, jump to method definitions etc) for native C code that it provides for Java. How do I turn this on ?
This should work. However, a lot of people have been complaining about such problems. See if any of the following helps:
Invalidate cache: Go to File > Invalidate Caches / Restart
Make sure Power Save Mode on File menu is disabled
Go to File > Settings. Look for Inspections - ensure that Android and Android Lint is checked, or alternately just set it back to default.
Also, search for Code Completion - ensure the Auto-insert options and Autopopup code completion option is checked
Related
I have done a fair amount of googling about this question and most of the threads I've found are 2+ years old, so I am wondering if anything has changed, or if there is a new method to solve the issue pertaining to this topic.
As you might know when using IntelliJ (I use 14.0.2), it often autosaves files. For me, when making a change in Java or JavaScript files, its about 2 seconds before the changes are saved. There are options that one would think should have an effect on this, such as Settings > Appearance & Behavior > System Settings > Synchronization > Save files automatically if application is idle for X sec. These settings seem to have no effect for me though, and IntelliJ still autosaves, for example if I need to scroll up to remember how a method I am referencing does something.
This is really frustrating when I have auto-makes, which mess up TomCat, or watches on files via Grunt, Karma, etc when doing JS development. Is there a magic setting that they've put in recently? Has anyone figured out how to turn off auto-save, or actually delay it?
It cannot be totally disabled. It is core to the functionality of the IDE and heavily integrated into its operation, including its Open API (for plugins). Turning it off would cause problems with a lot of features.
You can disable both Save files on frame deactivation and Save files automatically if idle for x seconds settings (via File > Settings > Appearance & Behavior > System Settings):
With those settings disabled, IDEA only auto-saves on a major event such as building, running make, running a test or application, etc. <EDIT>It should also be noted that plugin authors have access to the FileDocumentManager.saveAllDocuments() method that invokes the auto-save. This is also one more reason why removing this functionality would be problematic.</EDIT> Scrolling up in a file should not be an event to trigger auto save (unless a third party plugin is doing such). I waited a good 15 minutes to verify - no auto-save. If you are seeing different behavior, I would recommend you open up a bug report (https://youtrack.jetbrains.com). You'll want to provide as much detail as possible since IDEA 14.0.2 has been out for quite some time and there are no reports of an issue with auto-save.
Note that I have the Settings > Editor > General > Editor Tab > Mark Modified tabs with asterisk turned on to verify the file is not being auto-saved. (i.e. the asterisk remains even after a long idle period and when I reactivate the IDEA frame.) Have you turned that on? It may be something else besides auto-save that is causing the other tools to see a file change. Enabling the asterisk option would help determine that.
Why you really don't need manually saving
It should also be noted, that you always have access to Local History. Local History constantly tracks (and records) all changes made to a project. And it allows you to easily revert a file, or an entire directory, back to a previous state (even unsaved ones). So any perceived loss of functionality by not being in full control of when a file is saved is made up for with this functionality. When I first started using IntelliJ IDEA in 2003, I found the auto save functional strange and felt that I lost some control as to determine when I wanted files included in a recompile. But as I used IntelliJ IDEA, I quickly (within a week or two) came to realize that this was a false feeling of control. Between local history, changelists, and the ability to shelf changes, I ultimately had a lot more control while at the same time didn't waste time trying to figure out why my recent change was not working, only to realize I forgot to save one of the files I changed. I switch from disliking the feature to absolutely loving it. I'd encourage people that see the auto save as a "limitation" or even a "deal breaker" to just try it for a while and see. It will require some changes to your personal workflow, I think in the end you will have a better workflow. I have not missed it in the past 16+ years I've been using IDEA.
EDIT
Are you launching Tomcat via an IntelliJ IDEA run/debug configuration? If so, do you have the "on frame deactivation" option in that Run/Debug configuration set to one of the "Update" options? That would cause the files to change.
You can disable the recompilation by enabling Power Save Mode.
When Power Save Mode is on, IntelliJ IDEA reduces its functionality to the one of a text editor, by not executing expensive background activities that drain laptop battery. These activities include error highlighting and on-the-fly inspections, autopopup code completion , and automatic incremental background compilation.
Alternatively, or if you think this is a bit too extreme, change the update action for your Tomcat to "Do Nothing".
I think the correct answer was given as a comment from ryanlutgen above:
The beaviour of "auto-saving" your file is not due to the auto-save options mentioned.
IJ saves all changes to your build sources to automatically build the target.
This can be turned of in:
Preferences -> Build,Execution,Deployment -> Compiler -> Make project automatically.
Note: now have to initiate the project build manually (e.g. by using an appropriate key-shortcut)
(All other "auto-save" options just fine-tune the build in auto-save behaviour.)
The bad new is: it's not possible to disable autosaving for intellij & Co. (JetBrains Webstorm and so on). I lost some work because i pressed CTRL-Z few time to take some older code, for mistake i pressed "z" and i couldn't do anymore CTRL-Y. I cannot keep the file open in other programs because it changes all the time and the other program asks me to refresh hundred times per day...
The good new: there are some workarounds. Just see the following (the references in square brakets point to the bottom of my comment):
From the official intellij support website[1]:
«Tuning the autosave behavior
The following options are available for tuning the autosave behavior (File | Settings | Appearance and Behavior | System Settings):
Save files on frame deactivation (i.e. on switching from IntelliJ IDEA to a different application)
Save files automatically if application is idle for N seconds
Note that those are optional autosave triggers, and you cannot turn off autosave completely.»
Please also check the website [2] (bottom of my comment) where you can find other workarounds and more details, as the following:
«In Settings → IDE Settings → General
uncheck "Synchronize files on frame activation" → uncheck "Save files on frame deactivation"
if you can, uncheck "Save files if application is idle for". If it's greyed out, set it to 6442450 seconds (about 74 days)...»
The last is to install eclipse and choose a dark skin for it. Nothing is perfect but...
EDIT: the option described in [2] about setting a big number it's not necessary, unless something is greyed and you cannot disable the autosaving... I need to test that.
Ah... the next problem will be to find the "save" button/command. In intelliJ Ctrl+S is "Save all" ...
[1] https://www.jetbrains.com/idea/help/saving-and-reverting-changes.html#d1542336e137
[2] https://intellij-support.jetbrains.com/hc/en-us/community/posts/207054215-Disabling-autosave
In the latest intellij or pycharm ide use the below option for disabling autosave.
File -> Settings -> Appearance & Behavior -> System Settings -> Save files when switching to a different application(Uncheck)
I stumbled upon this as well. Besides all the answers already given, there could be another cause: In my case it was due to the SonarLint plugin I've installed. That plugin does automatic analysis of each touched file and will do an auto-safe under the hood.
When I disabled certain file types (for example TypeScript/JavaScript files) for automatic analysis, finally those files weren't auto saved any more in IntelliJ.
If there are any file watchers active (Preferences>Tools>File Watchers), make sure to check their Advanced Options. Disable any Auto-save files to trigger the watcher toggles.
This option supersedes the Autosave options from Preferences>Appearance & Behaviour>System Settings.
What worked for me was unchecking the box to save files when switching to a different application or a built-in terminal. Preferences → System Settings
According to the documentation, it does not stop auto-saving all together. But it stops it from doing it all the time - which is at times annoying and unnecessary
If you are using flow, you should also disable the auto save there.
Preferences -> Languages & Frameworks -> Javascript
so I just downloaded eclipse and it came with a basic hello world program, and the auto complete works on this. It will work with the auto trigger "." and by using ctrl+space, and it shows all the suggestions you would expect. When I started my own project though, the auto correct must be called to work and there are not any suggestions in the auto complete drop down box. Does anyone know what could cause this????
2 things come to mind.
1) make sure setting in the preferences page under Java -> editor -> Content Assist is enabled. and that the delay is short.
2) check your build libraries and path are correct. it may be having trouble finding any methods that you can use.
Is it possible to make it present the list of warnings java/spellchecker style as opposed to a old school list of errors with line numbers?
Can it automatically fix things like missed space near '=' etc?
Maybe I need a different plugin, which one then?
Try QAPlug - Checkstyle plugin. Then go Analyze - Analyze Code (not the standard Analyze!) then click "..." near Run with chosen profile select a concrete profile and press the import button.
In the next dialog select the checkstyle rules file and then click the OK button. That's it. Just wait for the results. I got something like this.
That plugin has its limitations however. For example, I didn't manage to use a file with suppressions with it.
You can also use the plugin CheckStyle-IDEA which also has good configurations and allows you to use suppressions, custom checks and displays the inspection warnings in the editor immediately, but to apply that you need to set Project Settings - Inspections - CheckStyle - Real-Time Scan in the IDE settins.
Answering the second question, I didn't find any automatical reformat capabilities in these plugins, just checks.
I'm working on eclipse and sometimes I have to delete some lines of code that indeed I prefer to backup on a notepad file (because I never know if that lines of code could be useful in another moment), so I have to select all the code I have to delete, ctrl+x, open a text editor, ctrl+v, and save it somewhere.
I was searching for a "code recycle bin plugin", so that I can select the code to trash, right click and "send to code recycle bin"; and in the future the deleted code is still there if I need it.
You can achieve a similar effect by configuring your workspace Local History settings:
What I'm gathering from your question is that you often modify code in such a way that you're not sure if it will work after you modify it. What you need is a software versioning system.
Often, because a coder may introduce new code that is faulty or introduces unnecessary defects, we need to revert back to the last working version. There is an easier way than "Ctrl+X"ing the code and placing it in a "recycle bin" for future use. Try using a software versioning system such as Git for better results. The source code is available online, and you can get an account for free.
In short, version control system will stop you from having to juggle files unnecessarily.
There is something similar which will resolve your issue, the Eclipse Remus project. You can download the plugin via the Eclipse Marketplace. After installation you can open the Remus Navigation view in your Java perspective, select the code and drop the code into the Navigation-Structure of the Remus Navigation view. The dropped source-code will be saved.
Since upgrading Eclipse (Galileo build 20090920-1017), hover in debug no longer displays a variable's value. Instead, hover behaves as if I were in normal Java perspective:
alt text http://michaelzanussi.com/wp-content/uploads/2009/11/debug_hover.png
I've tried cleaning the project, re-importing it, etc., all to no avail. Anything I'm missing here?
I went to Window - Preferences - Java - Editor - Hovers, hit "Restore Defaults" and "Apply" and that fixed it for me, even though nothing actually changed in the settings...
Go to Window - Preferences - Java - Editor - Hovers.
Is "Combined Hover" selected? Uncheck it; apply; close the window; restart debugging session; go back; check it again; apply.
If the above doesn't help, you can check "Variable Values" option and specify a modifier key for it. Not as convenient as "combined", but should work.
I had this problem too once, I "just" had to restart eclipse, after that the hover mechanism worked again.
The problem was "fixed" by renaming the package.
For whatever reason, this refactoring triggered something in Eclipse, and immediately I was able to view variable values during debugging. Also, when I go back into Preferences under Hovers, I can now see the "Variable Values" option.
I had a similar issue and when I came across this question. My problem was that windows hover time was set to 20s or so (you can test if this is your problem by putting the mouse on a mistake and waiting for a min or so). The registry key "MouseHoverTime" was set to a large value of 200000 ms (normally 400). Fix it by going to start -> run -> "regedit" -> HKEY_CURRENT_USER\Control Panel\Mouse double click "MouseHoverTime" and setting it back to 400.
I think this had been done on my computer a while back to prevent hover popups in another program. Anyway, sorry that my answer doesn't directly apply to this question, but I'm hoping it'll help somebody like me that comes across this thread with a similar issue.
For C++ project, please add -ggdb -0g to the compiler option. Hope this solution can help eveyry C++ programer face with the same issue.