dail8859 / NotepadNext

A cross-platform, reimplementation of Notepad++
GNU General Public License v3.0
9.26k stars 553 forks source link

support setUseTabs config #642

Open MeiyongYu opened 2 months ago

dail8859 commented 2 months ago

Thanks for the PR, but this setting applies it globally and it needs to be per language. That's why each language can specify the tabSettings option so that is can be configured in NotepadNextApplication::setEditorLanguage().

I know there's no good way yet to configure this per language but having it global would be quite detrimental since it immediately affects all current/future editors.

I'm certainly open to suggestions.

MeiyongYu commented 2 months ago

Thanks for the PR, but this setting applies it globally and it needs to be per language. That's why each language can specify the tabSettings option so that is can be configured in NotepadNextApplication::setEditorLanguage().

I know there's no good way yet to configure this per language but having it global would be quite detrimental since it immediately affects all current/future editors.

I'm certainly open to suggestions.

i like sourceinsight style config method, which is global setting, becase when i open the project i will editor all file which in project as same style. and the notepad++ is also global config same as sourceinsight.

my next plan: 1) In edit menu support space and tabs convert command(like sourceinsight) 2) support multi instance of notepadnext(like source insigt), because i will open almost 3 project in work

MeiyongYu commented 2 months ago

不知道你能不能看懂中文。

我现在用macos,但是macos不支持source insight。 我想把我喜欢的source insight功能加到NotepadNext。

下面是我想做的特性。 我增加这些高级功能的时候,会考虑保持NotepadNext已有的性能。 你这边有什么建议没。

基础功能: 0) 关闭自动补全,导致生成空格错误 --close 1) 支持tab和space转换 (from notepad++) 2) 支持高亮(from notepad++) 3) 自动删除尾尾部空格 4) 全工程搜索

高级功能: 1) 支持函数列表(copy form notepad++) 2) 支持函数跳转(from ctags) 3) 支持函数关联关系(from cscope) 4) 支持工程管理 5) smart rename

On Sep 22, 2024, at 8:03 AM, dail8859 @.***> wrote:

Thanks for the PR, but this setting applies it globally and it needs to be per language. That's why each language can specify the tabSettings option so that is can be configured in NotepadNextApplication::setEditorLanguage().

I know there's no good way yet to configure this per language but having it global would be quite detrimental since it immediately affects all current/future editors.

I'm certainly open to suggestions.

— Reply to this email directly, view it on GitHub https://github.com/dail8859/NotepadNext/pull/642#issuecomment-2365368293, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHAIU7CMCE67OSU2PGPNYBLZXYCLXAVCNFSM6AAAAABOT6XPWWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRVGM3DQMRZGM. You are receiving this because you authored the thread.

dail8859 commented 2 months ago

i like sourceinsight style config method, which is global setting, becase when i open the project i will editor all file which in project as same style. and the notepad++ is also global config same as sourceinsight.

I've never used sourceinsight. If you are wanting more of a global override then that may be a better way to use this setting but it would have to be clear to the user. If this is the intent I can offer some code suggestions but want to make sure that's the plan.

my next plan: In edit menu support space and tabs convert command(like sourceinsight)

Converting between tabs and spaces is definitely useful.

support multi instance of notepadnext(like source insigt), because i will open almost 3 project in work

Also useful but would take alot more changes that would be worth discussing before code changes are made.

dail8859 commented 2 months ago

I don't know if you can understand Chinese.

I cannot.

I am using macOS now, but macOS does not support source insight. I want to add the source insight feature I like to NotepadNext.

The following are the features I want to make. When I add these advanced features, I will consider maintaining the existing performance of NotepadNext. Do you have any suggestions?

Basic functions:

0) Turn off auto-completion, resulting in space errors --close 1) Support tab and space conversion (from notepad++)

Agreed.

2) Support highlighting (from notepad++)

In the future I would like some sort of wizard that could import Notepad++ settings and highlighting styles, but right now Notepad Next doesn't have a good way of managing the highlighting styles itself so probably not something worth implementing soon.

3) Automatically delete trailing spaces

Agreed.

4) Full project search

I guess the depends how you are defining "project".

Advanced functions: 1) Support function list (copy form notepad++)

I am not for this feature. Notepad++ has so many issues with it's function list and it is hard to manage. This kind of feature is best left to some sort of plugin. I know Notepad Next does not have plugin support but having this kind of specific functionality that is hard to maintain is not worth having it as a core feature.

2) Support function jump (from ctags) 3) Support function association (from cscope)

Same as above, best to keep out of the core functionality since it could be difficult to maintain especially cross platform.

4) Support project management

This does sound interesting but would need discussed alot more to make sure it lines up with something worth implementing.

5) Smart rename

Again would need more details.


If there's anything worth discussing more feel free to open a discussion so more details can be specified. I greatly appreciate people wanting to contribute to the project, but my goal is also to make sure the application is useable, maintainable, and code implemented cleanly. So I'm willing to discuss details before someone goes off and puts alot of time into a pull request that might not be implemented in the project.

MeiyongYu commented 2 months ago

On Sep 22, 2024, at 10:02 PM, dail8859 @.***> wrote:

i like sourceinsight style config method, which is global setting, becase when i open the project i will editor all file which in project as same style. and the notepad++ is also global config same as sourceinsight.

I've never used sourceinsight. If you are wanting more of a global override then that may be a better way to use this setting but it would have to be clear to the user. If this is the intent I can offer some code suggestions but want to make sure that's the plan.

my next plan: In edit menu support space and tabs convert command(like sourceinsight)

Converting between tabs and spaces is definitely useful.

support multi instance of notepadnext(like source insigt), because i will open almost 3 project in work

Also useful but would take alot more changes that would be worth discussing before code changes are made.

I am trying to modify it now. Thinking is: 1) Keep the default mode single, when user choose multi-instance config than change to multi-instance and ohter instance can be to start 2) NotepadNextApplication not inherit form SingleApplication, but use composition mode.

If i debug ok, i will summit a PR to review.

— Reply to this email directly, view it on GitHub https://github.com/dail8859/NotepadNext/pull/642#issuecomment-2366803996, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHAIU7BL6UFWT4EUEHGWHNDZX3EWFAVCNFSM6AAAAABOT6XPWWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRWHAYDGOJZGY. You are receiving this because you modified the open/close state.

MeiyongYu commented 2 months ago

On Sep 22, 2024, at 10:11 PM, dail8859 @.***> wrote:

I don't know if you can understand Chinese.

I cannot.

I am using macOS now, but macOS does not support source insight. I want to add the source insight feature I like to NotepadNext.

The following are the features I want to make. When I add these advanced features, I will consider maintaining the existing performance of NotepadNext. Do you have any suggestions?

Basic functions:

Turn off auto-completion, resulting in space errors --close Support tab and space conversion (from notepad++) Agreed.

Support highlighting (from notepad++) In the future I would like some sort of wizard that could import Notepad++ settings and highlighting styles, but right now Notepad Next doesn't have a good way of managing the highlighting styles itself so probably not something worth implementing soon.

Automatically delete trailing spaces Agreed.

Full project search I guess the depends how you are defining "project".

Advanced functions:

Support function list (copy form notepad++) I am not for this feature. Notepad++ has so many issues with it's function list and it is hard to manage. This kind of feature is best left to some sort of plugin. I know Notepad Next does not have plugin support but having this kind of specific functionality that is hard to maintain is not worth having it as a core feature.

Support function jump (from ctags) Support function association (from cscope) Same as above, best to keep out of the core functionality since it could be difficult to maintain especially cross platform.

Support project management This does sound interesting but would need discussed alot more to make sure it lines up with something worth implementing.

Smart rename Again would need more details

Smart rename is when click smart rename command, will change the all symbol of project name, but only change the symbol relation name. eg: in project have : class A::function_name_1, class B::function_name_1, if change class A::function_name_1 to class A::function_name_2, will not change class B::function_name_1

Yes, this feature will use many time to develop, if i have time i will do it, and keep in my develop branch temporay.

.

If there's anything worth discussing more feel free to open a discussion so more details can be specified. I greatly appreciate people wanting to contribute to the project, but my goal is also to make sure the application is useable, maintainable, and code implemented cleanly. So I'm willing to discuss details before someone goes off and puts alot of time into a pull request that might not be implemented in the project.

— Reply to this email directly, view it on GitHub https://github.com/dail8859/NotepadNext/pull/642#issuecomment-2366807351, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHAIU7E5OKQN3X5QLDG2RV3ZX3FXRAVCNFSM6AAAAABOT6XPWWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRWHAYDOMZVGE. You are receiving this because you modified the open/close state.

dail8859 commented 2 months ago

Lets keep discussions for different features separate. If you want to discuss multi-instance or other features please open discussions so each one can be addressed. It's hard to follow this since all the formatting of the replies are missing.

MeiyongYu commented 2 months ago

okayOn Sep 23, 2024, at 03:55, dail8859 @.***> wrote: Lets keep discussions for different features separate. If you want to discuss multi-instance or other features please open discussions so each one can be addressed. It's hard to follow this since all the formatting of the replies are missing.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you modified the open/close state.Message ID: @.***>