We are using git. I am using eclipse. Some of the committers may not be using eclipse. Here's what is happening.
I make a small change in an existing file (properties/xml/java) and save it and commit it.
gitk (without ignore space change) and eclipse thinks the whole file changed. The commit shows ## -1,354 +1,354 ## which means the entire file changed.
When I check for code change difference, with ignore white space, then I can see the text difference. But I don't know what white space change is causing this.
How do I detect what white space difference is there between two files? It could be new line character, carriage return, tab, or something else.
This is how eclipse compare editor works. Unlike other file compare tools(kdiff3 or winmerge or Beyond compare) it shows entire file instead of showing only the difference.
But you can jump to individual changes by clicking on the change book markers as highlighted below.
You can integrate other compare tools(Ex: Beyond compare, winmerge) in eclipse.
Refer these links
Beyond Compare with git
Winmerge with git
Edit:
White space changes are shown in GREY background color
Related
Is there a way to configure VS Code to increase the number of files that are able to be displayed across the tabs at the top?
There are currently just 4 files1 visible in that top area, but ~10 would be ideal:
Example
Sublime text uses smaller font on file names (despite similar font size of the code itself), and so allows about twice as much space for displaying files:
Current work around
I hit opt + command + right arrow a few times to quickly survey open files.
Ideas
Perhaps open files could be quickly surveyed (without key presses) if it is possible to:
Expand the area to have more than 1 row of files
Configure VS Code to show only part of the filename
Use smaller font on the file names (not the code itself), similar to sublime text
Something else?
1 The habits of using long file names, and having a lot of files open at the same time don't help, I'm aware of that.
workbench.editor.tabSizing
There's the "workbench.editor.tabSizing": "shrink" setting value, which is documented as so:
Allow tabs to get smaller when the available space is not enough to show all tabs at once.
(the default value for workbench.editor.tabSizing) is "fit".
workbench.editor.wrapTabs
As other have mentioned, there's the workbench.editor.wrapTabs setting, which you can find more about in this Q&A: Multirow Tabs for VSCode.
TL;DR from the setting's description:
Controls whether tabs should be wrapped over multiple lines when exceeding available space or whether a scrollbar should appear instead. This value is ignored when #workbench.editor.showTabs# is disabled.
git.decorations.enabled
You can shave a few pixels by disabling git decorations if you're working on a git project (of course- this is only if you're okay with disabling git decorations). Git decorations add letter indicators to the tab handles that summarize what has changed about those files. Ex. "M" means the file has been modified, and "A" means it has been added.
"git.decorations.enabled": false
workbench.editor.tabCloseButton
You can shave a few pixels by disabling the close button on tabs (if you're okay with that (you'll still be able to close the tab with the associated keyboard shortcut, or by middle-clicking the tab handle)):
"workbench.editor.tabCloseButton": "off"
workbench.editor.showTabs
If your aim is really to declutter, you can take the hardcore/nuclear route and do:
"workbench.editor.showTabs": false,
Et voila! Now the tab handles take up zero space because they're gone :D (and you can navigate tabs using ctrl+tab and ctrl+shift+tab (that's on Windows and Linux- not sure what it is on MacOS), or by using the Explorer view's "Open Editors" section (you might need to enable it first under the three-dots menu))
Is there a way to only color files that have had their git statuses changed and not all parent folders, unless the directory the modified file is in is folded (and color only that folder and not all parents)?
Currently if a file has changed with respect to version control, every folder in the path is also colored, leading to too much color info for my liking:
I'd like everything except for the file someService.ts to be the same color as the models directory.
Also, if possible, all the info on the right (green dots and U) isn't really necessary anymore since the coloring conveys that information, so it's clutter for me. Would it be possible to remove that information and only display the number of errors/warnings in the file?
I have found no built in settings that allows you to set the colors of folders/files individually. It's either all or nothing. To turn the colors on and off, toggle the explorer.decorations.colors setting:
There is a settings to remove the green dots/letters. These are called "badges." To turn them off, toggle the explorer.decorations.badges setting:
This will however also remove the same badges that display the number of errors in a file, etc.
When you create a new file without an extension in VS Code you get four horizontal lines stacked on top of one another; the bottom and the third one up is shorter than the others.
What type of file is this?
And when I setup a react-app, the .gitignore has the four-line icon by it instead of the git logo. Does this mean my gitignore isn't working? and if so, what can I do about this?
If you mean this symbol:
The icons next to filenames indicate what sort of file VSCode thinks they are. JavaScript files show JS, JSX files show the React symbol, and so on.
The lines icon mentioned in your question looks to just be the default icon for any file extension VSCode doesn't recognize - it also occurs for text files (which is what the icon looks to represent) and files that end in the nonsense extension .foobar, for example.
It's only an icon - if you've set up your Git repository properly (or run something that sets one up for you), the icon that VSCode chooses will not affect your app.
Eclipse 4.6.1
CentOS 7
Got a large project with Java and Python files.
There is something about the way I type that leaves blank lines composed of left trailing white spaces before a return.
When I push my code up to Gerrit these show up as angry red rectangles.
I found settings to clean up ALL such left trailing white space upon saving, but I can't really use it, as I often edit existing files that also have such left trailing white spaces in it. If those get cleaned out to, more lines than those actually altered show in the Gerrit code diff, getting everyone confused.
I've had luck REDUCING this problem by having Eclipse display the special characters. However, I still miss many because those special character displays aren't very visually promiment --- not like those angry red bars in the Gerrit code diff.
Is there some way I can get the left trailing white spaces in Eclipse to be displayed in a more graphically prominent way? Is there a way to preview my files in Gerrit without them counting as a patch set?
Best way to deal with this is to use a pre-commit hook that will removing trailing whitespaces and expand tabs in the changed code. We use this one: https://gist.github.com/mokagio/0fbf7d475c9326e30edd
Previously I've used command line SVN without any wrappers.
Few days ago I switched to Eclipse with Subversive and have problems with diffs.
Team Sync perspective with Compare view is OK, but it displays whole file, not just changes.
Where I can find something similar to "svn diff" output? I need only changes.
Eclipse Compare views show the entire file which makes sense, as its a GUI. In the Compare view, there are buttons in the top right that enable you to skip from diff to diff (down and up), and the right-hand margin shows locations. So, while its not exactly the same as the command-line, its just as functional. Also, it gives you context for the changes, not just the changed line.
If you need to output a report, that's a little different. You might be able to just click int the top pane, type Ctl-A to select all, Ctl-C to copy, and then paste into a text editor. That might give you just the changes.