Inverse-quotes-quine The prospect of this challenge is:


If your program is run normally, all of the code in the speech marks (" - double quotes) should be printed.
If your program is wrapped in double quotes (in turn inverting the speech marks), the code that is normally not in quotes should be printed.


E.g:

Let's say you have the following code:

fancyStuff("myCode"); "I like".isGreat();


If I run it, I would expect an output of:

myCode
I like


However, if I wrapped it in quotes, I would get:

"fancyStuff("myCode"); "I like".isGreat();"


When this code is run, the expected output would be:

fancyStuff(
); 
.isGreat();


Obviously, the above example is not a functional response in any language. Your job is to write the code that performs in this way.

Rules


Standard loopholes apply.
The printed values, in both quoted and unquoted forms, must be non-empty, or consist solely of whitespace. This also means that all programs must include at least one set of quotes.
However, trailing/preceeding whitespace is allowed.
No looking at your own code, required file names, etc.
Unmatched quotes are disallowed
If there are multiple strings, they can either be printed as newlines (as in the example), or in some other human-readable way - no arrays or objects
This is code-golf, so shortest answer in bytes wins.
Python 2, 20 bytes

print&quot;;print'print'&quot;

-7 bytes thanks to tsh
Try it online!

Old answer:
Python 2, 27 bytes

'';print&quot;;print 2*&quot;'';print

Try it online!
Train of thought behind this answer:
Begin with a simple print, because we need to print something.
print&quot;a&quot;

We also need to print something in the inverted case, ie. have a print inside quotes.
print&quot;print&quot;

The non-inverted case is pretty good at this point. Let's focus on the inverted case. We now start with the string print, which can't be followed immediately by a print statement. Let's fix this with a semicolon.
print&quot;;print&quot;

Good stuff. Except, the inverted code doesn't actually print anything. We'll need to print the print at the start, because it ends up in quotes, but also print whatever comes after the second quote, because it ends up in quotes too. The obvious way around this is to append print and multiply the last string by 2.
print&quot;;print 2*&quot;print

Now the inverted code works fine, though we have to be wary of the fact that the section before the first quote and the section after the second quote need to be kept the same throughout future changes. As for the non-inverted code, it throws a syntax error - once again, we need to introduce a semicolon to separate expressions.
;print&quot;;print 2*&quot;;print

Python doesn't really like the look of that lone semicolon, so we must satisfy the snake's hunger with two of the same no-op expression, inserted before the first semicolon and the last semicolon. Most expressions will work fine in the first case, but in the second case it must follow print&quot;;print 2*&quot; in the non-inverted code without breaking anything. We can use '', which simply gets concatenated with the prior string.
'';print&quot;;print 2*&quot;'';print