Skip to content

There's no way to only close a tab (and nothing else) #2883

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
q2dg opened this issue Apr 2, 2015 · 23 comments
Closed

There's no way to only close a tab (and nothing else) #2883

q2dg opened this issue Apr 2, 2015 · 23 comments
Labels
Component: IDE user interface The Arduino IDE's user interface feature request A request to make an enhancement (not a bug fix) Type: Wontfix Arduino has decided that it will not resolve the reported issue or implement the requested feature
Milestone

Comments

@q2dg
Copy link

q2dg commented Apr 2, 2015

I've already said it in #2350, but as it's not exactly the same issue, I open a new one:

*There's no option in rightest drop-down menu responsible for closing a tab without deleting its content from disk (in other words: there is a "delete" option but not a "close" option)

*File-> Close and File->Quit do the same: they close the IDE...(I think former should close only active tab)

Tested on 1.6.1 and on 1.6.3

@ffissore
Copy link
Contributor

How are you supposed to reopen the closed tab?

@ffissore ffissore added the Waiting for feedback More information must be provided before we can proceed label May 29, 2015
@ffissore ffissore added this to the Release 1.6.5 milestone May 29, 2015
@ffissore ffissore self-assigned this May 29, 2015
@q2dg
Copy link
Author

q2dg commented May 29, 2015

Good question. Maybe an "Open file as new tab in current project" option is missing, too.

@ffissore
Copy link
Contributor

This would complicate the UI. We'd need a file tree on a side panel, but we won't have one. See #1590

@ffissore ffissore added feature request A request to make an enhancement (not a bug fix) Component: IDE user interface The Arduino IDE's user interface and removed Waiting for feedback More information must be provided before we can proceed labels May 29, 2015
@q2dg
Copy link
Author

q2dg commented May 29, 2015

Well, I don't think so.Simply opening the FileChooser dialog should be enough.

But, anyway, my original concern was that closing a tab deletes the file. I think this behaviour is very risky and confusing

@ffissore
Copy link
Contributor

I disagree. Label says "delete", not "close". Deleting is always risky, but the label should not be confusing

@stevenkaza
Copy link

Please revisit this, it makes working with the IDE a pain!

@borgdrone7
Copy link

This "feature" makes Arduino IDE completely unusable, will try to find other way to develop.

@Kadah
Copy link

Kadah commented Mar 1, 2017

The tab behavior is confusing and counter to the general notion of how tabs in virtually every other IDE or source/text editor.
Example:
If you manually open a file into a tab by drag and drop to view it, like a library source file. What I would expect having used any other IDE or source editor with tabs is that the file is being opened, but what actually happens is that the file has been copied in the file into the project folder and that copy has been opened in the IDE via the "every file in the project folder is a tab" feature.

@devyte
Copy link

devyte commented Mar 1, 2017

I also would like to revisit this. Any half way serious project splits the code over various files. In the Arduino IDE, this means one tab open for each .h and each .cpp file. Having 20+ tabs open makes the IDE very unusable.
I don't think a tree view is necessary, like it was stated some time ago. Just allowing a tab to close without deleting should be sufficient.
If the issue is how to know which files belong to the project, without actually having a project file that lists them, I suggest for now just building all files that are in the same dir as the .ino. You could potentially also look in subdirs, but that could be done later.
I think this would improve the usability tremendously for minimal effort.

@Kadah
Copy link

Kadah commented Mar 6, 2017

To be fair, up till recently, a sketch with 20+ source files was unlikely to fit on an ATMega outside of the 2560. Now with the support for a number of 32bit MCUs, very larger sketches are entirely possibly.

@K2AAE
Copy link

K2AAE commented Sep 7, 2017

The whole 'Close' issue is not user friendly, at this point I'm looking for something else that 1: Has standard Open and Close features 2: Has documentation that matches the product. SerialUSB is an example.
If you're going to protect the dummies by denying them the ability to close a file they will not learn and when too many files fill all the tabs because you can't close tabs or files the the application is useless.

@optio50
Copy link

optio50 commented Nov 23, 2017

Whats wrong with adding a close tab option? Seems kinda messed up.

@mfoley40
Copy link

I'd also like to see a close tab available. Then, a corresponding open tab option which allows the selection of a file in the directory with the .ino file. Building and everything else would remain the same.

@per1234 per1234 added the Type: Wontfix Arduino has decided that it will not resolve the reported issue or implement the requested feature label Dec 18, 2017
@per1234 per1234 mentioned this issue Dec 24, 2017
@PalantirWielder
Copy link

PalantirWielder commented Jan 23, 2018

NOTE for others viewing this in the future:

When opening a sketch, the IDE automatically opens all relevant('.c', '.h', etc) files that reside in the sketch's (root) folder. Therefore to "remove" a tab/file, file(s) need to be someplace other than that folder. For example if you create a sub-folder and move files there, then they will not show up when you reopen the Sketch.

This can be done temporarily as long as you don't need to compile those files.

@bkelly13
Copy link

I wrote another issue on this, then found this one. Adding my support:
The fundamental idea that tabs cannot be closed is just wrong. Wrong to the point of being outright absurd. Yes, I have used many IDEs, beginning with the very first one, Turbo Pascal in the early 1980s, through many issues of Visual Studio, and including some Linux versions.
Please provide the ability to simply close a tab. And DO NOT make the IDE or me delete that file.

@per1234 per1234 mentioned this issue Sep 23, 2019
@PaulStoffregen
Copy link
Contributor

Who is to say what is & is not "just wrong"?

@bkelly13
Copy link

bkelly13 commented Sep 23, 2019 via email

@Perlovka
Copy link

Perlovka commented Oct 5, 2019

"Legitimate, unique issue reports are certainly welcome here. They are a valuable contribution to the Arduino project." © @per1234

Bullshit.

@PaulStoffregen
Copy link
Contributor

PaulStoffregen commented Oct 5, 2019

Other IDEs like Visual Studio provide a file display to show which files are part of your project. Their build systems have makefiles or other configuration that integrates with that project/file config GUI. If you remove a file from that part of the GUI, even if the file isn't deleted, it is no longer compiled and linked into your project by the IDE's build system.

Arduino's very simple & minimalist GUI doesn't provide any other way to configure or visualize which files are actually part of your project. There isn't a separate file tree to configure which files to actually use. All the files located in the folder are always used. Arduino's build system doesn't support source code files in the folder that aren't used. If a file is present in the folder, it will be compiled and used.

So if Arduino were to implement simply closing of tabs without changing the underlying files, when those files are compiled and used, wouldn't that also be considered "just wrong"?

If there is any sort of an error in any of those files, what sort of behavior should the GUI offer? Would the file be opened again (against the user's wishes), for the sake of highlighting the line where the first compile error occurred? Or should the console get an error message with the filename, but the GUI wouldn't be showing that file anymore?

Or perhaps this proposal is actually far more complex than simply closing tabs? Maybe you're suggesting Arduino would also need to rework its build system to make which files are actually compiled and linked into your project configurable? Making things so configurable is the approach nearly all other IDEs take, and it is also the reason why Arduino has been so incredibly successful - providing a minimalist approach that is simple, without so much extra GUI stuff that is powerful but also a barrier to novices learning.

@Perlovka
Copy link

Perlovka commented Oct 5, 2019

Simply add possibility to close the tab, and to save it, if it was changed. And yes, "should the console get an error message with the filename" will be good enough. Compiler does this by default, isn't it?

Keep it simple. Every time a simple feature request becomes "very complex task" and being closed as wotfix, even when the whole thing is to change 15 strings of code.

@bkelly13
Copy link

bkelly13 commented Oct 8, 2019 via email

@ckohrt
Copy link

ckohrt commented Jan 6, 2021

I just wrote a larger program and I cannot edit the files anymore, because the tabs are out of sight --> the tabs are not visible anymore (>16 tabs).

I'd like to make them invisible. I see the discussion is long, so it might be the time to change the IDE now because larger programs are not supposed to be done with this IDE?

@GordonLElliott
Copy link

GordonLElliott commented Feb 9, 2021

When is someone going to figure this out? Even if there is a way to close a tab without closing the entire Arduino app, I can't easily find it.

This should be obvious, easy to find. (And if, as some suggest, there is no way at all to close a tab--that is a failure that needs to be remedied.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: IDE user interface The Arduino IDE's user interface feature request A request to make an enhancement (not a bug fix) Type: Wontfix Arduino has decided that it will not resolve the reported issue or implement the requested feature
Projects
None yet
Development

No branches or pull requests