Can IntelliJ IDEA show change markers for local changes? - intellij-idea

One of the features I love in Visual Studio is that it notes, with color-coded bars in the left margin, which lines I've changed in the program I'm editing.
Is it possible to get something similar in IntelliJ IDEA?
I'm aware that it has a "change markers" feature for files that are under version control, but that's not applicable for me. I've also seen this question which seems to imply that it should be possible, although that guy had the opposite problem.

The gutter marks that you are asking about only appear when you are using a VCS with the project.
IDEA will track local history, but does not show the changes in the gutter (most likely because this local history is temporary and is overwritten when the cache is invalidated or when an upgrade is done).
To view the completely history, right click on the file in the Project view, and under Local History select Show History:
The above image is taken from the online documentation, where it describes the Local History feature:
This section describes how to use Local History, which is your
personal real-time version control system. Local History is
independent of external version control systems and works with the
directories of your project even when they are not under any VCS
control.
If you want local history changes to be shown in the gutter, you can raise this as a feature request at the bug tracker.

Related

Disable all svn auto checks in Intellij

I'm not sure if this is an intellij version control or SVN issue, but is there a way to disable all auto subversion / version control update checks in Intellij?
When you click the version control tab at the bottom of the IDE and look at local changes, the lists often say "Updating...".
I want to use subversion, but for huge projects the "updating" in intellij version control sometimes takes a good 10 minutes, and it starts randomly for no reason, even when I have not made changes. I checked the settings and I don't have "check every" or "refresh every" options checked under subversion.
Basically I never want Intellij to stop checking the whole project and server every time I make a small change to a file.
When you click the version control tab at the bottom of the IDE and look at local changes, the lists often say "Updating...".
This means IDE is refreshing the local status of the files to correctly show them in the Local changes and other respective places. It is not related to remote servers.
It could take long because of e.g. huge number of unversioned files in the project. In this case, adding them to svn:ignore should help.

How to Show Review Bar in Okular by Default?

I use okular on Linux Mint.
Unfortunately the review bar which contains the annotation tools has to be manually loaded up each time okular is opened.
This is outrageously annoying if you open many hundred documents a day you need to highlight!
I neither found any option to show the review bar by default in the program's settings or via web search. I did not even found a shortcut that could be bound to a mouse key for easier opening. (The standard F6 shortcut does not do the trick for me.)
Is there any solution you can recommend?
Based on the information available on the official KDE Okular Handbook (currently at version 0.26) there is no functionality associated with this feature, so it technically can't be done by default from inside Okular.
To access the "Review" function (which includes highlighters, etc) you should press F6 or choose the Review option from the tools menu. At the moment all you can do in regards to tool configuration is change the available components of the review tool, adding or removing highlighter/marker tools. You can also configure shortcuts for the Review function, assigning an additional/alternate shortcut to open the review tool panel (Relevant to those with multimedia keys associated with their F-keys).
If the lack of this feature bugs you, you can always post a feature request to the KDE Bug Traker; Remember to search for existing requests before posting to avoid duplicates.

Intellij undo history size, not much?

I like to be able to undo basically several hours of work in a file. I am unsure how to configure this.
In IntelliJ settings, the clipboard settings I have tried with are 999 and 9999 and 99999 but it still too short on undos.
How can I increase this?
In Intellij settings the clipboard settings I have tried with are 999 and 9999 and 99999 but it still too short on undos.
I've failed to see what "clipboard settings" have to do with the "undo limit" (or with "undo" at all). Care to explain?
Local History is definitely the way to go here as it works across sessions, files, and whole folders -- you can undo very complex operations in one click (e.g. replace/refactor in multiple files).
In any case: if Local History is to complex or you are a hardcore person who prefers to hit Ctrl + Z quite a few times in a row instead of few clicks with Local History, you can increase undo limit (which is 100 steps by default). For that:
Open Registry (Help | Find Action... and type registry)
Find undo.documentUndoLimit entry and set your limit to a higher number (e.g. 1000).
P.S.
IDE restart may be required.
Actually, based on JetBrains Docs, for changing undo limit you should act just like below steps:
click Help on the top menu:
Click on Find Action:
Type Registry and open first result:
On the opened window file undo.documentUndoLimit and undo.globalUndoLimit and change it to number what you want.
HINT: After change you should close your JetBrains IDE and open it again.
The "Maximum number of contents to keep in clipboard" setting has nothing to do with undos.
In fact, there is no configurable "undo history size" setting in IntelliJ. See this support issue:
For rolling back complex code changes gone awry, a far better option is to use the local history.
Local History is available under the menu "VCS" -> "Local History" -> "Show History". The feature is explained as:
IntelliJ IDEA tracks any changes you make to your source files or any other file, as well as the changes that affect a directory’s content and structure. This feature will protect you from any accidental losses or modifications, even if made by other applications outside IntelliJ IDEA. Setting version labels is also available. Any time you can inspect the history of either a particular file or directory and rollback to any of its previous versions.

In Intellij IDEA how do I reload file content's from disk?

In vim I can type :e and reload a file's contents from disk overwriting any changes I've made. It's a nice way to reset in case I've gotten lost or just want to undo all my changes. This obviously doesn't take into account any kind of refactoring, I just want to nuke all changes to buffer. Not even closing and reopening a tab will work.
How do I do this with Intellij IDEA? I'm using Intellij IDEA Ultimate 13 and I've disabled any kind of auto save.
File > Synchronize (Ctrl+Alt+Y)
It will load the file from the file system. If you have unsaved changes, it will ask if you want to discard them.
⌥⌘Y - Synchronize for Mac users
What I do in a similar situation:
Simple - Ctrl+Z, Ctrl+Shift+Z many times to quickly navigate the editing history
VCS rollback - either for the whole file or for the area being edited (by clicking green areas on the left)
Local History. Well, yes, for you case it's granularity is not sufficient, so first might be an option
There is also an option to put a label into Local History if you need to rollback to a specific point in time.
For those who use autosave - it is being triggered when code editor loses focus. So doing Alt-Tab during long editing without compiling or running the code makes sense.
Open the file in another editor, make an insignificant change and save it. PHPStorm will ask you what to do because the file system and in memory copies of the file have diverged. Click "Load File System Changes".
Note, I was unable to use my undo history as it had become corrupt.
Since what I want isn't really possible I wrote an extension to do it for me:
https://github.com/btipling/DiskRead/
I'll add it to the Jetbrains plugin repository, it's called "DiskRead".
I wrote a blog post about how I created this if anyone is curious.

Submit Eclipse Project on Perforce

I have a noob Perforce question. I got my perforce plug-in on Eclipse working(for both Java and C).
I have no problems "opening" my perforce stored projects on Eclipse.
Scenario 1:
Whenever I want to change code, I open the project on Eclipse and right-click on it and go to "team" and check out, make changes and then submit. Works fine. But even after that I see a tick mark(indicating check-out) on my perforce screen.
Scenario 2:
I just open perforce code as Eclipse project and make changes(If read only, it prompts and asks if i have to allow write and I say yes). I make changes and save. It doesnt ask for submit. Also if I now open the code on Perforce screen, I already see the new changes made.
Scenario 3:
Just on a Perforce screen, if I check a file out and don't make any changes, I obviously dont want to submit as there are no changes. In this case, how can i "disable" check-out so that my fellow programmers dont think i'm working on it??
Scenario3:
So here are 2 ways i consider a good usage of the plugin:
Use Revert Unchanged Files:
Before you begin development of a feature, checkout the entire tree/branch that your changes will be concentrated around in future. You can do this by right-click the relevant package in package explorer. Once you want to submit, Project->Right-click->Team->Revert Unchanged Files. Now, you can submit your changelist.
This approach stands very useful if you know you will be editing a lot of files or replacing files.
Ofcourse, others can see that you have checked out the files.
Enable Auto checkout:
Incase you are going to make few changes, you should enable autocheckout. This will checkout the file when you begin to make edits. Eclipse->Preferences->Team->Perforce->Enable support for workbench edit..
detailed explainations here. Its a good idea to have this enabled always as it checks out on demand.
However, this does not monitor the filesystem so and code/libs you replace outside of eclipse are not checked out.
For Scenario 3, you can change a workspace option to prevent submitting unchanged files:
SubmitOptions: reverttunchanged
If you have a file checked out (open for edit), others will be able to see that. I guess I'm not clear on why you check a file out if you don't intend to modify it?
If you are going to setup this way and are also using the desktop client, I recommend the following steps in the desktop client:
1.) Open your desktop Perforce client
2.) Click “Connection” on the global menu
3.) Select “Edit Current Workspace…”
4.) Under the “Advanced” tab select “allwrite”
5.) Click Apply, then OK