-
Notifications
You must be signed in to change notification settings - Fork 27.9k
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
Layer breakers in our code #15558
Comments
@jrieken good catch. I found more though:
Maybe we could enrich the layeringRule to more rules:
|
I think that shows a nice problem with our layering. We somehow don't only separate between target runtimes (JS, browser, electron-main,browser) but also between platform, editor, workbench, base. This is like a 2-dimensional layering and I wonder if that makes things artificially complicated. In the sample above I wanna contain all suggest-related features in one folder. That makes it easy to find/navigate/understand. Also I have structured it along the runtimes (common/browser/electron) but it conflicts with the goal of also structuring along workbench-editor et al. Somehow conflicting goals and abstraction for little gain. I wonder if we can give/reduce the 2 layer in some way |
I think what we used to do in that case is to put the editor contribution into the vs/workbench/parts folder because it can only work if the workbench is there. But yeah, that moves it away from snippets in general. |
To express the same intent I have put it into the |
I am not sure what is the good solution for tests here. For eg Either,
In this case, I would go for last option. But in general I would allow tests to instantiate the implementations. |
@joaomoreno and @bpasero: |
@jrieken Fixed those. |
Moved storage service to package layer. @jrieken All issues reported here are fixed. You can close this. |
There is
https://github.com/Microsoft/vscode/blob/master/src/vs/platform/textmodelResolver/common/resolver.ts
with a dependency ontoimport { IModel } from 'vs/editor/common/editorCommon';
which isn't legal. It should live ineditor/common/services
The text was updated successfully, but these errors were encountered: