Re: А почему бы нам не сделать что-нибудь полезное?
От: amironov79  
Дата: 24.12.24 06:02
Оценка: :))) :)))
Здравствуйте, Codealot, Вы писали:

C>Например, простая и полезная фича — сделать опцию, чтобы числа в VS показывались с сепараторами тысяч. Запрос на фичу добавили давно, но как обычно, разрабы не будут ничего делать, пока пользователи не прорвут им новую дырку в заднице.

C>https://developercommunity.visualstudio.com/t/VS-Watch-Window---Add-Option-For-Thousan/10536321
C>Проголосуем?

Подожди, все заняты: вырезают partial методы из шарпа.
А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 23.12.24 20:45
Оценка: -2 :))
Например, простая и полезная фича — сделать опцию, чтобы числа в VS показывались с сепараторами тысяч. Запрос на фичу добавили давно, но как обычно, разрабы не будут ничего делать, пока пользователи не прорвут им новую дырку в заднице.
https://developercommunity.visualstudio.com/t/VS-Watch-Window---Add-Option-For-Thousan/10536321
Проголосуем?

PS и если у кого-то есть другие несложные и полезные примеры — предлагайте.
PPS обновил ссылку на задачу
Ад пуст, все бесы здесь.
Отредактировано 24.12.2024 4:36 Codealot . Предыдущая версия . Еще …
Отредактировано 23.12.2024 21:47 Codealot . Предыдущая версия .
Re[3]: А почему бы нам не сделать что-нибудь полезное?
От: pilgrim_ Россия  
Дата: 31.03.25 20:02
Оценка: 20 (3)
Здравствуйте, Codealot, Вы писали:

_>>один раз добавил на уровне отладчика и пользуйся.


C>Как ты это себе представляешь?


По ссылке которую я привёл упоминается файл autoexp.cs, находится он где-то тут: Microsoft Visual Studio\2019\Enterprise\Common7\Packages\Debugger\Visualizers\Original\autoexp.cs .
Добавляешь, напр. в конец, нужный тебе DebuggerDisplay уровня assembly:

[assembly: DebuggerDisplay("{m_value.ToString(\"N0\", new System.Globalization.CultureInfo(\"en-US\", false) {NumberFormat = new System.Globalization.NumberFormatInfo() {NumberGroupSeparator = \"_\"}}),nq}", Target = typeof(Int32))]
[assembly: DebuggerDisplay("{m_value.ToString(\"N0\", new System.Globalization.CultureInfo(\"en-US\", false) {NumberFormat = new System.Globalization.NumberFormatInfo() {NumberGroupSeparator = \"_\"}}),nq}", Target = typeof(Int64))]


И компилишь, в самом файле даже комент приведён:
// To build this, open an elevated Developer Command Prompt and run:
// csc /t:library autoexp.cs


Студию даже перегружать не надо, autoexp.dll цепляется во время отладки. Работает вроде везде (watch/locals, всплывающий watch, immediate window), как просмотр, так и редактирование.
Re[9]: А почему бы нам не сделать что-нибудь полезное?
От: amironov79  
Дата: 25.12.24 17:02
Оценка: 9 (1) :))
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, amironov79, Вы писали:


A>>У нас, твоих фанатов, конечно же


C>А ты, видимо, президент клуба фанатов.


Нет, у нас анархо-коммунизм: постебать пообщаться имеет право каждый, никакого руководства, всеобщее самоуправление, свобода, равенство и т.д.
Re[7]: А почему бы нам не сделать что-нибудь полезное?
От: amironov79  
Дата: 25.12.24 04:44
Оценка: :)))
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, amironov79, Вы писали:


A>>так и у нас не без этого


C>У вас, царя или у вас, толпы?


У нас, твоих фанатов, конечно же
Re: А почему бы нам не сделать что-нибудь полезное?
От: pilgrim_ Россия  
Дата: 31.03.25 17:27
Оценка: 18 (2)
Здравствуйте, Codealot, Вы писали:

C>Например, простая и полезная фича — сделать опцию, чтобы числа в VS показывались с сепараторами тысяч. Запрос на фичу добавили давно, но как обычно, разрабы не будут ничего делать, пока пользователи не прорвут им новую дырку в заднице.

C>https://developercommunity.visualstudio.com/t/VS-Watch-Window---Add-Option-For-Thousan/10536321

Пробежался по ссылкам и не уловил, почему DebuggerDisplayAttribute на подходит? На SO и ссылка на использование есть. Да, не из коробки, но если очень надо — один раз добавил на уровне отладчика и пользуйся.
Re: А почему бы нам не сделать что-нибудь полезное?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.03.25 15:25
Оценка: 3 (1) :)
Здравствуйте, Codealot, Вы писали:

C>Например, простая и полезная фича — сделать опцию, чтобы числа в VS показывались с сепараторами тысяч. Запрос на фичу добавили давно, но как обычно, разрабы не будут ничего делать, пока пользователи не прорвут им новую дырку в заднице.


Попросил ДипСика:

Напиши плагин к VS 2022 реализующий отображение в коде чисел с разделителями тысяч.


Он выдал готовый код плагина. Остается только добавить во VSIX-проект, скомпилировать и проинсталлировать плагин. Пробуй, если интересно.



using Microsoft.VisualStudio.Text;
using Microsoft.VisualStudio.Text.Editor;
using Microsoft.VisualStudio.Text.Operations;
using System;
using System.Text.RegularExpressions;

namespace ThousandsSeparatorExtension
{
    [Export(typeof(IWpfTextViewCreationListener))]
    [ContentType("CSharp")]
    [ContentType("Basic")]
    [TextViewRole(PredefinedTextViewRoles.Document)]
    public sealed class NumberAdornment : IWpfTextViewCreationListener
    {
        [Import]
        public ITextUndoHistoryRegistry UndoHistoryRegistry { get; set; }

        [Import]
        public ITextBufferFactoryService TextBufferFactoryService { get; set; }

        public void TextViewCreated(IWpfTextView textView)
        {
            textView.TextBuffer.Changed += OnTextBufferChanged;
        }

        private void OnTextBufferChanged(object sender, TextContentChangedEventArgs e)
        {
            if (e.Changes.Count == 0) return;

            var buffer = sender as ITextBuffer;
            if (buffer.Properties.TryGetProperty("IsProcessing", out bool isProcessing) && isProcessing)
                return;

            buffer.Properties["IsProcessing"] = true;

            using (ITextEdit edit = buffer.CreateEdit())
            {
                foreach (var change in e.Changes)
                {
                    var line = buffer.CurrentSnapshot.GetLineFromPosition(change.NewPosition);
                    string text = line.GetText();

                    foreach (Match match in Regex.Matches(text, @"\b\d{4,}\b"))
                    {
                        string formatted = FormatNumber(match.Value);
                        if (formatted != match.Value)
                        {
                            Span span = new Span(line.Start.Position + match.Index, match.Length);
                            edit.Replace(span, formatted);
                        }
                    }
                }

                if (edit.HasEffectiveChanges)
                {
                    edit.Apply();
                }
            }

            buffer.Properties["IsProcessing"] = false;
        }

        private string FormatNumber(string number)
        {
            int cursor = number.Length - 1;
            var result = new System.Collections.Generic.Stack<char>();
            int count = 0;

            while (cursor >= 0)
            {
                result.Push(number[cursor]);
                count++;
                if (count % 3 == 0 && cursor > 0)
                    result.Push('_');
                cursor--;
            }

            return new string(result.ToArray()).Trim('_');
        }
    }
}




Попросил его сгенерить и source.extension.vsixmanifest (единственная более менее сложная часть проекта):
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
  <Metadata>
    <Identity 
      Id="ThousandsSeparatorExtension.YourName.6a5d04a1-1234-5678-90ab-cdef01234567"
      Version="1.0"
      Language="en-US"
      Publisher="Your Name" />

    <DisplayName>Thousands Separator Formatter</DisplayName>
    <Description>Adds thousand separators to numeric literals in code. Example: 12345 → 12_345</Description>
    <MoreInfo>https://github.com/yourname/vs-thousands-separator</MoreInfo>
    <License>LICENSE.txt</License>
    <Icon>icon.png</Icon>
    <Tags>formatting, numbers, readability</Tags>
  </Metadata>

  <Installation>
    <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0, 18.0)" />
  </Installation>

  <Dependencies>
    <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" Version="[4.7.2,)" />
  </Dependencies>

  <Assets>
    <Asset Type="Microsoft.VisualStudio.MefComponent" Path="ThousandsSeparatorExtension.dll" />
  </Assets>

  <Prerequisites>
    <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[17.0,)" DisplayName="Visual Studio core editor" />
  </Prerequisites>
</PackageManifest>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 28.03.2025 15:30 VladD2 . Предыдущая версия .
Re[3]: А почему бы нам не сделать что-нибудь полезное?
От: amironov79  
Дата: 24.12.24 17:03
Оценка: :))
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, amironov79, Вы писали:


A>>Подожди, все заняты: вырезают partial методы из шарпа.


C>Похоже, у меня уже образовался круг фанатов.


Re[5]: А почему бы нам не сделать что-нибудь полезное?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.04.25 16:58
Оценка: :))
Здравствуйте, Codealot, Вы писали:

C>В тикете про это буквально написано


Не нашел этого и по ссылке. Ты сам то почитай то, что написал:

I often find myself repeatedly counting digits to read the order of magnitude of large decimal numbers in the watch window (and losing my place!). For example a variable that contains an allocation size in bytes. I’d like the option to use a separator at every thousand. So rather than 7988768 we could see 7,988,768 for example, which is easier to read.


Думаю, что большинство, как и я, подумало о том, что речь о представлении литералов в коде. Почитал отзывы, коих ровно один (без учета стандартных отписок от МС):

I think that it would be better to make this option work in other debug windows too — quick watch, autos, etc. It could be implemented as an option in the VS wide settings, or as an option in the watch window’s context menu — the same way as the “Hexadecimal display” option.


Товарищ тоже пишет "было бы лучше", т.е. и он понял предложение как предложение для подсветки кода.

Так что ты распечатай и смотри на него на ночь, вспоминая какой ты был долблоом.

Ну и у нас ты обязан в теме всё описать. Никто не обязан ходить по ссылке для понимания написанного тобой.

C>Ну а твое предположение что это должно было быть просто странное.


Ты не умеешь выражать свои мысли, но пытаешься собирать единомышленников. Это смешно.

И ничего странного в представлении чисел с разделителями декад в коде я не вижу. Сам отделяю их "_" в своем коде, если они таки встречаются. Делал это еще на Немерле, где эта фича появилась впервые.

C>Кхм, как ты это себе представляешь?


Выводишь поле в отладчике, например:
_pos.ToString("N0"),ac,nq
и радуешься полученному представлению:
1 213 456 789
N0 — формат с отделением декад
,ac — заставляет пересчитывать значение при любом шаге в отладчике
,nq — заставляет отбросить кавычки у строк

Может, конечно, было бы удобнее иметь возможность менять представление прямо из контекстной манишке в отладчике (как с хексами). Но об этом стоило бы написать подробнее в запросе на фичу.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: А почему бы нам не сделать что-нибудь полезное?
От: Baiker  
Дата: 11.01.25 02:45
Оценка: 9 (1)
Здравствуйте, Codealot, Вы писали:

C> Запрос на фичу добавили давно, но как обычно, разрабы не будут ничего делать, пока пользователи не прорвут им новую дырку в заднице


Вообще не угадал! Разрабы (а по факту, куча индусни, нанятой за доширак) берутся только за то, что хоть примерно понимают на своём уровне. Ну то есть за всякие финтифлюшки.

Мои бесконечные переписывания с этими клоунами сначала свелись к тому, что САМ И НАПИШИ(!!!), затем была какая-то черезногузадерищенская реализация, споры, после чего я эту тухлую контору даже касаться больше не хочу — "всё пропало в доме биллгейтских".
Достаточно посмотреть, какой сказочный дол___б работает в их команде, чтобы понять, что искать там нечего:



Хочешь хорошую IDE с возможностью нормального расширения — про VS придётся забыть.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.04.25 08:14
Оценка: 3 (1)
Здравствуйте, undo75, Вы писали:
U>на одной из прошлых работ у одного видел настроено чтобы "!=" отображалась соответствующим символом математическим. имхо читабельность это скорее уменьшает, чем улучшает...
Это называется "лигатуры" и никакой специальной настройки не требует — достаточно выставить подходящий шрифт.
Одно время народ за этим сильно фанател, потом накал восторга ослаб. В основном — потому, что нарушается мелкий user experience: когда я вижу <=> как три символа, мне видно, куда поставить курсор, чтобы стереть нужный из них. Когда эта байда слепляется в одну стрелку, в ней не видно, куда ставить курсор. Для читаемости, конечно, лигатуры лучше (недаром математики в статьях применяют настоящие стрелки, а не комбинации из минусов, равно, и скобок).
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: А почему бы нам не сделать что-нибудь полезное?
От: velkin Земля kisa.biz
Дата: 24.12.24 00:13
Оценка: -1
Здравствуйте, Codealot, Вы писали:

C>Например, простая и полезная фича — сделать опцию, чтобы числа в VS показывались с сепараторами тысяч. Запрос на фичу добавили давно, но как обычно, разрабы не будут ничего делать, пока пользователи не прорвут им новую дырку в заднице.


Сделай если можешь и хочешь. Но лично я не рекомендую делать плагины для сторонних редакторов или IDE. Лучше сделай функционал для себя лично в полностью подконтрольной программе.

C>PS и если у кого-то есть другие несложные и полезные примеры — предлагайте.


Я уже много, что предлагал в качестве беседы, но понятно же, что за бесплатно или делаешь сам, или ничего сделано не будет. А за платно сам понимаешь.
Re: А почему бы нам не сделать что-нибудь полезное?
От: bnk СССР http://unmanagedvisio.com/
Дата: 24.12.24 01:21
Оценка: :)
Здравствуйте, Codealot, Вы писали:

C>Например, простая и полезная фича — сделать опцию, чтобы числа в VS показывались с сепараторами тысяч. Запрос на фичу добавили давно, но как обычно, разрабы не будут ничего делать, пока пользователи не прорвут им новую дырку в заднице.

C>https://developercommunity.visualstudio.com/t/add-debugger-format-specifier-to-show-numbers-with/723761
C>Проголосуем?

Проголосовал в минус (нет)

Эта фича нужна полутора землекопам.
Остальные могут использовать один из воркараундов предложенных в прилинкованном топике на stackoverflow.
Отредактировано 24.12.2024 4:31 bnk . Предыдущая версия .
Re[3]: А почему бы нам не сделать что-нибудь полезное?
От: bnk СССР http://unmanagedvisio.com/
Дата: 24.12.24 04:36
Оценка: :)
Здравствуйте, Codealot, Вы писали:

bnk>>Проголосовал в минус (нет)


C>Некоторым людям — лишь бы нагадить. Просто ради удовольствия от самого процесса.


Саечка за испуг, там невозможно в минус проголосовать, нижняя стрелка задизейблена

bnk>>Эта фича нужно полутора землекопам.


C>Чтобы читать числа было удобнее — нужно всем.


А зачем читать длинные числа в отладчике?
Re[3]: А почему бы нам не сделать что-нибудь полезное?
От: _NN_  
Дата: 30.03.25 05:55
Оценка: :)
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, VladD2, Вы писали:


VD>>Попросил ДипСика:

VD>>

VD>>Напиши плагин к VS 2022 реализующий отображение в коде чисел с разделителями тысяч.


C>Этот незамутненный ни малейшим пониманием оптимизм...

C>Ты в курсе, что такое Watch в отладчике и зачем оно используется? И какое отношение к нему имеет отображение в коде, по твоему? Если допустить что оно вообще будет работать, в чем я сильно сомневаюсь.

Под рукой нет студии, но ChatGPT предлагает готовый код.
Попробуйте:

using Microsoft.VisualStudio.DebuggerVisualizers;
using System;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Windows.Forms;

[assembly: DebuggerVisualizer(
    typeof(WatchNumberVisualizer),
    typeof(VisualizerObjectSource),
    Target = typeof(int),
    Description = "Formatted Number Visualizer")]

[assembly: DebuggerVisualizer(
    typeof(WatchNumberVisualizer),
    typeof(VisualizerObjectSource),
    Target = typeof(long),
    Description = "Formatted Number Visualizer")]

[assembly: DebuggerVisualizer(
    typeof(WatchNumberVisualizer),
    typeof(VisualizerObjectSource),
    Target = typeof(double),
    Description = "Formatted Number Visualizer")]

public class WatchNumberVisualizer : DialogDebuggerVisualizer
{
    protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
    {
        object data = objectProvider.GetObject();
        string formattedValue = FormatWithSpaces(data);

        MessageBox.Show($"Formatted Value:\n{formattedValue}", "Formatted Number Visualizer");
    }

    private string FormatWithSpaces(object number)
    {
        if (number is int i)
            return i.ToString("N0", CultureInfo.InvariantCulture).Replace(',', ' ');
        if (number is long l)
            return l.ToString("N0", CultureInfo.InvariantCulture).Replace(',', ' ');
        if (number is double d)
            return d.ToString("N2", CultureInfo.InvariantCulture).Replace(',', ' ');

        return number.ToString();
    }
}
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: А почему бы нам не сделать что-нибудь полезное?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.03.25 22:41
Оценка: :)
Здравствуйте, Codealot, Вы писали:

C>Этот незамутненный ни малейшим пониманием оптимизм...


Звучит как хамство. Давай по уважительнее и по аккуратнее.

C>Ты в курсе, что такое Watch в отладчике и зачем оно используется? И какое отношение к нему имеет отображение в коде, по твоему? Если допустить что оно вообще будет работать, в чем я сильно сомневаюсь.


Из твоего описания ни разу не ясно, что речь идет об отладчике. Ты тогда бы уточнял, что хочешь.

С представлением данных в отладчике все еще проще. Любое значение можно всегда в строку с нужным форматом преобразовать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: А почему бы нам не сделать что-нибудь полезное?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.04.25 17:55
Оценка: :)
Здравствуйте, Codealot, Вы писали:

C>Какими еще откровениями ты хочешь поделиться?


Поделюсь с тобой банами за хамское отношение.

VD>> Немерле, где эта фича появилась впервые.


C>Эта фича была еще в Алголе-68.


Думаю, что ты ошибаешься или специально врешь. В любому случае хамам тут не место.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: karbofos42 Россия  
Дата: 03.04.25 05:17
Оценка: :)
Здравствуйте, undo75, Вы писали:

U>на одной из прошлых работ у одного видел настроено чтобы "!=" отображалась соответствующим символом математическим. имхо читабельность это скорее уменьшает, чем улучшает...


Я когда VS 2022 впервые поставил себе, то там по умолчанию был шрифт Cascadia Code с лигатурами для !=, => и т.п.
Выглядит интересно, но непривычно. Если так изначально кодить, то может и нормально, но у себя это убрал )
Re[9]: А почему бы нам не сделать что-нибудь полезное?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.04.25 12:22
Оценка: :)
Здравствуйте, Codealot, Вы писали:

C>Ты не в курсе этого вопроса — ладно, со всеми бывает. Но ты даже погуглить не потрудился, а это уже намного хуже.


Гуглить здесь ложно. Я ИИ запряг. И он утверждает, что ты врешь.

Можешь опровергнуть его утверждение приведя ссылку на спеку.

C>Ну а по основному вопросу — очевидно, до тебя наконец дошло, и ты решил сделать вид, что ничего не было.


Про вачь-виндоу, я действительно не заметил. Но в любом случае, это не очевидно из твоего поста на РСДН. А ходить по ссылкам тут никто не обязан. Учесть доносить свои мысли корректно. И уж тем более выключи свою спесь и надменность приходя суда.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 24.12.24 01:02
Оценка:
Здравствуйте, velkin, Вы писали:

V>Сделай если можешь и хочешь. Но лично я не рекомендую делать плагины для сторонних редакторов или IDE. Лучше сделай функционал для себя лично в полностью подконтрольной программе.


Плавали, знаем.
Как минимум, можно просто проголосовать за этот тикет.
Ад пуст, все бесы здесь.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 24.12.24 04:11
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Проголосовал в минус (нет)


Некоторым людям — лишь бы нагадить. Просто ради удовольствия от самого процесса.

bnk>Эта фича нужно полутора землекопам.


Чтобы читать числа было удобнее — нужно всем.
Хотя, наверно, нужно расширить формулировку задачи.
Ад пуст, все бесы здесь.
Отредактировано 24.12.2024 4:16 Codealot . Предыдущая версия .
Re[4]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 24.12.24 04:39
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>А зачем читать длинные числа в отладчике?


Странный вопрос. Ну вот у меня есть переменные со значениями в сотни тысяч / миллионы, и как еще мне их читать?
А вообще, здесь есть фича с более удачной формулировкой. https://developercommunity.visualstudio.com/t/VS-Watch-Window---Add-Option-For-Thousan/10536321
Ад пуст, все бесы здесь.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 24.12.24 16:09
Оценка:
Здравствуйте, amironov79, Вы писали:

A>Подожди, все заняты: вырезают partial методы из шарпа.


Похоже, у меня уже образовался круг фанатов.
Ад пуст, все бесы здесь.
Re[4]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 24.12.24 17:04
Оценка:
Здравствуйте, amironov79, Вы писали:

Для тех, до кого не дошло:
Ад пуст, все бесы здесь.
Re[5]: А почему бы нам не сделать что-нибудь полезное?
От: amironov79  
Дата: 24.12.24 17:13
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, amironov79, Вы писали:


C>Для тех, до кого не дошло:


так и у нас не без этого
Re[6]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 24.12.24 17:39
Оценка:
Здравствуйте, amironov79, Вы писали:

A>так и у нас не без этого


У вас, царя или у вас, толпы?
Ад пуст, все бесы здесь.
Re[8]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 25.12.24 16:16
Оценка:
Здравствуйте, amironov79, Вы писали:

A>У нас, твоих фанатов, конечно же


А ты, видимо, президент клуба фанатов.
Ад пуст, все бесы здесь.
Re[10]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 25.12.24 19:34
Оценка:
Здравствуйте, amironov79, Вы писали:

A>Нет, у нас анархо-коммунизм: постебать пообщаться имеет право каждый, никакого руководства, всеобщее самоуправление, свобода, равенство и т.д.


Тогда не говори за всех.
Ад пуст, все бесы здесь.
Re: А почему бы нам не сделать что-нибудь полезное?
От: Baiker  
Дата: 11.01.25 02:48
Оценка:
Здравствуйте, Codealot, Вы писали:

C>PS и если у кого-то есть другие несложные и полезные примеры — предлагайте.


Несложно и полезно (пример из предыдущего коммента): вставлять из intellisense полный вызов метода.
Я уже удолбался вставлять скобочки и ';'. Фича — может быть и не простая в плане улавливания контекста, но точно не настолько сложная, чтобы делать её ДЕВЯТЬ ЛЕТ.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 11.01.25 18:21
Оценка:
Здравствуйте, Baiker, Вы писали:

B>Вообще не угадал! Разрабы (а по факту, куча индусни, нанятой за доширак) берутся только за то, что хоть примерно понимают на своём уровне. Ну то есть за всякие финтифлюшки.


Не "угадал", я сам в МС работал. Понимание — тоже, но обычно они просто ничего не станут фиксить, пока пользователи не начнут собираться для линчевания. Новые фичи — да, исправления — нет.

B>Достаточно посмотреть, какой сказочный дол___б работает в их команде, чтобы понять, что искать там нечего:


О, этого типа я уже читал. Он там абсолютно в каждом тикете, и постоянно несет пургу. Но вроде бы он не последний человек в C# team.
Ад пуст, все бесы здесь.
Re: А почему бы нам не сделать что-нибудь полезное?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.03.25 15:19
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Например, простая и полезная фича — сделать опцию, чтобы числа в VS показывались с сепараторами тысяч. Запрос на фичу добавили давно, но как обычно, разрабы не будут ничего делать, пока пользователи не прорвут им новую дырку в заднице.


Вариант сделать самому не рассматривается?

А разрабам это просто не нужно. В коде редко когда встречаются литералы чисел. Плюс можно прямо в литерале задать разделители пробелами:
var x = 123_456_789;

В новых версиях Шарпа это работает. Так что оно просо не стоит выделки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 28.03.25 15:58
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В коде редко когда встречаются литералы чисел.


В прогах охренительно часто встречаются числа длиннее, чем 4 цифры.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 28.03.25 16:34
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Попросил ДипСика:

VD>

VD>Напиши плагин к VS 2022 реализующий отображение в коде чисел с разделителями тысяч.


Этот незамутненный ни малейшим пониманием оптимизм...
Ты в курсе, что такое Watch в отладчике и зачем оно используется? И какое отношение к нему имеет отображение в коде, по твоему? Если допустить что оно вообще будет работать, в чем я сильно сомневаюсь.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re[4]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 30.03.25 17:20
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Под рукой нет студии, но ChatGPT предлагает готовый код.

_NN>Попробуйте:

А читать код и думать ты не пробовал?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re[4]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 31.03.25 15:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Из твоего описания ни разу не ясно, что речь идет об отладчике. Ты тогда бы уточнял, что хочешь.


В тикете про это буквально написано
Ну а твое предположение что это должно было быть просто странное.

VD>С представлением данных в отладчике все еще проще. Любое значение можно всегда в строку с нужным форматом преобразовать.


Кхм, как ты это себе представляешь?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re[2]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 31.03.25 19:47
Оценка:
Здравствуйте, pilgrim_, Вы писали:

_>один раз добавил на уровне отладчика и пользуйся.


Как ты это себе представляешь?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re[4]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 01.04.25 16:17
Оценка:
Здравствуйте, pilgrim_, Вы писали:

_>По ссылке которую я привёл упоминается файл autoexp.cs, находится он где-то тут: Microsoft Visual Studio\2019\Enterprise\Common7\Packages\Debugger\Visualizers\Original\autoexp.cs .

_>Добавляешь, напр. в конец, нужный тебе DebuggerDisplay уровня assembly:

И правда, похоже что работает.
Никаких неприятных побочных эффектов?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re[6]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 01.04.25 17:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Не нашел этого и по ссылке. Ты сам то почитай то, что написал:

VD>

VD>I often find myself repeatedly counting digits to read the order of magnitude of large decimal numbers in the watch window (and losing my place!). For example a variable that contains an allocation size in bytes. I’d like the option to use a separator at every thousand. So rather than 7988768 we could see 7,988,768 for example, which is easier to read.


Выделил для тех, кто не может осилить несколько предложений.
Так что да, распечатай и читай на ночь.

VD> И ничего странного в представлении чисел с разделителями декад в коде я не вижу. Сам отделяю их "_" в своем коде, если они таки встречаются.


Не может быть!
Какими еще откровениями ты хочешь поделиться?

VD> Немерле, где эта фича появилась впервые.


Эта фича была еще в Алголе-68.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Отредактировано 01.04.2025 17:27 Codealot . Предыдущая версия . Еще …
Отредактировано 01.04.2025 17:10 Codealot . Предыдущая версия .
Re[5]: А почему бы нам не сделать что-нибудь полезное?
От: pilgrim_ Россия  
Дата: 01.04.25 17:16
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Никаких неприятных побочных эффектов?


Не знаю, но в приведённом мною примере много аллокаций, можно вынести форматирование в отдельный статический класс (который в этом же файле и написать), со статическим полем культуры с нужным разделителем и методом типа FormatNumber, который и вызывать из атрибута, тогда будет минимум алокаций.
Re[8]: А почему бы нам не сделать что-нибудь полезное?
От: Codealot Земля  
Дата: 02.04.25 22:11
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Думаю, что ты ошибаешься или специально врешь.


Ты не в курсе этого вопроса — ладно, со всеми бывает. Но ты даже погуглить не потрудился, а это уже намного хуже.

Ну а по основному вопросу — очевидно, до тебя наконец дошло, и ты решил сделать вид, что ничего не было.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Ад пуст, все бесы здесь.
Re: А почему бы нам не сделать что-нибудь полезное?
От: undo75  
Дата: 03.04.25 02:30
Оценка:
C>PS и если у кого-то есть другие несложные и полезные примеры — предлагайте.
C>PPS обновил ссылку на задачу

на одной из прошлых работ у одного видел настроено чтобы "!=" отображалась соответствующим символом математическим. имхо читабельность это скорее уменьшает, чем улучшает...
Re[3]: А почему бы нам не сделать что-нибудь полезное?
От: Baiker  
Дата: 13.04.25 18:39
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, Baiker, Вы писали:


B>>Вообще не угадал! Разрабы (а по факту, куча индусни, нанятой за доширак) берутся только за то, что хоть примерно понимают на своём уровне. Ну то есть за всякие финтифлюшки.


C>Не "угадал", я сам в МС работал. Понимание — тоже, но обычно они просто ничего не станут фиксить, пока пользователи не начнут собираться для линчевания. Новые фичи — да, исправления — нет.


Разве у руководства(но больше у прогеров VS) не должно быть какого-то "инженерного видения", какая фича стóит свеч, а какую можно задвинуть? Опираться чисто на голоса — с такой "демократией" можно докатиться до ловли Покемонов прям в студии. Инженеры обязаны видеть чуть дальше носа — насколько фича повысит продуктивность. И потом, добавление фич поверх СТАРЫХ БАГОВ создаёт ещё больший трэш, который потом уже ничем не исправить.
Собственно, в одном комменте разраб так и сказал — с текущим API студии реализовать твою фичу нельзя (это я предлагал полную замену intellisense).


B>>Достаточно посмотреть, какой сказочный дол___б работает в их команде, чтобы понять, что искать там нечего:


C>О, этого типа я уже читал. Он там абсолютно в каждом тикете, и постоянно несет пургу. Но вроде бы он не последний человек в C# team.


Если ЭТО — "не последний", представляю, какие там "рядовые" ) Надеюсь, весь этот тараканник наконец разгонят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.